![]() |
Delphi-Version: 5
innerhalb TThread: Problem mit IXMLHTTPRequest bzw. CoXMLHTTP
Hi!
Ich möchte gerne Informationen von Webseiten innerhalb eines TThread-Objekts abrufen (quasi im Hintergrund), damit währenddessen der User ohne Beeinträchtigung mit dem Programm arbeiten kann. Ich benutze dazu die unit MSXML2_TLB. An der Stelle, wo
Code:
steht (req ist vom Typ IXMLHTTPRequest), bekomme ich - wenn der Code ausgeführt werden soll - die folgende Fehlermeldung:
req := CoXMLHTTP.Create;
Project ... raised exception class EOleSysError with message 'CoInitialize wurde nicht aufgerufen'. Process stopped. Use Step or Run to continue. Es wäre sehr nett, wenn mir jemand weiterhelfen könnte, denn das sagt mir überhaupt nichts. Wie gesat, meine Absicht ist nur, dass im Hintergrund eine Website abgerufen wird. Hier ein minimales Code-Beispiel, wo der Fehler auftritt:
Delphi-Quellcode:
unit Unit1;
... type TForm1 = class(TForm) ... private Fred: TFred; ... end; ... implementation {$R *.dfm} procedure TForm1.FormCreate(Sender: TObject); begin Fred := TFred.Create(True); end; procedure TForm1.Button1Click(Sender: TObject); begin Button1.Enabled := False; Fred.Resume; end; end.
Delphi-Quellcode:
Der Fehler tritt dabei exakt an folgender Stelle auf:
unit uTFred;
... type TFred = class(TThread) private FSeite: String; procedure HoleSeite; protected procedure Execute; override; end; implementation uses MSXML2_TLB, OleCtrls; procedure TFred.Execute; begin HoleSeite; end; procedure TFred.HoleSeite; var req: IXMLHTTPRequest; begin // FEHLER AN DIESER STELLE: req := CoXMLHTTP.Create; // exakte Stelle innerhalb der Create-Methode s. nächster Code-Block... req.open('GET', 'http://www.delphipraxis.net/', False, {Username} EmptyParam, {Passwort} EmptyParam); req.send(EmptyParam); FSeite := req.responseText; end; end.
Delphi-Quellcode:
Wo liegt das Problem? Bitte um Nachsicht, habe bisher weder mit Threads noch mit WWW-Funktionen gearbeitet.
unit MSXML2_TLB;
... implementation ... class function CoXMLHTTP.Create: IXMLHTTPRequest; begin Result := CreateComObject(CLASS_XMLHTTP) as IXMLHTTPRequest; end; Beste Grüße! Robert PS: Ich benutze Delphi 6. |
AW: innerhalb TThread: Problem mit IXMLHTTPRequest bzw. CoXMLHTTP
|
AW: innerhalb TThread: Problem mit IXMLHTTPRequest bzw. CoXMLHTTP
Zitat:
Wenn du nach diesen Fehlertext " ![]() |
AW: innerhalb TThread: Problem mit IXMLHTTPRequest bzw. CoXMLHTTP
Oh, wie peinlich - das hätte ich ja nun wirklich finden finden können :oops:
Vielen Dank für eure Hilfe :thumb: - ich gelobe Besserung :wink: Beste Grüße! Robert |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:06 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz