Mir ist da noch ne Sache auf gefallen:
Delphi-Quellcode:
// ... steht für weitere Funktionen Variablen usw.
uses ... Contrs;
type
TPerson =class;
strict private
FName : String;
....
public
Property Name: String read FName write FName;
TBeispiel = class;
strict private
FNamensliste: TObjectList;
procedure SchreibeInNamensListe(APerson : TPerson);
public
Property Personen: TStringlist read FNamensliste write SchreibeInNamensListe;
end;
...
implementation
//Threadsichere Implementaion der SchreibeInNamensListe Prozedur
....
procedure NeAndereKlasse.Tuirgendwas;
begin
for I := 0 to FBeispielInstanz.Personen.Count -1 do begin
showMessage(TPerson(FBeispielInstanz.Personen.Item[I]).Name);// funktioniert ich würde aber gern das verwenden:
showMessage((FBeispielInstanz.Personen.Item[I] as TPerson).Name); //funktioniert aber nicht kann mir jemand sagen warum?
// Gibt es vielleicht einen größeren Unterschied zwischen den beiden Arten zu casten als das der zweite (mit as) eine Typenprüfung mit eingebaut hat?
end;
end;
Vielen lieben Dank