Einzelnen Beitrag anzeigen

Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#16

Re: Problem mit Speicherbezeichner "default" bei P

  Alt 21. Jul 2007, 20:24
Das hier :

inherited Create... ist ein Sonderfall, der wirklich nur selten benötigt wird. Damit kann man das original Create der Vorfahren quasi übersteuern und beeinflussen.

Und das :

inherited; guckt in der abgeleiteten Form nach dem nächstmöglichen Vorfahr. Also :

Form1
Form2 <---- enthält Prozedur XY
Form3
Form4

Form4.Create hat die Methode XY nicht und guckt deshalb im Vorgänger Form3 : nichts. Wer ist da Vorgänger ? Form2 und die enthält Prozedur XY und die wird dann auch benutzt. Selbst wenn Form1 auch eine XY hat, so wird die nicht benutzt. Es sei denn man schreibt bei Form2.XY ins Create noch inherited rein. Mache ich z.B. so, um Variablen ao nach und nach einzuführen und auch zu initialisiern. An der Stelle ist das Spiel aber noch nicht zu Ende. 8) Damit das läuft muss auch Gebrauch von der PROTECTED-Sektion in den Deklarationen der Forms gemacht werden.

Ich rate jedenfalls dringend davon ab, die in Delphi aus gutem Grund eingebauten Sachen per Hand zu umgehen oder mit Gewalt zurechtzubiegen. Habe ich z.B. eine Form mit Button in der Obektablage, Dann wird im OnClick-Event bei einer nötigen Änderung schon die Zeile inherited; automatisch eingefügt. Da fängts halt schon an.
Gruß
Hansa
  Mit Zitat antworten Zitat