منزل
Top.Mail.Ru Yandeks.Metrika
المنتدى: "Main";
الأرشيف الحالي: 2002.01.08;
تنزيل: [xml.tar.bz2];

إلى

كيفية مقاطعة إطلاق الملف القابل للتنفيذ؟ البحث عن فروع مماثلة


Tupnyk   (2001-12-19 18:59) [0]

في المشروع m / y application.initializ ... و application.run اعتمادًا على بعض الوظائف وأين يجب تنفيذه إذا كانت النماذج ما زالت قيد الإنشاء؟



Юрий Зотов   (2001-12-19 19:21) [1]

Как это где? Там и выполнять, где нужно - перед Application.Run.

Жмете в меню: Project | View Source. Открывается текст DPR и в нем ручками пишете нужный код в нужном месте. А чтобы прервать запуск, можете написать Halt, либо используйте if - например, так:

Application.Initialize.
if <проверка условия> then
بدأ
Application.CreateForm(...);
Application.CreateForm(...);
...
Application.Run
النهاية
نهاية.



Дремучий   (2001-12-19 19:28) [2]

أو
....
Application.Initialize;
if <проверка условия>
then Application.Terminate
else Application.Run;
end.




Юрий Зотов   (2001-12-19 19:36) [3]

> Дремучий © (19.12.01 19:28)

Application.Run - запускает цикл выборки сообщений.
Application.Terminate - посылает сообщение WM_QUIT.

Поэтому крайне интересно узнать - как же может сработать Application.Terminate, если Application.Run не было вызвано?



Tupnyk   (2001-12-19 21:07) [4]

А если часть условия должна быть получена в результате выполнения некоторой функции, то где эта сама функция должна выполняться?



y-soft   (2001-12-19 21:26) [5]

>Tupnyk
Можно последовать совету Юрия Зотова, но
если есть возможность, то лучше всего производить проверку еще до вызова Application.Initialize, а именно в секции Initialization самого первого загружаемого модуля, и при необходимости там же прерывать выполнение приложения простым вызовом Halt. Т.е. создать специальный модуль для этой цели и поместить его первым в USES файла .DPR



Юрий Зотов   (2001-12-19 21:35) [6]

> Tupnyk (19.12.01 21:07)

Наверное, все же не "выполняться", а "располагаться". Ответ - где угодно, лишь бы она была "видна" из DPR. То есть, хоть в самом DPR, хоть в любом прописанном в нем модуле.




Tupnyk   (2001-12-19 22:19) [7]

شكرا لك!



Дремучий   (2001-12-19 22:36) [8]

2 Yuri Zotov © (19.12.01 19: 36)
просто програма будет завершаться не по Application.Terminate;,
а по
نهاية.

Вы правы, тем не менее такой код ошибки не выдает...

program Project1;

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

{$R *.RES}

begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.Terminate;
//Application.Run;
end.



Юрий Зотов   (2001-12-19 22:43) [9]

> Dense © (19.12.01 22: 36)

> Такой код ошибки не выдает...

А с чего бы ему выдавать ошибку? Конечно, не выдает. Но и ничего не делает: если Application.Terminate просто выкинуть, то будет точно то же самое - завершение по end. Что и было показано в примере.





صفحات: 1 فرع كامل

المنتدى: "Main";
الأرشيف الحالي: 2002.01.08;
تنزيل: [xml.tar.bz2];

الطابق العلوي









الذاكرة: 0.58 ميغابايت
الوقت: 0.037 ج
1-22265
Ser_Kham1
2001-12-17 16:10
2002.01.08
مربع القائمة


3-21946
طقم
2001-12-05 00:08
2002.01.08
مرة أخرى العمل مع القواعد


4-22490
SergeyDonetsk
2001-11-06 09:22
2002.01.08
كما هو الحال في API ، يمكنك معرفة التعامل مع Canvas واسأل


4-22478
روس
2001-08-28 16:53
2002.01.08
القائمة ابدأ


7-22436
Serg2
2001-09-26 18:23
2002.01.08
تقليل كل النوافذ





الأفريكانية الألبانية عربي الأرميني أذربيجان الباسكي البيلاروسية Bulgarian التشيكية الصينية المبسطة) تقاليد صينية) الكرواتية التشيكية دانماركي Dutch أنجليزي الإستونية الفلبينية Finnish جيب
الجاليكية الجورجية الألمانيّة اليونانيّة الكريولية الهايتية اللغة العبرية الهندية الهنغارية أيسلندي Indonesian الأيرلندية Italian اليابانيّة الكوريّة اللاتفية اللتوانية المقدونية الملايو المالطية Norwegian
اللغة الفارسية بولنديّة البرتغاليّة رومانية Russian صربي السلوفاكيّة سلوفيني إسباني السواحيلي Swedish Thai التركية الأوكراني الأردية الفيتنامية ويلزي اليديشية البنغالي البوسنية
السيبيونو الاسبرانتو الغوجاراتية الهوسا همونغ الإيبو جاوي الكانادا الخمير لاو لاتينية الماوري المهاراتية المنغولية النيبالية البنجابية الصومالية التاميل التيلجو اليوروبا
زولو
Английский Французский ألماني Итальянский البرتغالية Русский Испанский