Hallo Zusammen,
bis jetzt konnte ich mir immer alle meine Fragen selber beantworten indem ich in Delphi-Foren gesucht habe. Nur leider finde ich diesmal auf mein Problem keine Antwort.
Nun zu meinen Problem:
Ich habe auf ein Netzlaufwerk viele viele
HTML-Files liegen. Diese Datenmenge filtere ich und das Ergebnis schreibe ich in ein Array und zeige es in einen ListView an (das können 1 oder n Files sein).
Nun möchte ich aber das, wenn man auf einen Button klickt, alle gefundenen
HTML-Dateien hintereinander über den Standarddrucker ausgedruckt werden.
Eine einzelne Datei kann ich ohne Probleme ausdrucken und zwar bin ich wie folgt vorgegangen:
WebBrowser1.Navigate(Daten[ArrayIndex]); //z.B. 'H:\tmp\test_123.htm'
Delphi-Quellcode:
//***************************************************************************//
// Druckt die aufgerufene Webseite aus. Es wird kein Druck-Dialog angezeigt
//***************************************************************************//
procedure TfrmMain.WebBrowser1NavigateComplete2(Sender: TObject;
const pDisp: IDispatch;
var URL: OleVariant);
begin
WebBrowser1.ExecWB(OLECMDID_PRINT, OLECMDEXECOPT_DONTPROMPTUSER);
end;
Wenn ich jetzt mit einer Schleife mein Array durchlaufe und alle Seiten nacheinander laden will bekomme ich nur die letzte
HTML-Seite ausgedruckt da nur diese vollständig geladen wird und so das NavigateComplete-Ereignis ausgelöst wird.
Wie bekomme ich es hin das erst nachdem die letzte Seite vollständig geladen wurde die nächste geladen wird bzw. wie schaffe ich es alle Seiten zu drucken.
(Ein Timer will ich nicht verwenden da ich ja nicht weiß wie lange eine Seite zum laden brauch)
Wahrscheinlich ist die Lösung ganz einfach und ich komme einfach nicht darauf.
Danke im Voraus und Gruß
jod0kus