procedure WorkThread.UpDateProc; begin Form1.Memo1.Lines.add(link); end;
procedure WorkThread.Execute; var x:word; begin for x := 0 to Form1.WebBrowser1.OleObject.Document.Links.Length -1 do begin link := Form1.WebBrowser1.OleObject.Document.Links.Item(x); Synchronize(UpDateProc); end; end;
В треде все вроде в порядке. Покажи-ка текст unit1 (или скинь на мыло) , похоже глюк там. Что такое link? OleObject.Document.Links вообще существует и не пустой ли?
----------------------------------------------------
unit Unit2;
interface
uses
Classes;
type
WorkThread = class(TThread)
private
{ Private declarations }
procedure UpDateProc;
protected
procedure Execute; override;
end;
implementation
uses Unit1;
{ WorkThread }
var
link: string;
procedure WorkThread.UpDateProc;
begin
Form1.Memo1.Lines.add(link);
end;
procedure WorkThread.Execute;
var
x:word;
begin
for x := 0 to Form1.WebBrowser1.OleObject.Document.Links.Length -1 do
begin
link := Form1.WebBrowser1.OleObject.Document.Links.Item(x);
Synchronize(UpDateProc);
end;
end;
end.
----------------------------------------------------
При компиляции все нормально но когда запускаешь поток то ошибка... в чем тут дело ?