Einzelnen Beitrag anzeigen

Benutzerbild von Björn Ole
Björn Ole

Registriert seit: 11. Jul 2008
166 Beiträge
 
Delphi XE Professional
 
#1

Im Class Destructor alle Strings leer

  Alt 2. Aug 2011, 02:55
Ist wahrscheinlich einfach nur zu spät für mich, aber ich kann sonst nicht einschlafen.
Folgende Klasse:
Delphi-Quellcode:
TStatic = class
private
  class var FInt: integer;
  class var FStr: string;
  class constructor Create;
  class destructor Destroy;
public
  class procedure ShowMe;
end;
Und folgende Anwendung mit einem TButton auf dem Formular:
Delphi-Quellcode:
{ TForm1 }

procedure TForm1.Button1Click(Sender: TObject);
begin
  TStatic.ShowMe; // Ausgabe: "7Hallo" - GUT!
end;

{ TStatic }

class constructor TStatic.Create;
begin
  FStr := 'Hallo';
  FInt := 7;
  TStatic.ShowMe; // Ausgabe: "7Hallo" - GUT!
end;

class destructor TStatic.Destroy;
begin
  TStatic.ShowMe; // Ausgabe: "7 " - WARUM?
end;

class procedure TStatic.ShowMe;
begin
  ShowMessage(IntToStr(FInt) + FStr);
end;
Es kompiliert und gibt keine Warnungen, aber warum kennt der Destruktor meinen String nicht mehr und wie kann ich korrekt auf ihn zugreifen?

Geändert von Björn Ole ( 2. Aug 2011 um 02:58 Uhr)
  Mit Zitat antworten Zitat