Einzelnen Beitrag anzeigen

Benutzerbild von Smiley
Smiley

Registriert seit: 9. Dez 2004
Ort: Gedern
205 Beiträge
 
Delphi 10.4 Sydney
 
#7

AW: Ein Panel an eine Instanz einer Klasse TBall übergeben

  Alt 10. Mär 2022, 12:06
@Venice2
Dein Strandball ist toll, aber zu kompliziert für ein Tutorial, wegen der vielen Windows und OpenGL Aufrufe.
Du hast im Main zuviel von den OpenGL Aufrufen drin, das verwirrt mich.
Das Global.pas ist schön aufgeräumt und mit normalem DelphiCode, das hätte ich in das Main.pas mit reingenommen und das aus dem Main.pas ausgelagert.
Ich versuche im Main.pas nur das nötigste reinzuschreiben, um einen Überblick zu haben.
Soviel zu meiner Meinung zu Deinem SourceCode.

Jetzt zu meinem eigentlichen Problem:
Im TBall möchte ich beim erstellen eine InitRoutine aufrufen, daher dachte ich mir ich benutze den Contructor, der sollte doch aufgerufen werden, wenn das Object angelegt wird.
(Ball:=TBall.Create)
Weiterhin ist die Überlegung von welchem Typ ich mein TBall anlegen sollt.
TObject oder TComponent oder ???
Wie deklariere ich den Constructor und wie implementiere ich ihn dann.
Benutze ich override oder virtual oder ???
Im Init create erstelle ich auch einen Timer den ich verwende.
Den muss ich doch später wieder freigeben.
Dafür dachte ich, verwende ich doch den destructor.

1. Hier ist also einmal die Frage von welchen Typ sollte ich am besten ableiten.
2. Wie sieht die Syntax für den Constructor und Destructor aus (in der Deklaration und der Implemetation)
3. Geht es auch anders, dass ich eine Init Routine beim Create aufrufen kann ohne einen Constructor anzulegen?

Das ganze ist für mich der Einstieg in die OOP und die Erstellung von Objekten.
Der Ball ist nur ein Beispiel für das Aufrufen eines Objektes und das arbeiten auf Objekten des Aufrufenden.
Danach versuche ich mehrere Möglichkeiten den Ball darzustellen (Mit Draw,als Shape, als Image oder als letztes mit OpenGL)

Geändert von Smiley (10. Mär 2022 um 12:40 Uhr)
  Mit Zitat antworten Zitat