Forum: Algorithmen, Datenstrukturen und Klassendesign
by idefix2,
23. Dez 2011
Das musste jetzt natürlich kommen. Bloss dürfte man dann auch keine Klassenmethoden programmieren, weil jede Klassenmethode beinhaltet ein implizites with.
Wenn das Objekt ein Array-Element ist, kann es sogar der Performance schaden (meistens nicht wichtig, u.U. aber doch), weil bei jedem Zugriff eine neuerliche Adressberechnung gemacht wird. Bei Verwendung von with sollte der Compiler wenn...
Forum: Algorithmen, Datenstrukturen und Klassendesign
by idefix2,
23. Dez 2011
Danke, jetzt habt ihr mich doch noch auf die Spur gebracht, man kann es wirklich nie schlau genug machen. Sir Rufo hatte eigentlich schon die richtige Idee, und dank DeddyH's
hab ich es jetzt (glaube ich, muss es noch ausbessern, aber das wars wohl).
Eben zur Vermeidung von derartigen Mehrdeutigkeiten habe ich allen Properties von TTrade ein t vorgesetzt, und war deshalb ganz sicher, dass...
Forum: Algorithmen, Datenstrukturen und Klassendesign
by idefix2,
23. Dez 2011
nein, alle Properties von TTrade beginnen mit einem kleinen t (vorbeugend, damit in einem with-Statement keine Verwechslungen möglich sind :roll:
Habe pi auf pidx umgetauft - gleiches Ergebnis.
:evil:
Forum: Algorithmen, Datenstrukturen und Klassendesign
by idefix2,
23. Dez 2011
Das Ding treibt mich zum Wahnsinn. Mit dem with hat das Problem doch nichts zu tun.
Paar:=TPaar(Paare.Objects); Fehlermeldung: Operator oder Semikolon fehlt
Paar:=Paare.Objects as TPaar; Fehlermeldung: Operator ist auf diesen Operandentyp nicht anwendbar
Bin für jeden Hinweis dankbar.
Forum: Algorithmen, Datenstrukturen und Klassendesign
by idefix2,
23. Dez 2011
Wie im Post 5 geschrieben: funktioniert auch mit Klammern nicht, gleiche Fehlermeldung.
Und with Tpaar(Paare.Objects) geht auch nicht, da kann es nicht an fehlenden Klammern liegen.
Forum: Algorithmen, Datenstrukturen und Klassendesign
by idefix2,
23. Dez 2011
Hab ich gleich probiert, funktioniert aber genausowenig mit Klammern um den as-Ausdruck.
Forum: Algorithmen, Datenstrukturen und Klassendesign
by idefix2,
22. Dez 2011
Paar:=Tpaar(Paare.Objects);
with Paar do
Danke, so geht es tatsächlich (und da kann man sich das with dann natürlich auch sparen). Ich bin gar nicht auf den Gedanken gekommen, dass das Problem etwas mit der with Anweisung zu tun haben könnte. Warum der Compiler im with kein as und keinen Typecast zulässt, verstehe ich eigentich nicht (und möchte hier auch keine Grundsatzdiskussion...
Forum: Algorithmen, Datenstrukturen und Klassendesign
by idefix2,
22. Dez 2011
Hallo, ich steh wieder einmal völlig auf dem Schlauch.
Ich habe eine Stringliste Paare und zu dieser Stringliste Objekte vom Typ Tpaar
type
TPaar=class(TObject)
pEndzeit: Tdate;
pLevel: byte
end;