Thema: Delphi Variable als Objekt?

Einzelnen Beitrag anzeigen

Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.117 Beiträge
 
Delphi 11 Alexandria
 
#4
  Alt 28. Mai 2003, 15:57
Moin Mat,

Zitat von Mat:
das heisst, ich kann dann mit compWork dasselbe machen, wie mit Image1?
jein

Wenn Du sicher bist, dass es sich immer um ein TImage handelt, kannst Du die Variable auch gleich als TImage deklarieren, und dann mit

  compWork := TImage(self.FindComponent(sVariable)); füllen, oder mit

Delphi-Quellcode:
TImage(compWork).Picture;
// oder
(compWord as TImage).Picture;
verwenden.

compWork ist nichts weiter als ein Zeiger auf ein Objekt. Wird compWork als TComponent deklariert, stellt es für den Compiler einen Zeiger auf ein Objekt vom Typ TComponent dar. Durch die Verwendung von TImage(...), egal ob im ersten oder zweiten Fall, übernimmst Du gegenüber dem Compiler sozusagen die Verantwortung dafür, dass es sich bei dem Pointer in compWork um ein TImage Objekt handelt, und somit lässt er dann auch, ohne zu meckern, die Verwendung auf die Eigenschaften, Methoden und Ereignisse von TImage zu.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat