![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Выполнение команд до создания окна в МСК
BMouradov © (2009-01-26 13:52:00)Добрый день!
Подскажите, где правильнее расположить команды, которые нужно выполнить до создания главного окна?
Что-нибудь вроде этого:
begin // PROGRAM START HERE -- Please do not remove this comment
if (ParamCount <> 1) or (ParamStr(1) <> '/Auto') then begin
LogFileOutput('error.log', 'Параметры заданы неверно');
exit;
end;
{$IFDEF KOL_MCK} {$I Project1_0.inc} {$ELSE}
Application.Initialize;
Application.CreateForm(TMainForm, MainForm);
Application.Run;
{$ENDIF}
end.
Если так оставить, то МСК при первом же обновлении переносит текст внутрь комментария.
Смотрел в Project1_0.inc, но там первой же строкой идет NewMainForm( MainForm, nil );, т.е. сначала создается окно, а потом выполняются другие inc-файлы.
Можно отказаться от МСК, можно попытаться использовать initialization, но как-то всё коряво выглядит, нет ли более простого решения?
D[u]fa (2009-01-28 12:47:00) [1]....
NewForm1( Form1, nil );
{$I ..._1.inc}
{$I .._2.inc}
{$I .._3.inc}
Run( Form1.Form ); - только после выполнения этого форма станет видимой
....
конечно если хочешь ничего не создавать, а сразу вырубить приложение то вариант не совсем подходит
BMouradov (2009-01-28 09:36:00) [2]Это да, но перед имя_проекта_1.inc выполняется имя_проекта_0.inc, а там первой же строкой стоит NewForm1( Form1, nil );
И вот не пойму - то ли в описании ошибка, то ли рекомендуют всегда сначала создавать форму, не показывая ее, прежде чем выполнять какой-либо код.
D[u]fa (2009-01-26 18:25:00) [3]{ имя_проекта_1.inc
This file is for you. Place here any code to run it
just following Applet creation (if it present) but
before creating other forms. E.g., You can place here
<IF> statement, which prevents running of application
in some cases. TIP: always use Applet for such checks
and make it invisible until final decision if to run
application or not. }
для выполнения кода перед созданием формы...
BMouradov (2009-01-26 17:01:00) [4]Неординарно! Я попробую, спасибо!
Дмитрий К (2009-01-26 14:57:00) [5]Кажется, нашел решение.
...
{$IFDEF KOL_MCK} {$I before.inc} {$ENDIF}
begin // PROGRAM START HERE -- Please do not remove this comment
...
before.inc:
begin
...
{$I Project1_0.inc}
end.
Дмитрий К (2009-01-26 14:26:00) [6]> Дмитрий К © (26.01.09 14:15) [1]
Пардон. Неправ.
Дмитрий К (2009-01-26 14:15:00) [7]{$IFDEF KOL_MCK} {$I before.inc} {$I Project1_0.inc} {$ELSE}