AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Warnung: ...Datenverlust ... String zu AnsiString
Thema durchsuchen
Ansicht
Themen-Optionen

Warnung: ...Datenverlust ... String zu AnsiString

Ein Thema von olaf · begonnen am 28. Jul 2010 · letzter Beitrag vom 29. Jul 2010
Antwort Antwort
olaf

Registriert seit: 4. Mai 2009
Ort: Iserlohn
82 Beiträge
 
RAD-Studio 2009 Pro
 
#1

Warnung: ...Datenverlust ... String zu AnsiString

  Alt 28. Jul 2010, 13:16
Delphi-Version: 2009
Hallo,

ich bekomme immer folgende Warnung. Habe schon alles mögliche versucht aber bekomme sie nicht weg.

[DCC Warnung] Mainu.pas(4554): W1058 Implizite String-Umwandlung mit potenziellem Datenverlust von 'string' zu 'AnsiString'

es liegt an der letzten Zeile:
Delphi-Quellcode:
pfaddat:=einstell.GetSpecialFolder(CSIDL_COMMON_DOCUMENTS)+'\Bsmtermindat\';
regist.WriteString('Datmain',pfaddat);
dm.basemterm.Location:=pfaddat+'mterm.tdbd'; //Hier entsteht die Warnung
Vielen Dank für eine Lösung, ansonsten schalte ich sie in den Optionen aus.

Olaf
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Warnung: ...Datenverlust ... String zu AnsiString

  Alt 28. Jul 2010, 13:32
-Welchen Typ gibt GetSpecialFolder() zurück?
-Wie ist pfaddat deklariert?
-Welchen Typ hat basemterm.Location?
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.114 Beiträge
 
Delphi 12 Athens
 
#3

AW: Warnung: ...Datenverlust ... String zu AnsiString

  Alt 28. Jul 2010, 13:37
.Location wird ein AnsiString sein, wärend pfaddat ein String/UnicodeString/WideString sein wird.

Bei Unicode auf Ansi passen ja nicht alle theoretisch vorhandenen (Unicode)Zeichen rein, darum warnt Delphi.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Warnung: ...Datenverlust ... String zu AnsiString

  Alt 28. Jul 2010, 13:38
Das vermute ich auch, deshalb meine Nachfrage
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.114 Beiträge
 
Delphi 12 Athens
 
#5

AW: Warnung: ...Datenverlust ... String zu AnsiString

  Alt 28. Jul 2010, 13:47
Muß man da wirklich noch vermuten?
Wissen reicht doch auch.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.270 Beiträge
 
Delphi 10.4 Sydney
 
#6

AW: Warnung: ...Datenverlust ... String zu AnsiString

  Alt 28. Jul 2010, 14:45
Hallo,

ich würde die Warnung nicht ausschalten,
sondern wie hier durch TypeCast umgehen.


dm.basemterm.Location:= AnsiString(pfaddat+'mterm.tdbd');
Heiko
Heiko
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: Warnung: ...Datenverlust ... String zu AnsiString

  Alt 28. Jul 2010, 14:47
Was aber theoretisch genauso verlustbelastet sein wird
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von H4ndy
H4ndy

Registriert seit: 28. Jun 2003
Ort: Chemnitz
515 Beiträge
 
Delphi XE3 Professional
 
#8

AW: Warnung: ...Datenverlust ... String zu AnsiString

  Alt 28. Jul 2010, 14:57
Was aber theoretisch genauso verlustbelastet sein wird
Stimmt, aber selbst Embacadero empfielt diese Warnung zu deaktivieren, da es immer vorkommen kann, wenn man Unicode durch eine Codepage nach Ansi bringt, dass Zeichen fehlen können. Einzig UTF8 bringt da Abhilfe, was aber wiederum kein "richtiges" Ansi ist.
Manuel
  Mit Zitat antworten Zitat
olaf

Registriert seit: 4. Mai 2009
Ort: Iserlohn
82 Beiträge
 
RAD-Studio 2009 Pro
 
#9

AW: Warnung: ...Datenverlust ... String zu AnsiString

  Alt 29. Jul 2010, 08:15
Hallo,

vielen Dank für die Antworten.

Ich habe wie "hoika" vorgeschlagen hat gecastet und diese nervige Warnung war weg.

Olaf
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.114 Beiträge
 
Delphi 12 Athens
 
#10

AW: Warnung: ...Datenverlust ... String zu AnsiString

  Alt 29. Jul 2010, 08:18
Stimmt, aber selbst Embacadero empfielt diese Warnung zu deaktivieren, da es immer vorkommen kann, wenn man Unicode durch eine Codepage nach Ansi bringt, dass Zeichen fehlen können.
Wenn man geziehlt "selber" veranlaßt, daß eventuell Zeichen wegkommen,
dann kann man das durch einen expliziten Cast erledigen, welcher keine Warnung ausstößt.
Bei einem impliziten Cast warnt Delphi aber, da es ja nicht wissen kann, daß dieses eine gewollte/gedultete Umwandlung ist.

Also global diese Warnung abzuschalten halte ich für einen Fehler, da so "Fehler" unentdeckt bleiben können.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  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 05:23 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