Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Umstieg von RAD-Studio 2007 auf XE2 (https://www.delphipraxis.net/165123-umstieg-von-rad-studio-2007-auf-xe2.html)

musicman56 15. Dez 2011 12:15

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.

Uwe Raabe 15. Dez 2011 12:27

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.

mquadrat 15. Dez 2011 12:36

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.

musicman56 15. Dez 2011 12:38

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?

mkinzler 15. Dez 2011 12:42

AW: Umstieg von RAD-Studio 2007 auf XE2
 
Wenn man sauber programmiert hat nicht.

musicman56 15. Dez 2011 12:51

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"?

DeddyH 15. Dez 2011 12:53

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).

musicman56 15. Dez 2011 13:50

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;

Uwe Raabe 15. Dez 2011 13:56

AW: Umstieg von RAD-Studio 2007 auf XE2
 
Zitat:

Zitat von musicman56 (Beitrag 1141587)
Würde denn beispielsweise folgendes problemlos weiter funktionieren:

Yup!

Bernhard Geyer 15. Dez 2011 13:59

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 MSDN, ist aber auf 1024 beschränkt. Also wenn du sehr lange Pfad hast wirst du Probleme haben (Bei Ansi-WinAPI war die Konstante noch 260).

musicman56 15. Dez 2011 14:20

AW: Umstieg von RAD-Studio 2007 auf XE2
 
Hallo,

na dann kann ich doch schon etwas relaxter an die Sache ran gehen. Wäre nur noch die andere Frage zu klären:

Zitat:

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?
Es ist einfach so: Ich hab um die 800 Kunden die sehr zufrieden sind mit der Zuverlässigkeit und Stabilität. Das möchte ich keinesfalls aufs Spiel setzen. Es hat in der Vergangenheit ja schon einige Delphi-Versionen gegeben, die besser gar nicht erschienen wären. Anscheinend ist XE2 noch nicht weit verbreitet :roll:

Uwe Raabe 15. Dez 2011 15:22

AW: Umstieg von RAD-Studio 2007 auf XE2
 
Zitat:

Zitat von musicman56 (Beitrag 1141603)
Anscheinend ist XE2 noch nicht weit verbreitet :roll:

Das ist aber auch nicht weiter verwunderlich - schließlich sind einige Bibliotheken erst kürzlich oder noch gar nicht für XE2 angepasst worden. Oft wird eine solche Anpassung auch mit einem Major-Update verbunden, was dann ja auch neue Funktionalität mitbringt.

Ebenso wird nicht jeder gleich alles auf XE2 umgestellt haben, insbesondere nicht aus den gleichen Gründen, die du anführst. Irgendwer muss halt irgendwann mal vorangehen. Man sollte halt immer die Möglichkeit eines Fallbacks bereit stellen.

jbg 15. Dez 2011 16:18

AW: Umstieg von RAD-Studio 2007 auf XE2
 
Zitat:

Zitat von Bernhard Geyer (Beitrag 1141593)
Aber soweit ich sehe hat Emba-dingsbums die Konstante MAX_PATH falsch definiert.

Hast du dir den angegebenen MSDN Link auch gründlich durchgelesen? "#define MAX_PATH 260". Wenn du die 32k haben willst, musst du den Pfad über "\\?\D:\very long path" angeben. Wo du die 1024 her hast, weiß ich nicht.

Bernhard Geyer 15. Dez 2011 16:34

AW: Umstieg von RAD-Studio 2007 auf XE2
 
Zitat:

Zitat von jbg (Beitrag 1141628)
Zitat:

Zitat von Bernhard Geyer (Beitrag 1141593)
Aber soweit ich sehe hat Emba-dingsbums die Konstante MAX_PATH falsch definiert.

Hast du dir den angegebenen MSDN Link auch gründlich durchgelesen? "#define MAX_PATH 260". Wenn du die 32k haben willst, musst du den Pfad über "\\?\D:\very long path" angeben.

Müsste mal ausprobieren ob das wirklich nur mit \\?\ geht.

Zitat:

Zitat von jbg (Beitrag 1141628)
Wo du die 1024 her hast, weiß ich nicht.

System.SysUtils. Aber wie ich sehe haben mit die ganzen IF-DEFS einen Streich gespielt ...

Aber auch Embaracadero ist verwirrt.

In System.pas ist für Linux MAX_PATH = 1024,
in System.SysUtils.pas ist es 4095 ...

Insider2004 31. Dez 2011 15:27

AW: Umstieg von RAD-Studio 2007 auf XE2
 
max_path ist in Windows.pas definiert und so gross

const
MAX_PATH = 260;


Die anderen Definitionen sind für Linux und Mac und können natürlich andere Grössen haben.

Mavarik 7. Jan 2012 04:23

AW: Umstieg von RAD-Studio 2007 auf XE2
 
Hi!

Also ich habe für die Umstellung auf XE2 ca. 2 Monate gebraucht...

Ich habe 2x wieder bei Null angefangen, weil mein "Umstellungs-Konzept" nicht "richtig" war...

Ich habe mir einen Source-Converter programmiert mit Syntax-Analyse (8000Zeilen)

Ich habe immer noch 18500 Warnings wo eine Unicode->AnsiString Convertierung noch ggf. überarbeitet werden muss.

Ich habe entschieden... 64Bit wird überschätzt und arbeite weiterhin mit D2007.

Das Risiko das tausende Kunden nicht mehr arbeiten können war mir zu groß...Vielleicht 2013 nochmal versuchen...

Aber ich will Dich nicht entmutigen...

Grüsse Mavarik

musicman56 7. Jan 2012 10:18

AW: Umstieg von RAD-Studio 2007 auf XE2
 
Zitat:

Aber ich will Dich nicht entmutigen...
Durchaus nicht! Ich danke dir für dein ehrliches Statement. Für die Umstellung an sich, würde ich mittlerweile genügend Zeit einplanen, so um die 2-4 Monate.

Was mich derzeit noch viel mehr beschäftigt ist meine "Frage 1". Im Klartext: Ich befürchte nach wie vor, dass XE2 zu den "weniger erfolgreichen" Versionen zählt, wie z.B. Delphi 6 oder Delphi 2008. Darauf habe ich noch keine befriedigende Antwort.

Jedenfalls habe ich erst mal das Update-Angebot bis 31.12. genutzt und mir XE zugelegt.

Insider2004 7. Jan 2012 10:57

AW: Umstieg von RAD-Studio 2007 auf XE2
 
Delphi 6 war genauso erfolgreich wie Delphi 7. Delphi 7 ist einfach die Referenz oder Legende geworden, weil es die schnellste IDE überhaupt ist. Nichtmal XE2 kommt da ran. Und weil Borland jahrelang nichts vernünftiges liefern konnte (D200x). D2008 hat es nie gegeben.

Laut Allen Bauer ist XE2 die erfolgreichste IDE überhaupt. Gemäss den Verkaufszahlen.

stahli 7. Jan 2012 11:16

AW: Umstieg von RAD-Studio 2007 auf XE2
 
Mit XE bin ich sehr zufrieden.

Die Unicodeumstellung habe ich schon mit 2009 mitgemacht, ohne Probleme da ich vorher keine größeren Schweinereien angestellt hatte. ;-)

XE2 reizt mich nicht. Vollgestopft mit allen möglichen Neuerungen, die überflüssig sind, wenn man nur "normale Windows-Anwendungen" erstellen will.
Das Data-Binding ist schon interessant, aber es erscheint mir recht umständlich.
64Bit braucht man doch wohl nicht zwingend - oder? Eigentlich sollten doch auch die 32Bit-Compilate unter Win64 laufen - oder?

Was eine Überlegung wert wäre ist ein Upgrade von XE Prof auf XE Enterp. wegen DataSnap und erweiterter UML-Unterstützung. Allerdings bin ich auch skeptisch, ob das soo viel bringt, wie es auf den ersten Blick scheint.

Also bleibe ich bei XE Prof. und bin sehr zufrieden damit.

jbg 7. Jan 2012 11:18

AW: Umstieg von RAD-Studio 2007 auf XE2
 
Zitat:

Zitat von Mavarik (Beitrag 1144767)
Also ich habe für die Umstellung auf XE2 ca. 2 Monate gebraucht...

Wow! Ich hatte für die Umstellung von über 8 Millionen Zeilen Code (alle Projekte und alle Komponenten-Packages [längst untergegangene Hersteller, bzw. Hersteller die noch nicht so weit waren oder wo wir Geld sparen wollten]) gerade einmal 5 Tage gebraucht. Und das bei Handarbeit und Suchen&Ersetzen. Am meisten Arbeit waren die fremden Komponenten. Unser eigener Code hatte mehr mit den DBExpress Änderungen von Delphi 7 nach 2009 zu kämpfen als mit Unicode Problemen.

Zitat:

Ich habe immer noch 18500 Warnings wo eine Unicode->AnsiString Convertierung noch ggf. überarbeitet werden muss.
Da habt ihr aber einiges an "Schabernack" mit den Strings getrieben, oder viel mit ShortString bzw PAnsiChar gearbeitet.

musicman56 7. Jan 2012 11:33

AW: Umstieg von RAD-Studio 2007 auf XE2
 
Hallo,

das Problem mit den "untergegangenen" Herstellern habe ich auch. Zum Beispiel Orpheus von Turbopower, Stand 2003. Die Eingabefelder sind bei mir immer noch in nahezu allen Forms vorhanden.

Zu XE2: Ich denke nicht, dass man eine Relation zwischen Verkaufszahlen und Qualität herstellen kann. Aber, als alter Borland-Fan lasse ich mich natürlich gerne auch vom XE2 überraschen. Nächste Woche setze ich eine neue Maschine dafür auf, und dann "schau'n ma mal" wie wir Bayern sagen, wieviele Warnings die IDE ausspuckt :-D

Herzlichen Dank für Eure Anregungen und Beiträge!

USchuster 7. Jan 2012 11:58

AW: Umstieg von RAD-Studio 2007 auf XE2
 
Zitat:

Zitat von musicman56 (Beitrag 1144794)
das Problem mit den "untergegangenen" Herstellern habe ich auch. Zum Beispiel Orpheus von Turbopower, Stand 2003. Die Eingabefelder sind bei mir immer noch in nahezu allen Forms vorhanden.

Es gibt bei SourceForge das TurboPower Orpheus Projekt das gepflegt wird.

musicman56 7. Jan 2012 13:35

AW: Umstieg von RAD-Studio 2007 auf XE2
 
Hallo,

vielen Dank für den Orpheus-Tipp! Hab's soeben runter geladen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:55 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