Ich möchte gerne eine kleines Progrämmchen machen welches über
www.wieistmeineip.de einen Speedtest durchführt. Als "normale"
VCL-Anwendung habe ich es zum laufen bekommen. Ich möchte aber das Tool als Console haben, und da fangen die problem an...
Dies habe ich bis jetzt an Code:
Delphi-Quellcode:
program SpeedTest;
{$APPTYPE CONSOLE}
uses
OleCtrls, SHDocVw;
type
TMyClass =
class
Browser: TWebBrowser;
private
{ Private declarations }
procedure WebBrowserDocumentComplete(Sender: TObject;
const pDisp: IDispatch;
var URL: OleVariant);
protected
{...}
public
constructor Create;
reintroduce;
destructor Destroy;
override;
end;
constructor TMyClass.Create;
begin
Browser := TWebBrowser.Create(
nil);
Browser.OnDocumentComplete := WebBrowserDocumentComplete(Sender: TObject;
const pDisp: IDispatch;
var URL: OleVariant);
Browser.Navigate('
http://wieistmeineip.de/speedtest/run.php');
end;
destructor TMyClass.Destroy;
begin
Browser.free;
inherited destroy;
end;
procedure TMyClass.WebBrowserDocumentComplete(Sender: TObject;
const pDisp: IDispatch;
var URL: OleVariant);
begin
// das 'writeln' ist nur testweise
// der eigendliche Code wertet nach dem
// 2. Durchlauf die Ergebnisse der SpeedTests aus
// da beim 1. Durchlauf nur 'Test läuft' ankommt
writeln('
Document compled');
end;
begin
TMyClass.Create;
end.
Jetzt stehe ich vor dem Problem, das ich dem Browser kein Ereignis zuweisen kann:
[Fehler] SpeedTest.dpr(26): Undefinierter Bezeichner: 'Sender'
Der Fehler tritt in dieser Zeile auf:
Browser.OnDocumentComplete := WebBrowserDocumentComplete(Sender: TObject; const pDisp: IDispatch; var URL: OleVariant);
Wo liegt mein Problem??