Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by jaenicke,
16. Dez 2013
Bei uns gab es in den letzten Jahren in der Hinsicht keinerlei Probleme. Auch in Tests mit aktivierter Prüfung gab es keine entsprechenden Fehler. Die Performance ist ohne die Option jedoch spür- und messbar besser. Deshalb macht es in unserem Fall keinen Sinn die Option zu aktivieren.
Wenn natürlich solche Fehler auch tatsächlich vorkommen, ist das etwas anderes. Da müsste man sich aber schon...
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by jaenicke,
16. Dez 2013
Wir haben XE4 seit dem Erscheinen bis zum Update 1 von XE5 genutzt. Bei mir gibt es mit Array oder Listen kein Problem. Grad nochmal ausprobiert.
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by jaenicke,
12. Dez 2013
Wenn du Interfaces benutzt, sind es jeweils rund 15-20 Assemblerbefehle für das Hinzufügen der Referenz und das Entfernen. Es ist also nicht so furchtbar viel, läppert sich aber durchaus, wenn man damit intensiv arbeitet.
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by jaenicke,
12. Dez 2013
Aber nur im Quelltext, bei Interfaces wird das nur mit noch mehr automatisch generiertem Code beim Kompilieren hinzugefügt.
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by jaenicke,
12. Dez 2013
Richtig nutzen wäre eine Alternative... sprich nur Interfaces verwenden oder keine.
Eben das passiert ja nicht. Supports prüft ja, ob das Interface unterstützt wird, arbeitet also ähnlich wie as bei Objekten. Deshalb ist das ja gerade typsicher. Im Gegensatz zu einem harten Cast bei Objekten.
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by jaenicke,
11. Dez 2013
Das ist dann keine gute Architektur, lässt sich aber bei Einführung von Interfaces in alte Quelltexte manchmal nicht vermeiden. In neuen Quelltexten ist das allerdings ein No-Go.
Dann solltest du die Referenzzählung auf jeden Fall in allen Objekten deaktivieren. Es macht keinerlei Sinn die zu nutzen, wenn du nicht durchgängig mit Interfaces arbeitest.
Das haben wir als Notlösung bei der...
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by jaenicke,
5. Dez 2013
So nach dem Motto würde ich das machen, ungetestet:TMyList = class
private
var
FList: TList<IListData>;
public
function Get<T: IInterface>(const AIndex: Integer): T;
end;
...
function TMyList.Get<T>(const AIndex: Integer): T;