![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#16
|
||||
|
||||
![]() у меня есть) Form1.memo1.Lines.add('lllll'); Form1.Label1.capton:='hjgj'; вот так из потока работаю с ними мб из за этого они пропадают, и через некоторое короткое время вобще вся прога подвисла.
|
#17
|
||||
|
||||
![]() вообще-то чтобы из потока с VCL компонентами работать нужно Synchronize использовать
Пишу программы за еду. __________________ |
#18
|
||||
|
||||
![]() а как собственно использовать его?
так? Synchronize(Form1.Label1.capton:='hjgj'); |
#19
|
||||
|
||||
![]() Код:
type TMyThread = class(TThread) private iParam: Integer; sParam: String; procedure JurassicPark; protected procedure Execute; override; public constructor Create(iParam: Integer; sParam: String); end; constructor TMyThread.Create(iParam: Integer; sParam: String); begin inherited Create(True); Self.iParam:=iParam; Self.sParam:=sParam; Resume; end; procedure TMyThread.Execute; begin // ... Synchronize(JurassicPark); // ... end; procedure TMyThread.JurassicPark; begin Form1.Tag:=iParam; Form1.Caption:=sParam; end; Пишу программы за еду. __________________ |
#20
|
||||
|
||||
![]() Код:
procedure TMyThread.JurassicPark; begin Form1.Tag:=iParam; Form1.Caption:=sParam; end; Код:
private iParam: Integer; sParam: String; Код:
Self.iParam:=iParam; Self.sParam:=sParam; |
#21
|
||||
|
||||
![]() да, эти переменные "в каждом потоке означают свое". инициализируются они в конструкторе, его параметрами.
Пишу программы за еду. __________________ |
#22
|
||||
|
||||
![]() Код:
procedure TMyThread.JurassicPark; begin Form1.Tag:=iParam; Form1.Caption:=sParam; end; |