![]() |
Umstieg von RAD-Studio 2007 auf XE2
Hallo Delphi-Fangemeinde,
derzeit setze ich noch - zur vollsten Zufriedenheit - Delphi 2007 ein. Habe zwar das RAD-Studio, benutze aber lediglich Delphi. Da es noch bis zum Jahresende gute Update-Konditionen gibt, denke ich darüber nach, auf Delphi XE2 upzudaten. 1. Frage: Früher oder später muss ich den Wechsel machen, um meinen Kunden 64-bit Anwendungen anbieten zu können. Wie gut und zuverlässig läuft XE2 bzw. die damit erstellten Anwendungen? Oder sollte ich vielleicht besser auf die nächste Delphi-Version warten? 2. Frage: Wie hoch ist der Umstellungs-Aufwand. Mein Projekt umfasst ca. 240.000 Zeilen Quellcode, überwiedend Datenbank- und Fenster-Verwaltung. Relativ wenig WIN-API. Aber, da wird wohl trotzdem einiges auf mich zukommen? Hat jemand Erfahrung mit der Umstellung bzw. den Umstellungs-Problemen? Vielen Dank schon mal vorab für Eure Antworten. |
AW: Umstieg von RAD-Studio 2007 auf XE2
1) Zu den 64-Bit-Anwendungen kann ich noch nicht allzuviel sagen, da noch nicht alle verwendeten Bibliotheken in 64-Bit verfügbar sind.
2) Eine Umstellung eines Programms in vergleichbarer Größe war bei mir innerhalb weniger Stunden erledigt. Eigentlich ist es einfach nur Projekt öffnen und compileren. Probleme entstehen eigentlich nur dort, wo gepfuscht oder getrickst wurde. |
AW: Umstieg von RAD-Studio 2007 auf XE2
Bei mir steht die Umstellung für "zwischen den Jahren" an. Bei einem ersten Test hat nur ein eigenes TCP Protokoll Probleme gemacht. Fenster und DB haben 1:1 funktioniert - sofern alle benötigten Komponenten für XE2 vorliegen.
|
AW: Umstieg von RAD-Studio 2007 auf XE2
Hallo Uwe,
das wäre ja traumhaft, wenn es so einfach wäre. Lauern da nicht an allen Ecken noch die Unicode-Fallen? |
AW: Umstieg von RAD-Studio 2007 auf XE2
Wenn man sauber programmiert hat nicht.
|
AW: Umstieg von RAD-Studio 2007 auf XE2
Hallo Markus,
ich kenn mich da leider in den Details nicht so gut aus (bin in Sachen Programmierung ein Autodidakt). Was meinst du denn mit "sauber"? |
AW: Umstieg von RAD-Studio 2007 auf XE2
U.a., dass man nicht automatisch davon ausgegangen ist, dass ein Char = 1 Byte (z.B. bei API-Aufrufen, die einen String und eine Größenangabe in Bytes erwarten).
|
AW: Umstieg von RAD-Studio 2007 auf XE2
Hallo Detlef,
so ähnlich hab ich mir das schon vorgestellt. Die Probleme dabei sind: Teile des Codes sind schon 10+ Jahre alt und etwa 1/4 des Codes stammt von meinem ehemaligen Programmierer. Gibt es denn irgendwo im WEB eine Zusammenstellung über die am häufigsten gemachten Fehler? Im Großen und Ganzen gehe ich schon davon aus, dass ich einigermaßen "sauber" programmiert hab. Würde denn beispielsweise folgendes problemlos weiter funktionieren:
Delphi-Quellcode:
function RuGetWinDir : string;
var puffer : array[0..MAX_PATH] of char; begin GetWindowsDirectory(puffer,MAX_PATH); Result := string(puffer); end; function RuBrowseForFolder(Handle: THandle; Title: string): string; var WindowList : Pointer; bi: TBrowseInfo; pidl: PItemIDList; strPath: string; i : integer; begin Result := ''; FillChar(bi, SizeOf(bi), 0); bi.hwndOwner := Handle; bi.pidlRoot := nil; bi.pszDisplayName := nil; bi.lpszTitle := PChar(Title); bi.ulFlags := BIF_RETURNONLYFSDIRS; bi.lpfn := nil; bi.lParam := 0; WindowList := DisableTaskWindows(0); try pidl := ShBrowseForFolder (bi); finally EnableTaskWindows(WindowList); end; SetLength (strPath, MAX_PATH); for i := 1 to MAX_PATH do strPath[i] := ' '; ShGetPathFromIdList (pidl, PChar(strPath)); Result := Trim(strPath); end; |
AW: Umstieg von RAD-Studio 2007 auf XE2
Zitat:
|
AW: Umstieg von RAD-Studio 2007 auf XE2
Grundsätzlich schaut der Code auf den ersten Blick gut aus.
Aber soweit ich sehe hat Emba-dingsbums die Konstante MAX_PATH falsch definiert. Diese müsste eigentlich bei verwendung der Win32-Unicode-API 32767 sein (siehe auch ![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:14 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz