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