AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Migration von Quelltext Delphi 2006 -> XE3

Ein Thema von DonManfred · begonnen am 17. Dez 2012 · letzter Beitrag vom 28. Dez 2012
Antwort Antwort
DonManfred

Registriert seit: 8. Nov 2007
Ort: Düren
55 Beiträge
 
Delphi 10.4 Sydney
 
#1

Migration von Quelltext Delphi 2006 -> XE3

  Alt 17. Dez 2012, 10:08
Delphi-Version: XE2
Moin zusammen,

ich habe hier ein grösseres Projekt von Delphi 2006 auf XE3 umzustellen und hänge an einer Stelle.

Ich habe hier nun kein XE3 zur Verfügung und kann keine Fehlermeldungen mitteilen, reiche diese aber gerne heute abend nach.

Delphi-Quellcode:
function dosascii(AText:String):String;
const MaxLength = 16384;
var PText : PChar;
begin
  AText := StringReplace(AText,'','Euro',[rfReplaceAll]);
  AText := StringReplace(AText,'%bslash%','\',[rfReplaceAll]);
  PText:=StrAlloc(MaxLength);
  StrPCopy(PText,AText);
  {$IFDEF WIN32}
  CharToOEM(PText,PText); {32Bit}
  {$ELSE}
  AnsiToOEM(PText,PText); {16Bit}
  {$ENDIF}
  Result:=StrPas(PText);
  //Result := AText;
  StrDispose(PText);
end;
Problematisch ist der Aufruf CharToOEM(PText,PText); {32Bit} Was muss ich bei einer Umstellung von Delphi 2006 auf Delphi XE3 beachten? Gibt es da irgendwelche FAQs oder ähnliches?

Wenn ich das richtig im Kopf habe dann habe ich versucht PText und FText auf Ansistring umzustellen aber dann kam wieder ein neuer Fehler. Genaue Fehlermeldungen/Compilermeldung reiche ich heute abend nach.

Vielen Dank im vorraus für jegliche Hinweise die zur ergreifung des schuldigen beitragen

Edith: In dem Dropddown bei erzeugung des Threads kann ich XE3 nicht auswählen; die Liste geht nur bis XE2
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.619 Beiträge
 
Delphi 12 Athens
 
#2

AW: Migration von Quelltext Delphi 2006 -> XE3

  Alt 17. Dez 2012, 10:14
Aus dem MSDN:
Zitat:
The destination buffer, which receives the translated string. If the CharToOem function is being used as an ANSI function, the string can be translated in place by setting the lpszDst parameter to the same address as the lpszSrc parameter. This cannot be done if CharToOem is being used as a wide-character function.
Übrigens:
Zitat:
Using this function incorrectly can compromise the security of your application.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.442 Beiträge
 
Delphi 12 Athens
 
#3

AW: Migration von Quelltext Delphi 2006 -> XE3

  Alt 17. Dez 2012, 10:28
Mach es dir doch einfach:

Delphi-Quellcode:
type
  OEMString = type AnsiString(850);

function dosascii(AText:String): OEMString;
begin
  AText := StringReplace(AText,'','Euro',[rfReplaceAll]);
  AText := StringReplace(AText,'%bslash%','\',[rfReplaceAll]);
  result := OEMString(AText);
end;
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
DonManfred

Registriert seit: 8. Nov 2007
Ort: Düren
55 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: Migration von Quelltext Delphi 2006 -> XE3

  Alt 28. Dez 2012, 10:45
Sorry für die späte Antwort; ich kam aufgrund der Feiertage erst jetzt dazu das auszuprobieren. Funktioniert super. vielen Dank, Uwe!

Die anderen kleinigkeiten habe ich selber hinbekommen. Lediglich diese Funktion hatte schwierigkeiten bei der Migration gemacht... Eins von 10 Programmen ist nun mit XE3 weiterentwickelbar... Eins von den umfangreicheren allerdings. Ein weiteres umfangreiches und 8 kleine Tools fehlen noch. Das 2. grosse macht vielleicht nochmal ein bissl arbeit aber auch das wird hinhauen denke ich. Bei den kleinen Tools sehe ich keine Probleme.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:26 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz