Erstmal eine Frage:
Nutzt ihr irgendwelche "wilden" Pointer/Puffer-Speicherrumschiebereien?
Im Grunde könnte ihr jeden Code in Delphi 7, sowohl Delphi 2010 verwenden, wenn ihr an allen Stellen richtig trennt.
Da wo unbedingt
ANSI verlangt ist (z.B. bei der Dateiübertragung oder der Speicherung), müßt ihr auch
ANSI-Typen (AnsiChar, AnsiString, PAnsiChar) verwenden.
Ist unbedingt
Unicode verlangt (auch in Delphi 7), so muß eben mit
Unicode-Typen (WideChar, WideString, PWideChar) gearbeitet werden.
Da wo es je nach Delphiversion angepaßt sein kann, wird eben Char, String und PChar verwendet.
Vorallem wenn alles dynamisch (in Delphi 7
Ansi und in 2010
Unicode) sein soll/kann, dann gibt es keine Probleme, und man kann den selben Code sowohl in Delphi 7, als auch Delphi 2010 nutzen.
(nachdem man geprüft hat, daß auch wirklich nur Char, String und PChar im Code verwendet wurden)
Wenn ihr auch gleich mal einige "neue" Features von Delphi 2010 nutzen wollt, welche in D7 nicht existieren,
dann kommt ihr mit Variante 3 wohl besser:
> Code nur für D2010
> Code nur für D7
> Code welcher für beides Versionen ist
Ihr müßt dann allerdings bei einem Bugfix womöglich alles doppelt ändern. (jeweils in der D7- und der D2010-Version)
Gut, man könnte über Kompilerschalter auch alles in einer Version handhaben.
Kann somit an bestimmten Stellen, in den selben Units, jeweils einen versionsabhängigen Code verbauen.
Kann aber auch schlechter neue Compilerfeatures nutzen.
Zitat:
Da wir einige Programme schon beim Kunden am Laufen haben, soll es nach wie vor möglich sein, diesen Versionsstand in Delphi 7 zu bearbeiten, z.B. bei Bugfixes.
Ist es denn nicht möglich diese Versionen upzugraden ("jetzt" oder sobald mal ein Problem mit der alten Version auftritt) und alles komplett nur noch auf der neuen Version weiterzuentwickeln?