Hi,
@Zacherl: Naja, try except kommt mir immer wie Angst vor übersehenen eigenen Fehlern vor
@Himitsu: Habe ich mir heute ähnlich zusammengebastelt - entspricht wohl deinem Vorschlag .exists(idx)
Delphi-Quellcode:
function TMyList.ValidIndex(aindex: integer): boolean;
begin
result:= cardinal(aindex)<cardinal(Count) //cardinal <-1 ergibt immer eine Zahl größer als cardinal einer positiven Zahl
end;
Diese "wilden" Typumwandlungen haben mich auch ständig gestört, hatte aber noch keine Idee dazu.
obj :=Get(idx); kann man obj einfach einen pointer aus .get gleichsetzen?
Muß ich erst mal probieren!
OK - habe ich man darf!
Aber: welchen Vorteil bringt {1} obj :=Get(idx) gegenüber {2}txyz(get(idx)?
Ist {1} nicht auch eine Typumwandlung? Man braucht dann noch eine Variable mehr,
könnte in {2} auch mit with txyz(get(idx)) do arbeiten??
Eigentlich habe ich vor, eine weitere Ableitung von tmylist zu schreiben, die eine Ableitung von vobn txyz speichert.
Also:
Delphi-Quellcode:
tmyobj1= class(tobject)
...
end;
tmylist1= class(tlist) //enthält tmyobj1
function tryget(idx:integer; out:tmyobj1):boolean;virtual;
end;
tmyobj2= class(tmyobj1)
...
end;
tmylist2=class(tmylist1) //enthält tmyobj2
function tryget(idx:integer; out:tmyobj2):boolean;virtual;
end;
Darf man so was - overload???
Danke an die Diskutanten
Gruß Uwe