Holla !
Nachdem ich beim letzten Mal hier sehr schnell mit einer möglichen Lösung sehr schnell zu einer Problemlösung fand, stelle ich mal wieder eine Frage. Alles ein bißchen Komplex, aber hoffe, dass ich es ausreichend erklären kann.
Habe eine TPageControl, die ja bekanntermaßen TTabSheets hat. Die PageControl liegt auf einem Frame, die TabSheets bekommen wieder Frames aufgelgt. Habe eine Klasse TErfassen gebaut, welche sich von TFrame ableitet. Funzt auch wunderbar. Nur möchte ich jetzt den
DB-Handler des Frames mit der PageControl dem TErfassen übergeben, damit TErfassen darauf einen
Query und Datasource erstellen kann.
Dazu gibt es in TErfassen einen Contructor:
Delphi-Quellcode:
constructor TErfassen1.Create(AOwner:TComponent;
DB:TDBForm);
begin
inherited Create(AOwner);
SQLHandle1 := TSQLHandle.Create(
DB);
DBText1.DataSource := SQLHandle1.DataSource1;
end;
Natürlich müßte ich den irgendwo aufrufen. Dazu noch ein paar Infos:
Habe im Designer nun das Frame mit dem TPageControl, der mir dann auch das TErfassen auf einem TTabSheet anzeigt, also auch ein
DFM wo definiert ist wie groß das TTabSheet und die TTPageControl sein soll. ABER 1. kann ich im
DFM wohl keine Konstruktoren aufrufen, folglich kann ich auch keine Werte übergeben. Versuche eines meiner DBHandler Objekte als Property im
DFM zu übergeben schlug fehl. Außerdem wäre die Constructor-Lösung eher geeignet, da der DBHandler später dynamisch übergeben werden soll und im Sinne von "Wiederverwendbarkeit des Codes" auch in anderen TTabSheets zur Verfügung stehen soll, die dann jeweils ihre eingenen DBHandler und darauf basierende Querys und DataSources haben.
Also kurz: Wie kann ich Konstruktoren von abgeleiteten Frames über den Desginer aufrufen, wenn ich weiterhin im
RAD meine Desgins erstellen will ??
Um das ganze vllt zu umgehen. Gibt es eine Möglichkeit auf Methoden und Attribute des Parent-Objektes zuzugreifen ? Sprich: Das PageControl (auf einem Frame) ist ja quasi parent meiner TTabSheets, welche wiederum Frames enthalten. Hierachie ist dann Frame, welches das TabSheet als parent hat, dessen parent ist PageControl und dessen parent ist das Frame. Kann ich nun vom untersten Frame auf Attribute des obersten Frame zugreifen ?
Hoffe ich verwirre jetzt nicht zu sehr. Vllt habe ich ja auch nurn dicken, fetten Denkfehler in meinen Überlegungen.
Thanks in advance...
delphino