Wieso nicht einfach PChar? Damit wäre das bis Delphi 2007 automatisch PAnsiChar, danach dann PWideChar.
Jupp,
InternetOpenUrl ist nunmal die "dynamische" Version von Delphi, welche sich ans System anpaßt
und diese ist mit PChar deklariert, also muß man auch PChar verwenden.
Außerdem hast du auch den dynamischen
String verwendet, welcher ebenfalls nach einem PChar schreit.
1.
Wenn möglich, dann nachsehn, wie es im Delphi deklariert wurde.
(wenn man über die
VCL-Quellcodes verfügt)
2.
Nachsen wie es im
MSDN deklariert ist.
InternetOpenUrl
Die
WinAPI kenn also kein InternetOpenUrl.
Zitat:
Requirements
Unicode and
ANSI names:
InternetOpenUrlW (
Unicode) and
InternetOpenUrlA (
ANSI)
3.
Anhand der "richtigen" Deklaration die passenden Parameter verwenden.
InternetOpenUrl + PChar + String
InternetOpenUrl
A + P
AnsiChar +
AnsiString
InternetOpenUrl
W + P
WideChar +
WideString (seit 2009 auch mit
UnicodeString möglich)
Fällt dir was auf?