Erstellen TWebBrowser in Runtime mit Delphi
Habe ich einen TWebBrowser-Objekt, das erstellt wird, in der Laufzeit und verwendet im hintergrund, nicht sichtbar. Das problem ist, dass es Veranstaltungen wie OnDocumentComplete funktionieren nicht oder werden nicht ausgelöst, in Delphi2009. Irgendwelche Ratschläge?
procedure TfrmMain.FormCreate(Sender: TObject);
begin
FWebBrowser:= TWebBrowser.Create(Self);
FWebBrowser.RegisterAsBrowser:= True;
FWebBrowser.OnDocumentComplete:= WhenDocIsCompleted;
end;
procedure TfrmMain.WhenDocIsCompleted(ASender: TObject; const pDisp: IDispatch;
var URL: OleVariant);
begin
ShowMessage('Doc is completed!');
end;
Gibt es keinen Unterschied wichtig zwischen Navigieren und Navigate2? Wie kann ich cookies aktivieren hier?
Vielen Dank im Voraus.
- Nicht wirklich eine Antwort auf deine Frage, aber warum würdest du mit TWebBrowser wenn Sie es nicht verwenden, für die Anzeige? Wäre nicht besser, nur bekommen Sie es mit einem HTTP-Client-Komponente wie Indy TIdHTTP oder die WinInet-API, die verwendet die gleichen Einstellungen wie der IE. Siehe stackoverflow.com/questions/1823542/...
- Ich habe TidHTTP und TidCokkieManager aber Probleme mit cookies, so sah ich TWebBrowser wie eine Lösung, aber nach den tests hat es den gleichen problem.
- Also, was ist die Frage? Ist es über die cookies, oder das Ereignis? Vielleicht ist es am besten, wenn Sie getrennt auf beide Fragen.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie dieses Problem haben, da die TWebBrowser arbeitet intern eng zusammen mit dem handle des übergeordneten Formular aus, um Nachrichten von windows. Versuchen Sie es mit einem versteckten Formular, mit dem TWebBrowser auf (Optional run-Zeit sowie erstellt), und/oder zu untersuchen, wenn die HandleAllocated und HandleNeeded Methoden könnten Ihnen helfen.
Call für das OnDocumentComplete Problem:
oder in deinem Fall:
bevor Sie den Web-Browser.Navigieren Sie
Einer Komponente arbeitet perfekt mit dem web-Seiten mit cookies ist TEmbeddedWB von EmbeddedWB und ist kostenlos.