Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Warum Zugriffsverletzung bei Adresse ... (https://www.delphipraxis.net/27824-warum-zugriffsverletzung-bei-adresse.html)

Bencher 16. Aug 2004 10:22


Warum Zugriffsverletzung bei Adresse ...
 
Ich erstelle zur Laufzeit Ein TabSheet mit einen Webbrowser das funktioniert auch super
Code:
TabSheet:=TTabSheet.Create(Self);
 with TabSheet do begin
  Align := alClient;
  Parent := PageControl;
 end;
 TabSheet.PageControl := PageControl1;
 Webbrowser := TWebbrowser.Create(TabSheet);
 Webbrowser.Align := alClient;
 TOLEControl(Webbrowser).Parent := TabSheet;
jetzt wollte ich noch den Title der Website in der Titelleiste anzeigen lassen mit
Code:
Webbrowser.OnTitleChange(Form1, Text);
nur kommt dabei immer Zugriffsverletzung
Kann mir jemand helfen
Danke

Luckie 16. Aug 2004 10:25

Re: Warum Zugriffsverletzung bei Adresse ...
 
Kommt mir etwas komisch vor OnTitleChange klingt mehr nach einem Ereignis, als mach einer Eigenschaft von TWebBrowser.

Bencher 16. Aug 2004 10:26

Re: Warum Zugriffsverletzung bei Adresse ...
 
so kann ich es aber aufrufen, weil ja visuell kein webbrowser da ist

Luckie 16. Aug 2004 10:27

Re: Warum Zugriffsverletzung bei Adresse ...
 
Ich bestreite ja auch nicht, dass es das Ereignis nicht gibt. Aber mit einem Ereignis kann man keine Eigenschaft ändern.

Bencher 16. Aug 2004 10:28

Re: Warum Zugriffsverletzung bei Adresse ...
 
wie muß ich es denn da machen
hast du einen tip

Luckie 16. Aug 2004 10:29

Re: Warum Zugriffsverletzung bei Adresse ...
 
Kuck dir mal die Eigenschaften von TWebbrowser an. Mehr kann ich dir leider auch nicht helfen, da ich die Komponente nicht kenne.

Phoenix 16. Aug 2004 10:29

Re: Warum Zugriffsverletzung bei Adresse ...
 
Weil dem Event 'OnTitleChange' gar keine Methode zugewiesen wurde (Das ist keine Funktion!).

Du musst also noch das Event machen:

Delphi-Quellcode:
procedure TForm1.OnWebBrowserTitleChange(Sender: TObject; const Text: WideString);
begin
   // hier z.B. die Caption ändern
   if Sender is TForm then
      (Sender as TForm).Caption := Text;
end;

// und dann bei:
Webbrowser := TWebbrowser.Create(TabSheet);
Webbrowser.Align := alClient;
// noch das Event zuweisen:
Webbrowser.OnTitleChange := OnWebBrowserTitleChange;
Dann klappst auch mit dem Event :)

Bencher 16. Aug 2004 10:35

Re: Warum Zugriffsverletzung bei Adresse ...
 
Ich krieg das nicht hin
Wenn ich die Prozedur erstellen will und TForm1. eintippe kommt kein OnWebbrowserTitleChange

PS. Habs hingekriegt mußte ja noch oben deklarieren

mytar 16. Aug 2004 10:41

Re: Warum Zugriffsverletzung bei Adresse ...
 
Zitat:

Zitat von Bencher
Wenn ich die Prozedur erstellen will und TForm1. eintippe kommt kein OnWebbrowserTitleChange

PS. Habs hingekriegt mußte ja noch oben deklarieren

Du kannst die procedure OnWebbrowserTitleChange heißen wie du willst.
Sie muss nur die selbsten Parameter haben welche das OnTitleChange-Event von TWebbrowser
verlangt.

greetz
mytar :-D

Phoenix 16. Aug 2004 10:43

Re: Warum Zugriffsverletzung bei Adresse ...
 
Zitat:

Zitat von mytar
Du kannst die procedure OnWebbrowserTitleChange heißen wie du willst.
Sie muss nur die selbsten Parameter haben welche das OnTitleChange-Event von TWebbrowser verlangt.

Jupp. Das schon, aber wenn die so ähnlich heisst weiss man wenigstens hinterher noch, wofür das Event auch da ist. Ein DoWhatIWant ist zwar nett, aber ob man beim Lesen vom Code ahnt das das ne Caption ändert...? ;-)


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:42 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