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

Вниз

Приховування форми перед запуском довго викон. алгоритму Знайти схожі гілки


Андрусь   (2002-12-10 14:23) [0]

Привіт всім! Таке питання виникло: в додатку запускається довго працює алгоритм proc1.Он запускається з модальної форми, яка перед запуском закривается.На ділі ж виходить, що форма не ховається, а висить до тих пір поки proc1 НЕ отработает.Одін "розумний" товариш насоветовал запускати proc1 на подію OnIdle пріложенія.Но по-моєму це не вихід. Порадьте, що робити, щоб працювало, як задумано.Зараннее всім вдячний!



Diouzshev   (2002-12-10 14:29) [1]

дивно!
все повинно бути ОК!
якщо так робиш:
procedure btnShowDialogClick (Sendr: TObject); begin if dlgStartAlgorithm.ShowModal = mrOk then begin StartAlgorithm; end; end;



Skier   (2002-12-10 14:35) [2]

> Андрусь

Не допоможе ?

було
StartAlgorithm: TStartAlgorithm;
починати
StartAlgorithm: = TStartAlgorithm.Create (...)
намагатися
if StartAlgorithm.ShowModal = mrOk then begin
StartAlgorithm.Hide;
StartLongAlgorithm;
end; // if
в кінці кінців
FreeAndNil (StartAlgorithm);
end; // try





Anatoly Podgoretsky   (2002-12-10 14:35) [3]

Повідомлення системи обробив?



Андрусь   (2002-12-10 18:21) [4]

> Skier, Diouzshev
Так було опробавано раніше, так не працює.
> Anatoly Podgoretsky
Які ви мали на увазі.



FreeLancer   (2002-12-10 18:23) [5]

Запускай його не з цієї форми, а в формі тільки питай "Запустити чи не варто?"



Андрусь   (2002-12-10 19:28) [6]

> FreeLancer © (10.12.02 18: 23)
А що по твоєму описано вище.



Юрий Зотов   (2002-12-10 19:51) [7]

procedure btnShowDialogClick (Sendr: TObject);
було
StartOK: boolean;
починати
with TDlgStartAlgorithm.Create (nil) do
try
StartOK: = ShowModal = mrOk
finally
Free
end;
if StartOK then StartAlgorithm
end;

І ще пара слів.

1. Взагалі-то, для таких речей існує MessageBox. Навіщо плодити зайві форми?

2. Можливо, є сенс винести довго працює алгоритм в окремий потік.



Андрусь   (2002-12-12 14:43) [8]

Та ні, все одно працює як раніше.
1.MessageBox там не підійде - там сосложнее (настройки і т.п.).
2.Мне здається, немає в цьому смисла.Пользователь не повинен нічого чіпати протягом роботи алгоритму.



Александр Спелицин   (2002-12-13 00:49) [9]

procedure btnShowDialogClick (Sendr: TObject);
було
StartOK: boolean;
починати
with TDlgStartAlgorithm.Create (nil) do
намагатися
StartOK: = ShowModal = mrOk
в кінці кінців
безкоштовно
end;
if StartOK then
починати
Application.ProcessMessages;
StartAlgorithm;
end;
end;



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

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

Вгору





Пам'ять: 0.57 MB
Час: 0.035 c
3-74599
габбер
2002-12-04 20:21
2002.12.23
Шановні майстри!


1-74816
сатир
2002-12-09 13:25
2002.12.23
TListView: OnResizeColumn - запропонуйте аналог


4-75057
KPV-10k
2002-11-08 22:22
2002.12.23
Використання функції NtQuerySystemInformation


14-74909
Anatoly Podgoretsky
2002-11-29 07:37
2002.12.23
Іменинники 29 листопада


1-74765
Kibitzer
2002-12-09 22:53
2002.12.23
TWebApplication & TThread





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