Einzelnen Beitrag anzeigen

DrUArn

Registriert seit: 20. Mär 2003
130 Beiträge
 
Delphi 10.3 Rio
 
#9

AW: tlist. get "überschreiben", Fehlermeldung verhindern

  Alt 24. Jul 2012, 15:39
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

Geändert von TBx (25. Jul 2012 um 11:43 Uhr) Grund: Delphi-Tag gefixt
  Mit Zitat antworten Zitat