Einzelnen Beitrag anzeigen

Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#9

AW: Mehrere Formulare schließen (mit Sicherheitsfrage)

  Alt 19. Mär 2015, 09:46
statt Frn_Form2.Beenden immer Self.Beenden
Wobei das mit "self" im allerersten Moment etwas ungewohnt war. Klingt aber auch sinnvoll.
Es wird doch immer das ausgeführt, was man schreibt und nicht das was man sich beim Schreiben gedacht hat (die MindRead-API ist noch lange nicht fertig).

So und was hat man geschrieben, wenn man das hier schreibt:
Delphi-Quellcode:
TFoo = class
  procedure Bar();
  procedure FooBar();
end;

var
  Foo : TFoo;

procedure TFoo.Bar;
begin
  Foo.FooBar();
end;

procedure TFoo.FooBar;
begin
end;
Man hat geschrieben, dass beim Aufruf der Methode TFoo.Bar die Methode TFoo.FooBar im Kontext der Instanz ausgeführt werden soll, deren Referenz in der Variablen Foo hinterlegt ist.

Und jetzt:
Delphi-Quellcode:
procedure TFoo.Bar;
begin
  {Self.}FooBar();
end;
Man hat geschrieben, dass beim Aufruf der Methode TFoo.Bar die Methode TFoo.FooBar im eigenen (Self ) Instanz-Kontext ausgeführt werden soll.

Gibt es nur eine Instanz von der Klasse und wird die Referenz auf diese Instanz auch zuverlässig in der Variablen Foo: TFoo gespeichert, dann funktionieren beide Ansätze.

Gibt es mehr als eine Instanz, dann habe ich die Torte im Auge.
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat