AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Inkompatible Typen: 'Char' und 'PAnsiChar'
Thema durchsuchen
Ansicht
Themen-Optionen

Inkompatible Typen: 'Char' und 'PAnsiChar'

Ein Thema von yasR · begonnen am 22. Apr 2010 · letzter Beitrag vom 22. Apr 2010
Antwort Antwort
Seite 1 von 2  1 2      
yasR

Registriert seit: 20. Sep 2009
39 Beiträge
 
#1

Inkompatible Typen: 'Char' und 'PAnsiChar'

  Alt 22. Apr 2010, 13:22
Hi,

bin gerade dabei ein Projekt von Delphi 2005 in Delphi 2010 portieren.

Delphi-Quellcode:

var1 [1] := var3 [5];
Inkompatible Typen: 'Char' und 'PAnsiChar'


var1 und var3 sind als String deklariert


Lg
yasR
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

Re: Inkompatible Typen: 'Char' und 'PAnsiChar'

  Alt 22. Apr 2010, 13:29
Zitat von yasR:
var1 und var3 sind als String deklariert
Wenn das stimmt, dann würde diese Fehlermeldung nicht auftauchen,
also bezweifle ich mal die Aussage über die "Strings"

oder du bist in der Zeile verrutscht und diese Fehlermeldung meint einen anderen Befehl.


Delphi-Quellcode:
Var A, E: String;
  B: PAnsiChar;
  C: Array of PAnsiChar;
  D: PPAnsiChar;

Begin
  A[1] := B[3]; // [DCC Fehler] ...: E2010 Inkompatible Typen: 'Char' und 'AnsiChar'
  A[1] := C[3]; // [DCC Fehler] ...: E2010 Inkompatible Typen: 'Char' und 'PAnsiChar'
  A[1] := D[3]; // [DCC Fehler] ...: E2016 Array-Typ erforderlich
  A[1] := E[3]; // nix
$2B or not $2B
  Mit Zitat antworten Zitat
yasR

Registriert seit: 20. Sep 2009
39 Beiträge
 
#3

Re: Inkompatible Typen: 'Char' und 'PAnsiChar'

  Alt 22. Apr 2010, 13:36
sie sind so unter Public deklariert:

var1: string [6];

var3 : string;
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

Re: Inkompatible Typen: 'Char' und 'PAnsiChar'

  Alt 22. Apr 2010, 13:42
Delphi-Quellcode:
var var1: String[6];
  var3 : String;

var1[1] := var3[5];
Würde es diesen Fehler ergeben,
Zitat:
[DCC Fehler] ...: E2010 Inkompatible Typen: 'AnsiChar' und 'Char'
welcher vollkommen korrekt ist, da var1=Ansi und var3=Unicode.

Der Typ String[x] ist ein ShortString und somit bleibt er ANSI, auch unter D2009/2010.
Paß also auf, daß du dir damit keine Informationen zerstörst.
Delphi-Quellcode:
var var1: String[6];
  var3 : String;

var1 := var3;
Zitat:
[DCC Warnung] ...: W1058 Implizite String-Umwandlung mit potenziellem Datenverlust von 'string' zu 'ShortString'
$2B or not $2B
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

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

Re: Inkompatible Typen: 'Char' und 'PAnsiChar'

  Alt 22. Apr 2010, 13:46
Deklarier var 3 als AnsiString, dann müsste die Fehlermeldung verschwinden.
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
hoika

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

Re: Inkompatible Typen: 'Char' und 'PAnsiChar'

  Alt 22. Apr 2010, 13:49
Hallo,

String <> String[x], zumindestens unter D2010.


Heiko
Heiko
  Mit Zitat antworten Zitat
yasR

Registriert seit: 20. Sep 2009
39 Beiträge
 
#7

Re: Inkompatible Typen: 'Char' und 'PAnsiChar'

  Alt 22. Apr 2010, 13:51
Danke, hab die Lösung von DeddyH verwendet.
  Mit Zitat antworten Zitat
yasR

Registriert seit: 20. Sep 2009
39 Beiträge
 
#8

Re: Inkompatible Typen: 'Char' und 'PAnsiChar'

  Alt 22. Apr 2010, 14:06
Habe jetzt nochmal so einen Fehler bekommen

Delphi-Quellcode:
var

daten : string;
puffer : string;
  for f := 1 to length(daten) do puffer[f] := daten[0 + f];
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

Re: Inkompatible Typen: 'Char' und 'PAnsiChar'

  Alt 22. Apr 2010, 14:10
Zitat von yasR:
Danke, hab die Lösung von DeddyH verwendet.
Sicher?

Den wenn das funktioniert, dann frage ich mich wo das PAnsiChar herkommt.
$2B or not $2B
  Mit Zitat antworten Zitat
hoika

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

Re: Inkompatible Typen: 'Char' und 'PAnsiChar'

  Alt 22. Apr 2010, 14:11
Hallo,

entweder AnsiString oder per Copy/Delete


Heiko
Heiko
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 01:39 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