Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Inkompatible Typen: 'string' und 'PAnsiChar' (https://www.delphipraxis.net/115878-inkompatible-typen-string-und-pansichar.html)

Delphi-Phil 19. Jun 2008 11:19


Inkompatible Typen: 'string' und 'PAnsiChar'
 
Hallo,


ich bekomme immer folgende Fehlermeldung zu diesem code:

[DCC Fehler] HaupUnit.pas(52): E2010 Inkompatible Typen: 'string' und 'PAnsiChar'


Delphi-Quellcode:
//Browser mit Firmenhomepage öffnen
procedure THauptForm.Button1Click(Sender: TObject);
var
homepage : String;
begin
homepage := QryKunde.FieldByName('homepage').AsString;
ShellExecute(0, 'open', ''+homepage+'', nil, nil, SW_SHOW);
end;

pilic 19. Jun 2008 11:21

Re: Inkompatible Typen: 'string' und 'PAnsiChar'
 
Du musst aus dem String einen PChar machen.
Delphi-Quellcode:
PChar(''+homepage+'')

marabu 19. Jun 2008 11:23

Re: Inkompatible Typen: 'string' und 'PAnsiChar'
 
Hi,

vielleicht genügt aber auch PChar(homepage) ...

Grüße vom marabu

Delphi-Phil 19. Jun 2008 11:24

Re: Inkompatible Typen: 'string' und 'PAnsiChar'
 
warum muss ich das machen?


Zitat:

vielleicht genügt aber auch PChar(homepage) ...
jop das geht auch!

Sherlock 19. Jun 2008 11:25

Re: Inkompatible Typen: 'string' und 'PAnsiChar'
 
Marabus Version genügt auf jeden Fall.

Zum Warum: Weil das zwei verschiedene Typen sind. Delphi Strings werden anders gehandhabt als PAnsiChar-Strings (zB. Delphi Hilfe zu "Nullterminierte Strings" befragen). Da muss man halt eine Typumwandlung vornehmen.

Sherlock

Delphi-Phil 19. Jun 2008 11:25

Re: Inkompatible Typen: 'string' und 'PAnsiChar'
 
okay danke!

generic 19. Jun 2008 13:54

Re: Inkompatible Typen: 'string' und 'PAnsiChar'
 
Zwischen String und PAnsichar ist ein großer Unterschied.
Das P steht für Pointer.

Also könntest du

Delphi-Quellcode:
var
  P: Pointer;

P:=@S[1];
schreiben um den Pointer auf das erste Zeichen zu bekommen.

mkinzler 19. Jun 2008 14:02

Re: Inkompatible Typen: 'string' und 'PAnsiChar'
 
Ein Cast auf PChar (typisieter Zeiger) ist aber besser.

Olli 19. Jun 2008 14:45

Re: Inkompatible Typen: 'string' und 'PAnsiChar'
 
Zitat:

Zitat von mkinzler
Ein Cast auf PChar (typisieter Zeiger) ist aber besser.

Bei Strings ist das reine Geschmackssache, nimmt sich im Prinzip nix.

String-Tutorial von Motzi.


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:40 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