Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Че то с потоками

1.9K
06 марта 2006 года
Borland_prog
149 / / 25.01.2006
Получается написал компонент не важно для чего

вообщем у этого компонента свойство:


private
Factie:boolean;
procedure SetActive(value:boolean);
published

...

property Active:boolean;
read Factive
write SetActive;

procedure ThreadFunc(Data:pointer);//здесь и stdcall добавлял
begin
showmessage('test my Thread');

end;


procedure MyComponent.SetActive(value:boolean);
begin
.............
MyThread:=CreateThread(nil,0,@ThreadFunc,nil,0,MyThreadID);//здеся создаю новый поток

.........
end;



Вообщем при установке active=true делфа загинается конкретно,,, вылетает и все

Че за дела не могу понять.

Сейчас во время написания этой темы у меня мысля возникла а мож это проблемка с showmessage


Подскажите кто знает в чем косяк!!

Спасибо:) :)
11K
06 марта 2006 года
OlegIM
14 / / 06.09.2005
Дочерний поток не должен использовать методы и свойства визуальных компонентов.Точнее он может это делать только при обращении к специальному методу Synchronize. Или посылая сообщение (типа PostMessage(); ) главному потоку.
5
06 марта 2006 года
hardcase
4.5K / / 09.08.2005
Цитата:
Originally posted by OlegIM
Дочерний поток не должен использовать методы и свойства визуальных компонентов.Точнее он может это делать только при обращении к специальному методу Synchronize. Или посылая сообщение (типа PostMessage(); ) главному потоку.


Чтобы создать поток в делфи лучше пользоваться BeginThread, а функция нитки - это функция с прототипом function (Param: pointer): integer; и никаких стд-коллов - это для BeginThread. CreateThread а будет требовать stdcall.
тобы выплнить синхронизацию с главным потоком приложения нада выполнять TThread.Synchronyze(nil, MyProc);

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог