Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Hilfe für Umstieg von TurboDelphi auf XE7 Starter (https://www.delphipraxis.net/183719-hilfe-fuer-umstieg-von-turbodelphi-auf-xe7-starter.html)

Woodman 30. Jan 2015 17:49

Delphi-Version: XE7

Hilfe für Umstieg von TurboDelphi auf XE7 Starter
 
Hallo Wissende,
ich bin ein wenig am verzweifeln:evil:. Da ich mir einen neuen Rechner zugelegt habe und dabei von XP auf Win 8.1 gewechselt bin, dachte ich mir, das ich auch mal mein Delphi modernisieren könnte. Für meine Hobby-Anwendungen kam dabei nur die Starter-Version in Frage.
Zumindest von der Oberfläche ist kein so großer Unterschied fest zustellen.:-D

Aber: Der Teufel steckt im Detail. Das ich alle "String" und "Char" usw. in "AnsiString" und "AnsiChar" umwandeln muss, daran habe ich mich schon gewöhnt - obwohl ein genereller Schalter "Use Turbo-Modus" auch nicht schlecht wäre.

Jetzt aber zu meinem eigentlichen Problem:
Sehr oft kommen jetzt folgende Warnungen:
Delphi-Quellcode:
[dcc32 Warnung] HTDB.pas(218): W1000 Symbol 'StrComp' ist veraltet: 'Moved to the AnsiStrings unit'
[dcc32 Warnung] HTDB.pas(358): W1000 Symbol 'StrLen' ist veraltet: 'Moved to the AnsiStrings unit'
[dcc32 Warnung] HTDB.pas(359): W1000 Symbol 'StrCopy' ist veraltet: 'Moved to the AnsiStrings unit'
So weit, so gut, dann habe ich halt bei den "Uses" "AnsiStrings" zugefügt. Jetzt aber wurde aus den Warnungen Fehler:o
Delphi-Quellcode:
[dcc32 Fehler] HTDB.pas(359): E2251 Doppeldeutiger überladener Aufruf von 'StrCopy'
  System.AnsiStrings.pas(3248): Verwandte Methode: function StrCopy(PAnsiChar; const PAnsiChar): PAnsiChar;
  System.SysUtils.pas(10888): Verwandte Methode: function StrCopy(PAnsiChar; const PAnsiChar): PAnsiChar;
Was ich nicht verstehe: Warum deklariert man zweimal die gleiche Funktion, lässt aber den Compiler drüber stolpern?
Wie komme ich aus diesem Dilemma? Ich könnte natürlich die Unit "AnsiString" wieder entfernen und die Compiler-Direktive {$WARN} setzen, aber sehr wohl ist mir dabei auch nicht.

Gibt es eine einfache Methode für Anfänger, den ganzen Schlamassel zu umgehen?

himitsu 30. Jan 2015 18:10

AW: Hilfe für Umstieg von TurboDelphi auf XE7 Starter
 
Zitat:

Zitat von Woodman (Beitrag 1288327)
Gibt es eine einfache Methode für Anfänger, den ganzen Schlamassel zu umgehen?

Delphi-Quellcode:
p3 := System.AnsiStrings.StrCopy(p1, p2);
:angel:

Zitat:

Das ich alle "String" und "Char" usw. in "AnsiString" und "AnsiChar" umwandeln muss, daran habe ich mich schon gewöhnt
Sicher, daß du das wirklich immer mußt?

Woodman 30. Jan 2015 18:19

AW: Hilfe für Umstieg von TurboDelphi auf XE7 Starter
 
Danke für die rasche Antwort,
Zitat:

Zitat von himitsu (Beitrag 1288338)
...
Delphi-Quellcode:
p3 := System.AnsiStrings.StrCopy(p1, p2);
:angel:

Na ja... StrCopy hin zuschreiben war einfacher.:roll:
Zitat:

Zitat von himitsu (Beitrag 1288338)
Zitat:

Das ich alle "String" und "Char" usw. in "AnsiString" und "AnsiChar" umwandeln muss, daran habe ich mich schon gewöhnt
Sicher, daß du das wirklich immer mußt?

Nein, bin ich nicht, aber immerhin heißt das, alte Projekte, die ich noch mal anfassen muss, aufs genaueste zu überprüfen:cry:


Alle Zeitangaben in WEZ +2. Es ist jetzt 00:28 Uhr.

Powered by vBulletin® Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf