Вниз
Скачать: CL | DM;

Секция {$I name.inc} в .DPR файле   Найти похожие ветки 

 
mmn   (2005-05-30 11:38) [0]

Такой вот вопрос.
Пишу приложение, которое в случае, если в командной строке указаны параметры, не создает никаких визуальных форм, а просто обрабатывает данные и завершает работу. Реализовал это дело так: в самом .dpr файле перед {$IFDEF KOL_MCK} проверяю на наличие параметров командной строки и если нахожу, то после отработки процедур делаю Exit, чтобы формы не создавались, и программа сразу завершалась.

Проблема в том, что когда в следующий раз открываешь этот проект, то строчка проверки {$IFDEF KOL_MCK} автоматически перемещается в самое начало секции begin (до начала моей проверки на наличие параметров) и, следовательно, после компиляции программа работает не так как задумывалось (формы создаются в любом случае). Приходится каждый раз переносить эту строчку в другое место вручную.

Это так было задумано, или я что-то не понимаю?


 
ECM ©   (2005-05-30 13:11) [1]

>Это так было задумано, или я что-то не понимаю?
... Да - так задумано...для этих целей служит файл ProjectName_1.inc:

{ ИмяПроекта_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. }


Читай внимательнее документацию...:)


 
SPeller ©   (2005-05-30 15:10) [2]

Можно делать так:

{ KOL MCK } // Do not remove this line!
{$DEFINE KOL_MCK}

program WndInfo;

uses
KOL,
 Unit1 in "Unit1.pas" {Form1};

//{$R *.res}

begin
 // Делаем всё что нам нужно, формы обрабатываем вручную, копируя текст, сгенерированный МСК.
 {$WARNINGS OFF} // Отключаем ворнинги
end.
// Текст после end с точкой игнорируется, и сгенеренный МСК код не имеет силы.

begin // PROGRAM START HERE -- Please do not remove this comment

{$IFDEF KOL_MCK} {$I WndInfo_0.inc} {$ELSE}

 Application.Initialize;
 Application.CreateForm(TForm1, Form1);
 Application.Run;

{$ENDIF}

end.


 
mmn   (2005-05-30 15:48) [3]

Спасибо за разъяснения.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.031 c
2-1136144382
ЭЭЭ
2006-01-01 22:39
2006.01.22
Мастера!!! Копирую файл и всё плохо...


2-1135845650
azl
2005-12-29 11:40
2006.01.22
Корректное завершение работы программы при выключении ПК


4-1131650096
Consigliere
2005-11-10 22:14
2006.01.22
Уважаемые господа подскажите как отключить порты.


2-1136113402
Керик
2006-01-01 14:03
2006.01.22
Немодальное окно


8-1123915661
Grief
2005-08-13 10:47
2006.01.22
_Release для D3D




   Наверх