Полупроблема-полубаг

отредактировано 18:39 Раздел: FastReport 4.0
Здравствуйте.

В версии 4 обнаружилась следующая проблема. Эта проблема касается в основном тех, кто помещает Fr в dll (нет запуска Application.Run). Так как окно дизайнера уничтожается по Action := caFree, то вызов DesignReport два раза подряд приводит к плачевным результатам, так как первое окно еще не уничтожено. Нельзя ли форму дизайнера уничтожать явно в коде DesignReport? Это решило бы проблему.

P.S. Проблема серьезна тем, что трудно понять природу ошибок с которыми сталкиваешься ("немотивированные" AV), можно не один час убить.

Комментарии

  • отредактировано 18:39
    Поправлено.
  • отредактировано 18:39
    К сожалению правка не работает из-за:

    Report.Designer := nil; в TfrxDesignerForm.FormClose.

    Отсюда вызов FDesigner.Free - это просто, получается, "холостой" вызов.

  • отредактировано 18:39
    Кстати проблему легко воспроизвести в основном Демо:

    так лавинообразные AV:

    procedure TForm1.DesignBClick(Sender: TObject);
    begin
    frxReport1.DesignReport;
    frxReport1.DesignReport;
    end;

    А так хорошо работает:

    procedure TForm1.DesignBClick(Sender: TObject);
    begin
    frxReport1.DesignReport;
    Application.ProcessMessages;
    frxReport1.DesignReport;
    end;

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

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