ok, vielleicht geht's besser mit codebeispielen ohne "..." an den wichtigen stellen:
Code:
interface
TSimpleStringList = class
private
FList: array of string;
protected
function Get(Index: Integer): string;
procedure Put(Index: Integer; const S: string);
public
property Strings[Index: Integer]: string read Get write Put; default;
end;
implementation
function TSimpleStringList.Get(Index: Integer): string;
begin
if (Index < 0) or (Index > High(FList)) then Error;
Result := FList[Index];
end;
procedure TSimpleStringList.Put(Index: Integer; const S: string);
begin
if (Index < 0) or (Index > High(FList)) then Error;
FList[Index] := S;
end;
gekürzt, ohne override etc.
so ungefähr sehen TStrings und TStringList aus.