Einzelnen Beitrag anzeigen

abx

Registriert seit: 16. Feb 2008
8 Beiträge
 
#1

OOP Komponente auf dem Formular erzeugen.

  Alt 30. Nov 2008, 11:30
Hi,

ich bin dabei eine Art kleines Pokerspiel zu programmieren.
Dazu habe ich in einer externen Unit die Klasse TKarte erzeugt, die sich von TImage ableitet und um Attribute wie Farbe und Wert sowie einige Methoden erweitert wurde. Die Idee ein Objekt, das die Eigenschaften einer Karte besitzt und gleichzeitig für den Benutzer anzeigt.
Um eine solche Karte zu erzeugen und sichtbahr zu machen, reicht z.B. schon
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin
  TESTKarte := TKarte.Create(self);
  TESTKarte.Parent := self;
  TESTKarte.Initiate; //Eigene Methode
  TESTKarte.SetMessurements(50,50,200,300); //Eigene Methode
end;
Im nächsten Schritt soll aber ein Klasse THand entstehen, die (zum Schluss) 5 solcher Karten verwaltet.
Also habe ich Karten als Attribut in THand einfach eingetragen.
Delphi-Quellcode:
THand = class
  private
    TESTKarte: TKarte;
  public
    procedure TEST;
  end;
Die Prozedur TEST soll die Karten auf dem Formular erzeugen. Mir ist irgendwie klar, dass es so nicht funktionieren kann. Woher soll meine Karte denn überhaupt noch wissen was Form1 ist. Außerdem hätte ich es gerne unabhängig.
Delphi-Quellcode:
procedure THand.TEST;
  begin
    TESTKarte := TKarte.Create(Form1);
    //TESTKarte.Parent := self;
    TESTKarte.Initiate;
    TESTKarte.SetMessurements(50,50,200,300);
  end;
end.
Wie kann ich das am besten lösen?

Vielen Dank schonmal, abx.
  Mit Zitat antworten Zitat