Вниз
Скачать: 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.038 c
2-1135798689
JEK2
2005-12-28 22:38
2006.01.22
Передать данные в главную форму из неглавной


8-1123460022
Valera
2005-08-08 04:13
2006.01.22
Проиграть AudioCD с помощью DSPack


1-1135074624
KvORubin
2005-12-20 13:30
2006.01.22
Мастера!!! подскажите болбесу!!!


3-1132682236
tyo
2005-11-22 20:57
2006.01.22
ProgressBar во время ExecProc


2-1136390857
St74
2006-01-04 19:07
2006.01.22
Как перехватить ошибку в приложении?




   Наверх