Использование покадрового кода для очереди - PullRequest
1 голос
/ 17 мая 2011

Итак, у меня есть программа, которая запускает симуляцию

. Когда вы выбираете модель, она открывает экран, который позволяет вам выбрать «Запуск модели», который открывает другой экран, в котором вы можете нажать кнопку запуска.

Я хочу создать очередь, чтобы пользователь мог выбрать несколько моделей, и программа могла бы проходить через эти экраны без ввода пользователя

Итак, я вызываю кадр, подобный этому:

ProgForm := TProgressForm.Create(Self, FModItem);
Self.Visible := False;
try
 ProgForm.ShowModal;

Теперь я могу запустить программу, добавив строку в конце Create, чтобы запустить симуляцию, но проблема в том, что она не показывает кадр до конца симуляции (так какконструктор Create не завершается до тех пор, пока не завершится функция запуска, которую я вызвал)

Я не уверен, что делать, так как если я ничего не добавлю в вызываемую функцию Create,Кажется, нет другого способа автоматически вызывать какую-либо функцию, но если я что-то делаю в Create, кадр не отображается до тех пор, пока Create не завершится

Спасибо

1 Ответ

1 голос
/ 17 мая 2011

Предлагаю прочитать:

http://delphi.about.com/od/formsdialogs/a/delphiformlife.htm

Вы можете использовать событие формы OnShow, чтобы выполнить какие-либо действия до того, как форма будет полностью нарисована на экране.
OnActivateобычно лучше всего делать вещи, когда форма нарисована.

BTW
вы говорите Frame, но в вашем коде написано TProgressForm, так что я предполагаю, что вы имеете в видуForm с Frame внутри.

...