|  | 
 
 | 
| 
			 
			#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  
			
			
			
			
		 | |||
| 
 | |||
|   Народ ну кто нить знает в чем дело то |