![]() |
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; |
Re: Inkompatible Typen: 'string' und 'PAnsiChar'
Du musst aus dem String einen PChar machen.
Delphi-Quellcode:
PChar(''+homepage+'')
|
Re: Inkompatible Typen: 'string' und 'PAnsiChar'
Hi,
vielleicht genügt aber auch PChar(homepage) ... Grüße vom marabu |
Re: Inkompatible Typen: 'string' und 'PAnsiChar'
warum muss ich das machen?
Zitat:
|
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 |
Re: Inkompatible Typen: 'string' und 'PAnsiChar'
okay danke!
|
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:
schreiben um den Pointer auf das erste Zeichen zu bekommen.
var
P: Pointer; P:=@S[1]; |
Re: Inkompatible Typen: 'string' und 'PAnsiChar'
Ein Cast auf PChar (typisieter Zeiger) ist aber besser.
|
Re: Inkompatible Typen: 'string' und 'PAnsiChar'
Zitat:
![]() |
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