Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.09.14;
Скачать: CL | DM;

Вниз

beginthread   Найти похожие ветки 

 
Res   (2008-08-02 04:29) [0]

Здравствуйте. Проблема в том что при создании потока в Label появляется всякая белебурда, вместо посылаемого значения.. подскажите в чем проблема


procedure thread(param:pointer);
var
command:^string;
smail:string;
begin
command:=param;
smail:=command^;
form1.Label1.Caption:=smail;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
smail:string;
id:LongWord;
begin
smail:="aaaa";
BeginThread(nil,0,Addr(thread),Addr(smail),0,id);

end;


Заранее благодарен.


 
Riply ©   (2008-08-02 09:13) [1]

Потому что ты не чукча-читатель :)

P.S.
1. На любом форуме есть статьи по работе с нитями.
2. У тебя есть исходники TThread
3. В Demos есть хороший пример по работе с нитями
4. И наконец существует MSDN
5. Про гугл уж я помалкиваю :)

Не... ты не удосужился никуда заглянуть хоть одним глазком, хотя бы ради интереса.


 
Anatoly Podgoretsky ©   (2008-08-02 11:03) [2]

До пунктов 1-5 еще рано, он не умеет работать с Паскалем, базовой теории не знает, что толку искать в статьях, если он в них ничего не поймет.


 
Loginov Dmitry ©   (2008-08-02 12:50) [3]

> подскажите в чем проблема


основная в том, что ты не понимаешь, что этот код делает.

1) Ты передаешь в BeginThread() адрес локальной переменной с ограниченным временем жизни. Это глупо, хотя возможно и прокатить в случае, когда строке присвоена константа (но в общем случае работать не будет).

2) Общащаешься к VCL из дополнительного потока. Этого делать НЕЛЬЗЯ!!! Используй для обращения к VCL SendMessage() либо TThread.Syncronize() ( http://www.delphikingdom.com/asp/viewitem.asp?catalogid=1370 )

3) Что за танцы с бубном:
command:=param;
smail:=command^;

?

4) Не мучай фукнцию BeginThread(). Изучи наконец класс TThread, примеров работы с ним - море. Заведи строковое поле, ему свою строку присваивай.



Страницы: 1 вся ветка

Текущий архив: 2008.09.14;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.024 c
2-1217517420
self.name
2008-07-31 19:17
2008.09.14
insert в TFileStream


2-1217607306
woma
2008-08-01 20:15
2008.09.14
TList или Array


2-1217770915
mokmoc
2008-08-03 17:41
2008.09.14
TLabel + Paint + Align


13-1120576971
Anatoly Podgoretsky
2005-07-05 19:22
2008.09.14
С днем рождения


3-1205489996
Павел Калугин
2008-03-14 13:19
2008.09.14
Грабли с MySql