Einzelnen Beitrag anzeigen

Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.298 Beiträge
 
Delphi 12 Athens
 
#30

AW: Zugriff auf Objekt in Klasse

  Alt 10. Jan 2021, 07:40
Zitat:
Musst du die Klasse über den Delphi-Designer auf das DataModul packen.
@TE: Zum Verständnis. Auch bei dieser Variante wird ein Create/Free ausgeführt...im Hintergrund. Das Objekt ist immer im Speicher, mit Create des DataModules, auch wenn es nicht benutzt wird!

Nochmal zu Klassenmethoden:
https://www.delphi-treff.de/tutorial...i-crashkurs/8/
Zitat:
Klassenmethoden

Es kann manchmal sinnvoll sein, dass man eine Methode nicht über die Instanz einer Klasse aufrufen möchte, sondern nur über die Klasse. So könnte man sich vorstellen, dass die Klasse „TgeomForm“ eine Methode „dimension“ besitzt, welche zurückgibt, welche Dimension die geometrischen Objekte besitzen, die durch diese Klasse dargestellt werden. Das Ergebnis dieser Methode wäre nicht abhängig von einer Instanz, sondern für die gesamte Klasse identisch.
Möchte man eine solche Methode haben, so leitet man sie bei der Deklaration mit dem Schlüsselwort „class“ ein.

type
TgeomForm = class
{...}
public
class function dimension : Integer;
end;

{...}

class function TgeomForm.dimension : Integer;
begin
result := 2;
end;

Selbstverständlich kann man in Klassenmehtoden nicht auf die Eigenschaften einer Klasse zuzugreifen, da diese nur existieren, wenn man mit Instanzen arbeitet!
PS: Der Tippfehler aus Seite kopiert.

Frage:
Wie oft wird das Objekt benutzt? Je nach Verwendung kann man das Objekt direkt vor OpenMail erzeugen und direkt wieder freigeben oder z.b. im constructor der Form oder der Logik Klasse erzeugen und am Ende (jeweiliger destuctor) wieder freigeben. Damit hat man das Objekt über die Lebensdauer der Form z.B. im Zugriff ohne ständig Create/Free.

Geändert von haentschman (10. Jan 2021 um 08:09 Uhr)
  Mit Zitat antworten Zitat