Einzelnen Beitrag anzeigen

aLiKe

Registriert seit: 17. Apr 2007
25 Beiträge
 
#1

constructor - AOwner immer TApplication?

  Alt 6. Jun 2007, 12:05
Hi Leute,

bin grad ein wenig am verzweifeln. Bei meinem Problem handelt es sich um folgendes:
(Achja, nich über namengebung meckern, dbin nur dabei das Projekt hier weiterzuführen,
und großartige Namensänderungen will ich da momentan vermeiden^^)

Ich habe eine abgeleitete Klasse von TCustomChart(TKoordSys3D), welche eine Form created und sich selbst
als Owner angibt. Das wird ausgelöst bei klicken auf TCustomChart. Das ganze dient dazu,
dass kleine Koordinaten System nochmal groß anzusehn.

Frmgraphwindow2d := TFrmgraphwindow2d.create(Self); Sooo, das läuft, kein Thema, Form wird erstellt, angezeigt und schön.
Nun will ich aber in der Form auf Self zugreifen, also auf meine Klasse.
Dazu cast ich erstmal den Parameter AOwner auf meine Klasse TKoordSys3D

Delphi-Quellcode:
constructor TFrmgraphwindow2d.create(p_AOwner: TComponent);
var
c_kSys3D : TKoordSys3D;
begin
inherited create(p_AOwner);
 c_kSys3D := TKoordSys3D.create(self);
 c_kSys3D.copy(TKoordSys3D(p_AOwner));
...
copy Methode sieht so aus

Delphi-Quellcode:
 procedure TKoordSys3D.copy(p_koordSys: TKoordSys3D);
 var l_temp_height, l_temp_width, l_temp_top, l_temp_left, l_i : integer;
 begin
  l_temp_height := Height;
  l_temp_width := Width;
  l_temp_top := Top;
  l_temp_left := Left;

  Assign(p_koordSys);
...
Hier(beim assign) gibts nun aber nach dem Compileren ein Problem, dass sich so meldet:
"TApplication kann nicht TKoordSys3D zugewiesen werden"

Edit: Was mir grad noch auffällt. Das passiert garnicht beim Kompilieren, sondern während der Laufzeit.
Allerdings gleich nach Programmstart, und da wird meine Methode die die Form created noch garnicht aufgerufen Oo



Weiß mir da keinen Rat. Aber von euch sicher jemand?!^^

Mfg
aLiKe
  Mit Zitat antworten Zitat