Einzelnen Beitrag anzeigen

torud

Registriert seit: 26. Jul 2002
Ort: Sachsen
1.198 Beiträge
 
Delphi XE5 Professional
 
#3

Re: Name der geladenen Datei in einem Frame herausbekommen

  Alt 20. Okt 2006, 16:35
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???
Danke
Tom
  Mit Zitat antworten Zitat