Seite 1 von 3
Browserfenster schließen
Verfasst: 07.05.2008 09:26
von Tommy_
Hallo PB´ler,
probiere seit kurzer Zeit mit der Demoversion von PB und bin dabei auf ein
Problem gestoßen :
aus meinem Programm öffne ich eine Webseite über
Code: Alles auswählen
Ergebnis = RunProgram("http://www.testseite.de/"+link)
Mein Browser wird gestartet und die Seite wird angezeigt.
Nun möchte ich die Seite aus meinem Programm wieder schließen
bekomme jedoch eine Fehlermeldung.
Geht das über die internen PB Befehle oder muß ich sowas mit der WinAPI
lösen ?
Danke im voraus.
Verfasst: 07.05.2008 10:02
von edel
Willkommen ...
Du hast das #PB_Program_Open Flag vergessen.
Code: Alles auswählen
p = RunProgram("http://www.google.de","","",#PB_Program_Open)
Delay(10000)
KillProgram(p)
CloseProgram(p)
Wenn du schon eine Fehlermeldung bekommst, poste sie immer mit.
Verfasst: 07.05.2008 10:07
von Kiffi
edel hat geschrieben:Du hast das #PB_Program_Open Flag vergessen.
jup, allerdings klappt das beim (Internet-)Explorer nicht. Dort wird ein
gestarteter Thread an einen 'Mutter-Prozess' gekoppelt und ist somit via
KillProgram() und CloseProgram() nicht mehr schliess- bzw. beendbar.
Grüße ... Kiffi
Verfasst: 07.05.2008 10:12
von edel
Ach, ich wollte es noch dazu schreiben, hatte es hier allerdings mit
dem FF gestestet.
Trotzdem funktioniert CloseProgram() weiterhin
Verfasst: 07.05.2008 10:15
von Kiffi
edel hat geschrieben:hatte es hier allerdings mit dem FF gestestet.
dachte ich mir
edel hat geschrieben:Trotzdem funktioniert CloseProgram() weiterhin
mit dem IE? Bei mir nicht. :-P
Grüße ... Kiffi
Verfasst: 07.05.2008 10:16
von Tommy_
Danke für die superschnellen Antworten.
Ja Kiffi hat wohl recht, das Browserfenster läßt sich so leider nicht schließen.
Dann wohl doch über die WinAPI.
Verfasst: 07.05.2008 10:19
von edel
Kiffi hat geschrieben:
edel hat geschrieben:Trotzdem funktioniert CloseProgram() weiterhin
mit dem IE? Bei mir nicht. :-P
Doch bei dir auch auch, Closeprogram kappt ja nur die Verbindung
zu dem Programm und gibt den Speicher wieder frei.
Note: This does not terminate the program, it only closes the connection with it. To terminate the program, call KillProgram() first. Also if the program terminated normally, this function must still be called to properly release all data.
Tommy_ hat geschrieben:Danke für die superschnellen Antworten.
Ja Kiffi hat wohl recht, das Browserfenster läßt sich so leider nicht schließen.
Dann wohl doch über die WinAPI.
Die Frage ist ob das so ueberhaupt gewollt ist. Wenn sich deine Seite
in einer bestehenden Instanz oeffnet, wirst du damit ja auch alle anderen
Seiten schliessen.
Verfasst: 07.05.2008 10:23
von Kiffi
edel hat geschrieben:Doch bei dir auch auch, Closeprogram kappt ja nur die Verbindung
zu dem Programm und gibt den Speicher wieder frei.
gnii, ja, stibimmt.
Grüße ... Kiffi
Verfasst: 07.05.2008 10:36
von Tommy_
@Edel
ja das ist schon so gewollt.
Ich öffne über das Programm nacheinander mehrere Seiten in FF und lese aus diesen Seiten Daten aus und speichere sie in eine Datei.
D.h. ich habe ein FF Browserfenster mit mehreren Tabs.Nach einer gewissen Anzahl von Seiten (Tabs) soll das Browserfenster sprich Firefox beendet werden (Freigabe von Speicher).
Leider habe ich in FF nirgends eine Einstellung gefunden das Tabbing komplett abzuschalten, deshalb diese vorgehensweise.
Verfasst: 07.05.2008 10:40
von edel
Du brauchst also nur die Daten aus der Seite?