![]() |
Delphi-Version: 5
inkompatible Typen Widechar und Char
Hallo,
wie muss ich das denn /'Conventieren/', dass die fehlermeldung den Geist aufgibt? ;)
Delphi-Quellcode:
function LoadURL(URL: String): String;
var IOpen, IURL: HINTERNET; Read: Cardinal; Msg: string; begin Result := ''; try IOpen := InternetOpen('Okay!',INTERNET_OPEN_TYPE_PRECONFIG, '', '',INTERNET_FLAG_NEED_FILE); if IOpen <> nil then try [U]IURL := InternetOpenUrl(IOpen, PWideChar(URL), nil, 0,INTERNET_FLAG_DONT_CACHE, 0);[/U] if IURL <> nil then try SetLength(Msg, 4096); repeat if InternetReadFile(IURL, @Msg[1], 4096, Read) then Result := Result + Copy(Msg, 1, Read) else Break; until Read = 0; finally InternetCloseHandle(IURL); end; finally InternetCloseHandle(IOpen); end; except end; end; // EDIT: Hab PwideChar durch PAnsiChar ersetzt... aber hab nur geraten :D Gibts da trotzdem Probleme, bzw. kann es zu Problemen kommen? |
AW: inkompatible Typen Widechar und Char
Unter Delphi < 2009 richtig geraten ...
|
AW: inkompatible Typen Widechar und Char
Wieso nicht einfach PChar? Damit wäre das bis Delphi 2007 automatisch PAnsiChar, danach dann PWideChar.
|
AW: inkompatible Typen Widechar und Char
Zitat:
![]() und diese ist mit PChar deklariert, also muß man auch PChar verwenden. Außerdem hast du auch den dynamischen ![]() 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. ![]() Die WinAPI kenn also kein InternetOpenUrl. Zitat:
Anhand der "richtigen" Deklaration die passenden Parameter verwenden. InternetOpenUrl + PChar + String InternetOpenUrlA + PAnsiChar + AnsiString InternetOpenUrlW + PWideChar + WideString (seit 2009 auch mit UnicodeString möglich) Fällt dir was auf? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:45 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