Hi,
da mich die Fehlermeldung "Listenindex überschreitet das Maximum" nervt,
möchte ich in einer abgeleiteten tmylist.get "überschreiben"
overwrite nicht mgl., da statisch
Mein Ansatz:
Delphi-Quellcode:
// original
function TList.Get(Index: Integer): Pointer;
begin
if Cardinal(Index) >= Cardinal(FCount) then
Error(@SListIndexError, Index);
Result := FList^[Index];
end;
TMyList_UA = class(TList)
private
protected
public
function Get(Index: Integer): Pointer;
published
end;
function TMyList_UA.Get(Index: Integer): Pointer;
begin
if cardinal(index) in [0 .. count-1] then
Result := List^[Index] else result:=nil;
end;
//ODER
function TMyList_UA.Get(Index: Integer): Pointer;
begin
if (cardinal(index)>-1) and (Cardinal(Index) < Cardinal(Count)) then
Result := List^[Index] else result:=nil;
end;
Beide Funktions-Modelle funktionieren - welches ist besser?
Im tlist.get-Original werden die Indexe <0 nicht geprüft -gibt's da
keinen Fehler?
MfG
Uwe