Hallo Marabu und Ihr anderen Wissenden,
ich habe nun einige Wochen versucht das Problem, welches ich immer noch damit habe, vor mir herzuschieben, oder einfach irgendwie zu umgehen, aber es fällt mir leider immer wieder auf die Füsse.
Wenn ich meine Applikation starte, werden aus Externen Dateien
XML-Dateien generiert. Eigentlich soll das Programm schon beim Createn Seiten laden und dann bei OnShow die neu Creierten Seiten anzeigen. Ich habe eine Routine, die mir für ein Frame eine bestimmte
XML-Datei erzeugt. Wenn diese Datei sich in dem Frame befindet und neu erstellt wurde, möchte ich dies natürlich Updaten.
Folgendes mache ich beim Erzeugen dieser Datei:
Delphi-Quellcode:
//listenvergleich = bei unterschiedlichen listen, soll die linkliste im ON geupdatet werden
if XML_List.CommaText <> XML_File_Is.CommaText then
//webbrowser war schon einmal fertig mit dem anzeigen der kompletten seite
if FirstRunOver then
//hier scheint das problem zu sein....denn dort geht er nicht rein
//oder er findet den member nicht
if (GetDeepDocURL('main_left')='lscore_left.xml') then //navy_live geladen
begin
//ShowMessage('links wurd lscore_left.xml gefunden');
UpdateNavyXML(MatchID,XML_List.text);
CreateHistoryMainXML;
end;
Das Problem ist, dass ich immer wieder die Fehlermeldung erhalte, dass dieses Member nicht gefunden wurde. Das rührt sicher daher, dass diese Prüfung schon passiert, wenn der Webbrowser noch gar nicht fertig ist mit dem Laden der Datei.
Also habe ich im Webbrowser folgendes gemacht:
Delphi-Quellcode:
procedure TForm1.web_cisDocumentComplete(Sender: TObject;
const pDisp: IDispatch;
var URL: OleVariant);
begin
if pDisp = web_cis.DefaultInterface
then
begin
LockWindowUpdate(0);
LogFile.Add(DateTimeToStr(now)+ '
- file was loaded : ' +
URL);
FirstRunOver:=True;
//boolsche variable, die von der anderen routine ausgelesen wird
end;
end;
Hast Du vielleicht noch einen Tipp???