Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Для новичков > сделать выполнение кода при открытии формы


Автор: eiffil 3.12.2007, 01:11
Вопрос может быть тупой, но все же... надо сделать приложение, чтобы при запуске после показа формы выполнялся определенный код. В каком обработчике это сделать? я делал в onCreate формы, но тогда не будет виден, например, процесс загрузки с использованием ProgressBar....
Задумка вобщем такая: запускается прога автоматом при старте винды. Пока идет выполнение определнного кода, ProgressBar на форме меняется, чтобы пользователю было видно, что прогамма запускается. Далее она сворачивается в трей (юзаю CoolTray)

Автор: WaReZMEN 3.12.2007, 01:15
Код

onShow
 

не пробовал?

Автор: eiffil 3.12.2007, 10:19
но метод onshow будет выолняться не один раз после создания формы... можно конечно сделать какой нибуть флаг, и после одного выполнения его ставить, а в onshow выполнять проверку.... 

Автор: pseud 3.12.2007, 11:25
используй сплэшскрин который 
появится один раз
будет показывать прогресс
а в фоне будут грузиться другие окна
а потом убей его и используй свой мэйнформ

Автор: lukas 3.12.2007, 18:40
поместить свой код сюды...


Код

program Run;

uses
  Forms,
  Unit1 in 'Unit1.pas' {MSB},
 ...

{$R *.res}
begin
MSB:=TMSB.Create(Nil); // Форма MSB
  MSB.Show; 
  Application.Initialize;
  ...
  ...
  ...
  Application.Run;
end.

Автор: Olegan 4.12.2007, 14:02
Код

procedure TForm1.FormActivate(Sender: TObject);


а это что не подойдет? smile 

Автор: eiffil 4.12.2007, 15:59
Цитата(Olegan @ 4.12.2007,  14:02)
Код

procedure TForm1.FormActivate(Sender: TObject);


а это что не подойдет? smile

но данный метод может быть много раз вызван у формы.
А вот метод lukas'а мне пригодился smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)