Форум: "KOL";
Текущий архив: 2011.04.10;
Скачать: [xml.tar.bz2];
ВнизВыполнение команд до создания окна в МСК Найти похожие ветки
← →
BMouradov (2009-01-26 13:52) [0]Добрый день!
Подскажите, где правильнее расположить команды, которые нужно выполнить до создания главного окна?
Что-нибудь вроде этого:
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, но как-то всё коряво выглядит, нет ли более простого решения?
← →
Дмитрий К © (2009-01-26 14:15) [1]{$IFDEF KOL_MCK} {$I before.inc} {$I Project1_0.inc} {$ELSE}
← →
Дмитрий К © (2009-01-26 14:26) [2]> Дмитрий К © (26.01.09 14:15) [1]
Пардон. Неправ.
← →
Дмитрий К © (2009-01-26 14:57) [3]Кажется, нашел решение.
...
{$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.
← →
BMouradov (2009-01-26 17:01) [4]Неординарно! Я попробую, спасибо!
← →
D[u]fa (2009-01-26 18:25) [5]{ имя_проекта_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-28 09:36) [6]Это да, но перед имя_проекта_1.inc выполняется имя_проекта_0.inc, а там первой же строкой стоит NewForm1( Form1, nil );
И вот не пойму - то ли в описании ошибка, то ли рекомендуют всегда сначала создавать форму, не показывая ее, прежде чем выполнять какой-либо код.
← →
D[u]fa (2009-01-28 12:47) [7]....
NewForm1( Form1, nil );
{$I ..._1.inc}
{$I .._2.inc}
{$I .._3.inc}
Run( Form1.Form ); - только после выполнения этого форма станет видимой
....
конечно если хочешь ничего не создавать, а сразу вырубить приложение то вариант не совсем подходит
Страницы: 1 вся ветка
Форум: "KOL";
Текущий архив: 2011.04.10;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.006 c