WinHttpGetIEProxyConfigForCurrentUser的文档说:
如果它们不是非NULL,则调用者必须释放WINHTTP_CURRENT_USER_IE_PROXY_CONFIG结构中的lpszProxy,lpszProxyBypass和lpszAutoConfigUrl字符串。使用GlobalFree释放字符串。
我编写了以下代码(Delphi 10.3.2):
var
VConfig: TWinHttpCurrentUserIEProxyConfig;
begin
FillChar(VConfig, SizeOf(VConfig), 0);
if not WinHttpGetIEProxyConfigForCurrentUser(VConfig) then begin
RaiseLastOSError;
end;
...
if VConfig.lpszAutoConfigUrl <> nil then begin
GlobalFree(VConfig.lpszAutoConfigUrl); // <-- Error
end;
Run Code Online (Sandbox Code Playgroud)
并得到一个错误:
[dcc32错误] E2010不兼容的类型:“ NativeUInt”和“ PWideChar”
问题:
我应该类型转换PWideChar到NativeUInt?
我可以使用GlobafFreePtr代替GlobafFree(它可以接受PWideChar并在我的测试中正常工作)吗?