Cannot Access A Disposed Object

отредактировано October 2011 Раздел: FastReport .NET
Приложение использует объект, который уничтожается после завершения работы отчета!

Вот код : FastReport\FastReport\Forms\ProgressForm.cs

public void ShowProgressMessage(string message)
{
this.lblProgress.Text = message;
this.lblProgress.Refresh();
Application.DoEvents();
}

Вот код, который вызывается перед кодом, который использует объект.

FastReport\FastReport\ReportSettings.cs

internal void OnFinishProgress(Report report)
{
if (this.ShowProgress)
{
if (this.FinishProgress != null)
{
this.FinishProgress(report, EventArgs.Empty);
}
else if (this.FProgress != null)
{
this.FProgress.Close();
this.FProgress.Dispose();
this.FProgress = null;
}
}
}
ошибка воспроизводится только в многопоточном режиме

Комментарии

  • отредактировано 05:28
    Здравствуйте,

    Хотелось бы потестировать работающий пример. Если можно, пришлите на tz@fast-report.com.
  • отредактировано 05:28
    AlexTZ написал: »
    Здравствуйте,

    Хотелось бы потестировать работающий пример. Если можно, пришлите на tz@fast-report.com.

    работающий пример чего?
    отчета или приложения?
  • отредактировано 05:28
    Нужно тестовое приложение, воспроизводящее ошибку.
  • отредактировано 05:28
    AlexTZ написал: »
    Нужно тестовое приложение, воспроизводящее ошибку.
    Приложение тесно связано с БД.
    Только приложения будет недостаточно.
  • отредактировано 05:28
    Мне не нужно все ваше приложение. Нужен простой пример, с тестовыми отчетами. Извините, без этого я не смогу помочь.
  • отредактировано 05:28
    AlexTZ написал: »
    Мне не нужно все ваше приложение. Нужен простой пример, с тестовыми отчетами. Извините, без этого я не смогу помочь.

    отправил
  • отредактировано 05:28
    Potapov Fedor написал: »
    отправил
    пароль Fast
  • отредактировано 05:28
    ответил почтой.
  • отредактировано 05:28
    AlexTZ написал: »
    ответил почтой.
    Спасибо.
    Сегодня пересоберем.
    Результат отпишу 05.10.2011
  • отредактировано 05:28
    Получили новую ошибку после установки новой версии FastReport.Web 1.7.1.0.

    При вызове метода
    WebReport1.Report.LoadPrepared(filePath);

    Текст ошибки
    [NullReferenceException: Object reference not set to an instance of an object.]
    FastReportsServer.ReportViewer.Page_Load(Object sender, EventArgs e) in D:\Project\_NET\FRActual\FastReportsServer\FastReportsServer\ReportViewer.aspx.cs:49
    System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e) +14
    System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +35
    System.Web.UI.Control.OnLoad(EventArgs e) +99
    FastReportsServer.ApplicationPage.OnLoad(EventArgs e) in D:\Project\_NET\FRActual\FastReportsServer\FastReportsServer\ApplicationPage.cs:121
    System.Web.UI.Control.LoadRecursive() +50
    System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +627
  • отредактировано 05:28
    Вот такой код работает:
            protected void WebReport1_StartReport(object sender, EventArgs e)
            {
                WebReport1.Report.LoadPrepared(@"c:\1.fpx");
                WebReport1.ReportDone = true;
            }
    

Оставить комментарий

Многофункциональный текстовый редактор. Чтобы отредактировать стиль параграфа, нажмите TAB, чтобы перейти к меню абзаца. Там вы можете выбрать стиль. По умолчанию не выбран ни один стиль. Когда вы выберете текст, появится встроенное меню форматирования. Нажмите TAB, чтобы войти в него. Некоторые элементы, такие как многофункциональные вставки ссылок, картинок, индикаторов загрузки и сообщений об ошибок могут быть вставлены в редактор. Вы можете перемещаться по ним, используя стрелки внутри редактора и удалять с помощью клавиш delete или backspace.