Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

CreateThread [D6, WinME, WinXP]


Lony ©   (2002-11-24 20:38:00) 

Можете привести пример с использованием CreateThread? Дело в том, что прога написана в Console. {$R *.RES}


Morfein   (2002-11-25 20:28:00) [1]

to Андрей Ваганов :
ручками через API...


Андрей Ваганов   (2002-11-25 19:21:00) [2]

2 Fantasist
дааааа, и как?


Fantasist   (2002-11-25 18:25:00) [3]


> Нельзя в потоке что либо выводить на экран.


С чего бы это? Нельзя делать определенные вещи, но что либо на экран вывести никаких проблем.


Victor_Cr   (2002-11-25 15:25:00) [4]

Нельзя в потоке что либо выводить на экран. Для этого нужно передавать в главную форму(или вообще в какую нибудь форму) сообщение, либо пользовать метод Synchronize. От этого он и ругается на канву. И вообще читайте доки - они рулез.


esu   (2002-11-25 14:44:00) [5]

А еще можно сделать свое сообщение и передавать его в главную форму, а оттуда уже отображать где угодно...


Marcus   (2002-11-25 14:35:00) [6]

А ты не юзай MessageDlg, а юзай старый добрый APIшный MessageBox. А насчет канвас - см. в source\vcl\dialogs.pas


Андрей Ваганов   (2002-11-25 13:50:00) [7]

2 asmith
...,а что делать если в потоке надо вывести MessageDlg?
Получается ругань на канвас. Причем тут канвас?


asmith   (2002-11-24 21:09:00) [8]

Это не имеет значения. Делаешь все, как обычно
var
fExecuteThread : THandle;
threadID : Integer;
...
fExecuteThread := CreateThread (Nil, 0, @ExecuteHandler, Тшд, CREATE_SUSPENDED, threadID);
где ExecuteHandler описана так:
function ExecuteHandler (param : pointer) : Integer; stdcall;
Ну и так далее



Наверх

Титульная страница Поиск, карта сайта Написать письмо