Einzelnen Beitrag anzeigen

Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.641 Beiträge
 
#1

Klassenmethoden in Delphi

  Alt 5. Dez 2003, 08:45
Mannomann, manche Sprachkonzepte fallen mir immer noch schwer.

Wie definieren ich eine Klassenmethode, die eine Instanz der Klasse erzeugt, darauf arbeitet, eine Rückgabe erzeugt und das Objekt wieder freigibt?

Ich habe bisher:
Delphi-Quellcode:
MyClass = class(TObject)
   constructor Create; override;
   destructor Destroy; override;
   class procedure GetValues(var val1: string; var val2: string);
end;

class procedure MyClass.GetValues(var val1: string; var val2: string);
var
   obj: MyClass;
begin
   obj := MyClass.Create;
   val1 := obj.ClassName;
   val2 := 'irgendwas';
   obj.free;
end;
Wenn ich nun z.B. von der Hauptform aus mit MyClass.GetValues(s1, s2); darauf zugreifen will, bekomme ich immer einen EVariantError (Ungültige Varianten-Typumwandlung).

Kann mir jemand sagen, was ich da falsch gemacht habe?

EDIT: Natürlich sind contructor und destructor korrekt implementiert, wenn ich das was ich aus der Klassenmethode heraus machen will direkt auf dem Objekt mache tut da auch.
/EDIT
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat