![]() |
Delphi 6 -> XE(4) wie mit char/pchar umgehen
Morgen zusammen.
Wir portieren unsere Software ( + externe Komponenten usw ) von Delphi 6 nach XE4 und das Hauptproblem machen mir die alten char/pchar Variablen. Nicht nur in unserer Software sondern auch in Komponenten/Units von Drittanbietern die teilweise nicht mehr weiterentwickelt werden. Die Holzhammer Methode mit
Code:
ist zwar ganz nett, aber bringt auch wieder Probleme an anderen stellen.
type char = ansichar;
type pchar = pansichar;
Code:
oder Api Befehle die widechar haben möchten.
var a :char;
begin a := mystring[1]; // Fehler beim compilieren Wie löst man das ganze am besten oder muss man in den sauren Apfel beißen? Unser Quellcode ist nicht gerade klein und würde das schon gerne effizient angehen. LG Sven |
AW: Delphi 6 -> XE(4) wie mit char/pchar umgehen
Zitat:
Ob die Strings jetzt 1 oder 2 Byte haben, ist eigentlich egal. Ein Converter muss nur an die Stellen, wo Strings direkt in einen Stream oder per Record auf die Platte geschrieben werden. [Vereinfacht gesagt] Mavarik |
AW: Delphi 6 -> XE(4) wie mit char/pchar umgehen
Ich bin gerade dabei die XMLLib anzupassen ( die läuft ) und nun an Tcipher ( läuft noch nicht ).
Das ganze ist schon ziemlich aufwendig. |
AW: Delphi 6 -> XE(4) wie mit char/pchar umgehen
Zitat:
Zitat:
Bei jedem Einsetzen konnten wir davon ausgehen das es noch unter D6 ohne Probleme funktionierte und wir somit immer noch lieferfähig waren. Beim ersetzen am besten gleich die Anwendung auf Code-Dupletten prüfen (sammelt sich so einiges mit der Zeit an) und zusammenfasse. Strukturen die Ansi-Strings benötigen in Klassen verpacken und diese Abhängikeit mit Getter/Setter verstecken. |
AW: Delphi 6 -> XE(4) wie mit char/pchar umgehen
Es muss ja nicht immer gleich ein Apple sein :wink:
Sauer ist er trotzdem und rum kommen tust du auch nicht. Damals habe ich tatsächlich erst mal alles ansifiziert, dazu in alle units bei uses zuerst eine u_D2009 eingefügt, die die typdefinition enthielt. Bei den Windows-Api Aufrufen habe ich erst mal alle zu der A Variante geändert. Mir waren damals die Generics wichtig und Unicode erstmal egal. Erst später habe ich die Strings dann zug um zug umgestellt. |
AW: Delphi 6 -> XE(4) wie mit char/pchar umgehen
Der Code muss übrigens nicht mehr unter D6 laufen.
Wir stellen komplett um auf XE4. Ich verzweifle gerade an DECCipher. Einer unsere alten Kollegen hat die benutzt um unsere Lizenzdatei mit MIME64 zu codieren. Aktuell arbeite ich mich durch ein kleines Programm durch und ändere unsere ganzen Units ab, so dass sie a) übersetzbar sind und dann b) lauffähig. Hölzchen-Stöckchen Methode Danke für die Antworten. Die types habe ich heute morgen schon entfernt und selber Hand angelegt. |
AW: Delphi 6 -> XE(4) wie mit char/pchar umgehen
Hallo,
willkommen im Club ... Ich verzweifle gerade an DECCipher. Einer unsere alten Kollegen hat die benutzt um unsere Lizenzdatei mit MIME64 zu codieren Das geht auch mit den Indy-Komponenten. Heiko |
AW: Delphi 6 -> XE(4) wie mit char/pchar umgehen
Ich hab es hinbekommen gestern. Alles in DECCipher auf ansistring/ansichar geändert und auch die Übergabe auf Ansistring gecastet.
Kann es nun einwandfrei benutzen. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:20 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