Головна сторінка
Top.Mail.Ru Яндекс.Метрика
Форум: "Основна";
Поточний архів: 2002.01.08;
Завантажити: [xml.tar.bz2];

Вниз

Як перервати запуск файлів? Знайти схожі гілки


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

У Проекті м / у 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
кінець
end.



Дремучий   (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 Юрій Зотов © (19.12.01 19: 36)
просто програма буде завершуватися не по Application.Terminate ;,
а по
end.

Ви маєте рацію, проте такий код помилки не видає...

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]

> Дрімучий © (19.12.01 22: 36)

> Такий код помилки не видає ...

А з чого б йому видавати помилку? Звичайно, не видає. Але і нічого не робить: якщо Application.Terminate просто викинути, то буде точно те ж саме - завершення по end. Що і було показано в прикладі.





сторінки: 1 вся гілка

Форум: "Основна";
Поточний архів: 2002.01.08;
Завантажити: [xml.tar.bz2];

наверх









Пам'ять: 0.58 MB
Час: 0.026 c
1-22134
Роско
2001-12-15 12:54
2002.01.08
А таке вже є?


3-21905
nic406
2001-11-28 04:21
2002.01.08
Help! Роблю Select * From T1 -> refresh -> помилка (ADODataSet)


1-22121
Сталін
2001-12-18 00:20
2002.01.08
Нова проблема: + (


1-22088
Mikhalyov Dmitry
2001-12-19 14:58
2002.01.08
виклик події з програми


7-22423
Alex_K_xelA
2001-09-21 18:55
2002.01.08
Читання секторів з CD-ROM





африкаанс албанський арабська вірменин азербайджанець баскський білоруський болгарська каталонський Китайська (спрощене письмо) Китайський традиційний) хорватський чеська данську мову нідерландський Ukranian естонець Філіппінська фінську мову французький
галісійська грузинський німецький грецький гаїтянський креольський давньоєврейську хінді угорський ісландський індонезієць ірландський італійський японський корейський латиська литовець македонець малайський мальтійський норвежець
перс полірування португальська румунський російська сербський словацький словенський іспанська суахілі шведську мову тайський турецька український урду в'єтнамський валлійський ідиш бенгальський боснійський
кебуано есперанто гуджараті хауса хмонг ігбо яванський каннада кхмерская Лао латинь маорі маратхі монгольський непальська панджабі сомалійський тамільська телугу йоруба
зулуський
Англійська Французький Німецький Італійський Португальська Русский Іспанська