Forum: Sonstige Fragen zu Delphi
Delphi
by DrUArn,
26. Jul 2012
Hi,
nachdem ich noch dies und jenes getestet habe, möchte ich für mich
das Thema abschließen und "Erkenntnisse" zusammenfassen.
1. Ok, mann sollte aus tlist.get die Fehlermeldung nicht rausnehmen
2. Wenn man in tlist Angst vor Fehlgriffen hat, sollte man eine Sicherheitsroutine an kritischen Stellen einrichten alà
function TMyList.ValidIndex(aindex: integer): boolean;
begin
result:=...
Forum: Sonstige Fragen zu Delphi
Delphi
by DrUArn,
24. Jul 2012
Hi,
@himitsu:
Danke, ich habe wohl übersehen, das tlist.free nicht automatisch die eingelagerten Elemente und ihren Speicher löscht (?!)
das macht tobjectlist mit Voreinstellung ownsobjecrts=true.
Deiner Anmerkung:
Wie bei der restlichen Vererbung gilt auch hier:
- Es können die angegebenen Typen/Klassen/Objekte in diese Listen rein und alle Nachfahren
Forum: Sonstige Fragen zu Delphi
Delphi
by DrUArn,
24. Jul 2012
Hi,
@himitsu: meine obigen Änderungen schlagen wohl alle in das von dir zu vermeidende Kontor.
Diese Gleichsetzung geht tatsächlich.
Ja, meine txyz sind Ableitungen von tobject.
Bis jetzt funktionieren alle Routinen - warum ich mich von tobjectlist wieder abgewendet habe, weiß ich nicht mehr - könnte das aber wieder aufnehmen.
zu Generics - zugegebnermaßen kenne ich diese Schreibweise...
Forum: Sonstige Fragen zu Delphi
Delphi
by DrUArn,
24. Jul 2012
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)
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;
Forum: Sonstige Fragen zu Delphi
Delphi
by DrUArn,
24. Jul 2012
Hi,
danke für die Antworten.
@Medium: ok, mit Mengen sollte man wohl doch eher nicht arbeiten in diesem Falle, die 255 könnte auch überschritten werden.
@Zacherl: da hatte ich mich schon mal gewundert, daß bei bit-Operationen im negativen Bereich plötzlich 'ne riesen +-Zahl rauskam - that's it!
@ich: der Grund, warum ich .get überschreiben "wöllte" liegt darin, daß ich in tmylist oft...
Forum: Sonstige Fragen zu Delphi
Delphi
by DrUArn,
23. Jul 2012
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:
// original