Einzelnen Beitrag anzeigen

Dax
(Gast)

n/a Beiträge
 
#15

Re: funktion soll TStringList zurückliefern

  Alt 28. Dez 2004, 14:03
Am besten kuckst du dir ein paar Interface-Tutorials an, an der entsprechenden DP-Sparte gibts sogar eins.

Aber ein kleines Beispiel kann ja nicht Schaden
Delphi-Quellcode:
type
  IMyType = interface
    procedure SetText(New: string);
    procedure GetText: string;
    property Text: string read GetText write SetText;
  end;

  TMyType = class(TInterfacedObject, IMyType)
  private
    fText: string;
    // Die beiden Funktionen brauche ich wohl nicht zu vervollständigen ^^
    procedure SetText(New: string);
    procedure GetText: string;
  public
    property Text: string read GetText write SetText;
  end;

function GetTextWith(Text: string): IMyType;
begin
  Result := TMyType.Create;
  Result.Text := Text;
end;
Wenn du jetzt GetTextWith in einer Funktion(z.B. MyRead) aufrufst, wird die in GetTextWith erstellte Instanz von TMyType beim verlassen der Funktion (MyRead) zerstört, weil dort der Gültigkeitsbereich des Interfaces zuende ist.

Ich weiss, das Beispiel ist ein wenig dumm gewählt und die Erklärung nicht vollständig, aber ich will dir ja nicht den Spass verderben, die Tuts zu lesen
  Mit Zitat antworten Zitat