|
#1
|
|||
|
|||
Потоки в dll
Здравствуйте!
В приложении есть главная форма на ней кнопка при нажатии на которую загружается dll. Dll содержит содержит одну форму(form4) и модуль потока(unit2). На форме расположена кнопка (Button1) и поле ввода (Edit1). При нажатии на кнопку нужно запустить поток из которого значение edit1.text увеличивается на определенную величину. Объясните почему не работает следующий код: Код:
unit Unit2; //модуль потока interface uses Classes,SysUtils,unit4; type potok = class(TThread) var i:integer; procedure asd; private protected procedure Execute; override; end; implementation procedure potok.asd; begin form4.edit1.text:=inttostr(i); end; procedure potok.Execute; begin while 1=1 do begin synchronize(asd); inc(i); end; end; end. unit unit4 //модуль формы mplementation uses unit2; {$R *.dfm} var p : potok; procedure TForm4.Button1Click(Sender: TObject); begin p:=potok.Create(true); p.Priority:=tplower; p.Resume; end; end. Этот же пример пробовал без dll все работает; Кстати если убрать синхронизацию(вместо synchronize(asd); просто имя функции) то все работает, значение edit1.text меняется. Помогите кто чем сможет Последний раз редактировалось dixter, 29.01.2009 в 14:35. |
#2
|
|||
|
|||
Народ ну кто нить знает в чем дело то
|