Форум: "Потрепаться";
Текущий архив: 2003.08.14;
Скачать: [xml.tar.bz2];
ВнизСложная и долгая задача Найти похожие ветки
← →
Ich Hasse (2003-06-11 14:04) [0]Как сделать, чтобы приложение не подвисало при начале долгой и сложной процедуры?
Заранее большое спасибо, только приведите пример пожалуйста.
← →
jel (2003-06-11 14:10) [1]Либо Application.ProcessMessages в цикле долгой и сложной процедуры, либо в отдельном потоке ее выполнять. Примеры в справке.
← →
Ich Hasse (2003-06-11 14:13) [2]А как в отдельном потоке? И приложения у меня на API, откуда здесь Application.ProcessMessages?
← →
jel (2003-06-11 14:16) [3]
> И приложения у меня на API
Из вопроса это не ясно.
> А как в отдельном потоке?
The CreateThread function creates a thread to execute within the address space of the calling process.
← →
Ich Hasse (2003-06-11 14:18) [4]> Из вопроса это не ясно.
Зато из темы форума ясно
> The CreateThread function creates a thread to execute within
> the address space of the calling process.
ну а пример
← →
jel (2003-06-11 14:20) [5]
> ну а пример
Ну а справку почитать?
← →
Ich Hasse (2003-06-11 14:23) [6]Там примера нету... а мне нужен именно пример
← →
Крот (2003-06-11 14:38) [7]Посмотри исходники класса TThread и функции Application.ProcessMessages
← →
Digitman (2003-06-11 14:39) [8]
> Ich Hasse
открываешь исх.текст модуля, где определен и реализован класс TThread - вот тебе и пример.
← →
Ich Hasse (2003-06-11 14:45) [9]там слишком криво, плюс еще эта классовая структура, заманаешься летать по всем функциям. Люди, ну что жалко пример что ли? Дайте просто текст.
есть процедура
procedure SuperAction;
begin
...
end;
Как выделить сделать так, чтобы ничего не зависло ри ее выполнении и все...
← →
jel (2003-06-11 14:50) [10]
function MainServiceThread(p:Pointer):DWORD;stdcall;
begin
что-то делаем
end;
var
ThID : Cardinal;
hThread:=CreateThread(nil,0,@MainServiceThread,nil,0,ThID);
и ждем его завершения
WaitForSingleObject(hThread,INFINITE);
закрывая после этого его дескриптор
CloseHandle(hThread);
← →
Digitman (2003-06-11 14:51) [11]
> Ich Hasse
> там слишком криво, плюс еще эта классовая структура, заманаешься
> летать по всем функциям
непонятно, зачем тебе вообще Делфи в таком случае)))
← →
Ich Hasse (2003-06-11 14:59) [12]
> непонятно, зачем тебе вообще Делфи в таком случае)))
я бы с удовольствием и на assembler писал, да только там слишком много кода. Потому пишу только используя API. Но пишу только простые программы
← →
Serg11 (2003-06-11 14:59) [13]http://epg2000.narod.ru/create_threads_without_tthread.shtml.htm
вот ссылка на пример
← →
Digitman (2003-06-11 15:10) [14]
> Ich Hasse
> я бы с удовольствием и на assembler писал, да только там
> слишком много кода
а в Делфи-приложении, делающем то же самое, "простое", но используещем на полную мощь все преимущества VCL, надо понимать, "слишком мало кода" ? Надо ж ведь обязательно, беспричинно отказавшись от VCL, изнасиловать себя лихорадочной стыковкой Паскаль-синтаксиса и WinAPI-интерфейса, описание и C-синтаксис которого присутствует во всей красе на msdn.microsoft.com ?
Страницы: 1 вся ветка
Форум: "Потрепаться";
Текущий архив: 2003.08.14;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.006 c