Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.01.22;
Скачать: 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 вся ветка

Текущий архив: 2006.01.22;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.043 c
2-1136460168
Vek
2006-01-05 14:22
2006.01.22
Как сделать чтобы открывался текстовый файл в блокноте


2-1136544210
Bopros
2006-01-06 13:43
2006.01.22
Маленькой приложение с Build with runtime packages


1-1134906574
The Only
2005-12-18 14:49
2006.01.22
wm_keydown и memo


14-1135341979
IAmDanil
2005-12-23 15:46
2006.01.22
Input-Output


6-1129205876
Kimer
2005-10-13 16:17
2006.01.22
Отправка e-mail