Forum: Object-Pascal / Delphi-Language
by Stevie,
13. Mär 2015
Hab ich irgendwo was von "neu schreiben" geschrieben?
Was machst du denn, wenn du ein altes vergammeltes Haus erbst? Einziehen und drauf hoffen, dass es dir nicht aufn Kopf fällt? Oder es renovieren?
Forum: Object-Pascal / Delphi-Language
by Stevie,
13. Mär 2015
Typisches Totschlagargument wenn man einfach nix machen will - oder Angst vor Änderungen hat.
Diese Angst beruht aber oft darauf, dass es dunkle Ecken im System geht, die man nicht kennt oder versteht. Hat man Code, den man versteht, der abgetestet ist und wo keine schwarze Magie drin steckt, dann ist eine Änderung genauso painless wie nen Öl- oder Reifenwechsel.
Da die meisten...
Forum: Object-Pascal / Delphi-Language
by Stevie,
2. Mär 2015
DynArrayUnique heißt die und ist mit XE7 neu.
Kannste dir aber auch selbst bauen, denn da steckt keine Compilermagic hinter - array und typeInfo übergeben und gut.
Forum: Object-Pascal / Delphi-Language
by Stevie,
2. Mär 2015
Vermutlich müsste er dann alle SetLength auf Blub im Code ändern... - aber die dürften ja über Compilefehler zu finden sein.
Einfach Zähne zusammen beißen, die Record Types vernünftig kapseln und dann is gut.
Forum: Object-Pascal / Delphi-Language
by Stevie,
2. Mär 2015
Naja, als Überladen würd ich das nicht bezeichnen. Da werden System Funktionen gehooked.
D.h. bei allen vom Compiler generierten CopyRecord aufrufen in deiner gesamten Anwendung läuft der extra Dictionary Lookup.
Ich bin ja schon recht großzügig, Code nicht als Hack sondern als "geschickte Ausnutzung der Mechanik" zu bezeichnen, aber das ist definitiv ein Hack - und zwar ein gewaltiger - da...
Forum: Object-Pascal / Delphi-Language
by Stevie,
2. Mär 2015
Nur mal kurz zusammengeschludert:
program RecordFinalizer;
{$APPTYPE CONSOLE}
{$R *.res}
uses
Generics.Collections,
Forum: Object-Pascal / Delphi-Language
by Stevie,
2. Mär 2015
Cool, die kannt ich gar nicht - und hätt sie neulich sogar gebrauchen können :)