Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi webbrowser destroyen und danach createn (https://www.delphipraxis.net/37348-webbrowser-destroyen-und-danach-createn.html)

quakergod 4. Jan 2005 20:43


webbrowser destroyen und danach createn
 
hi, hab ein problem: wenn ich eine aktion mehrmals im twebbrowser mache gibt es ab dem 2. mal probleme,
ich habe das immer so gelöst das ich die ganze Form geschlossen und neu erstellt habe, ich würde aber gern nur den Webbrowser neu erstellen..

Delphi-Quellcode:
WebBrowser.destroy;
so lösche ich den WebBrowser


Delphi-Quellcode:
webbrowser.Create(self);
geht nicht, fehler.




Delphi-Quellcode:
var
 webbrowser: twebbrowser;
begin
 webbrowser := twebbrowser.create(self);
 with webbrowser do
 begin
   [b]Parent := TForm1; [/b]
 end;
geht nicht. wenn ichs weglasse wird der webbrowser nicht angezeigt..

kann mir da jemand helfen? :(

fkerber 4. Jan 2005 20:44

Re: webbrowser destroyen und danach createn
 
Hi!

Geht nicht?
Was heißt das konkret?
Welche Fehler?


Ciao Frederic

roderich 4. Jan 2005 20:47

Re: webbrowser destroyen und danach createn
 
probier mal

Delphi-Quellcode:
  Parent := Self;

Roderich

SirThornberry 4. Jan 2005 20:48

Re: webbrowser destroyen und danach createn
 
es sollte wenn dann
Delphi-Quellcode:
  Parent := Form1;
heißen und wenn du das ganze schon in Form1 schreibst dann kann es auch gleich
Delphi-Quellcode:
  Parent := Self;
heißen

toms 4. Jan 2005 21:28

Re: webbrowser destroyen und danach createn
 
Zitat:

Quellcode: markieren
WebBrowser.destroy;


so lösche ich den WebBrowser
Hi,

Du solltest die Free Methode nehmen und Destroy nie direkt aufrufen!

Delphi-Quellcode:
WebBrowser1.Free;

Bernhard Geyer 5. Jan 2005 07:02

Re: webbrowser destroyen und danach createn
 
Zitat:

Zitat von quakergod
Delphi-Quellcode:
webbrowser.Create(self);
geht nicht, fehler.

Der Konstruktor ist eine Klassenmethode und liefert eine Instanz der Klasse zurück.
Als Parameter wird dabei der Besitzer der Instanz übergeben (i.d.R. das Formular). Dieses kümmert sich dan auch automatisch um die Freigabe, wenn das Formular (allgemein der Owner) Destroyed/Freigegeben wird.
Delphi-Quellcode:
webbrowser := TWebBrowser.Create(self);

quakergod 5. Jan 2005 14:07

Re: webbrowser destroyen und danach createn
 
bei diesem code:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
 webbrowser: twebbrowser;
begin
 webbrowser := twebbrowser.create(self);
 with webbrowser do
 begin
   Parent := Self;
 end;
end;

kommt dieser fehler:
Zitat:

[Fehler] Unit1.pas: Einer Nur-Lesen Eigenschaft kann kein Wert zugewiesen werden
bin für jede hilfe dankbar :)

toms 5. Jan 2005 14:11

Re: webbrowser destroyen und danach createn
 
Delphi-Quellcode:
Windows.SetParent(Webbrowser1.Handle, Self.Handle);

quakergod 7. Jan 2005 00:21

Re: webbrowser destroyen und danach createn
 
danke an alle, besonders an toms: funktioniert super! :-D

edit, eine kleine sache noch, bei

Delphi-Quellcode:
Windows.SetParent(Webbrowser1.Handle, Self.Handle);
poppt der webbrowser kurz aufund ist dann weg, ich habe webbrowser1.width := 0; gemacht da ich ihn nicht sichtbar haben will, kann man das irgendwie hinkriegen das er nicht aufpoppt? :)

edit2, habs hingekriegt und zwar so:

Delphi-Quellcode:
webbrowser1.Visible := False;
webbrowser1.Width:=0;
Windows.SetParent(Webbrowser1.Handle, self.Handle);
wer eine bessere möglichkeit kennt kann sie gerne posten :)


edit3, mir ist noch was aufgefallen, wenn man den webbrowser mit der obigen methode erstellt poppt unten in der taskleiste ganz kurz was auf, auch wenn ich anstatt self.handle form1.handle benutze poppt es immer noch auf, weiss jemand wieso?

danke nochmal!

toms 12. Jan 2005 08:18

Re: webbrowser destroyen und danach createn
 
Zitat:

Zitat von quakergod
edit3, mir ist noch was aufgefallen, wenn man den webbrowser mit der obigen methode erstellt poppt unten in der taskleiste ganz kurz was auf, auch wenn ich anstatt self.handle form1.handle benutze poppt es immer noch auf, weiss jemand wieso?

Bei mir poppt nichts auf, wenn ich den Webbrowser dynamisch erzeuge und z.B auf TabSheets setze.
Starte sonst mal meinen MultiDocViewer - Browser (neue Version kommt bald...) und schaue, wie's sich verhält.


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:33 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz