gpt4 book ai didi

delphi - 不兼容的类型 : 'WideChar' and 'Char' delphi 7

转载 作者:行者123 更新时间:2023-12-03 05:01:10 24 4
gpt4 key购买 nike

使用 shellexecute 调用外部程序时,我的 delphi 代码中出现错误

procedure TReceiverMainForm.btnSearchClick(Sender: TObject);
var
args:string;
begin
mmoResult.Clear;
// args := ' /d=' + TIdURI.URLEncode(Trim(sSearch)) + ' /t=ReceiverMainForm /s=30 /m=1'
args := ' /q=' + httpencode(Trim(txtSearch.Text)) + ' /t=ReceiverMainForm /s='+Trim(txtS.Text)+' /m='+Trim(txtM.Text);
ShellExecute(Handle, 'open', 'YTD.exe', pWideChar(args), nil, SW_SHOWNORMAL);
end;

如何解决这个错误?

最佳答案

ShellExecute函数的定义如下

function ShellExecute(hWnd: HWND; Operation, FileName, Parameters,
Directory: PChar; ShowCmd: Integer): HINST; stdcall;

所以问题是您将 args 变量转换为 PWideChar 而不是 PChar

试试这个代码

ShellExecute(Handle, 'open', 'YTD.exe', PChar(args), nil, SW_SHOWNORMAL);

请记住,Delphi 7 早于 Unicode Delphi 开发。因此,PChar 是 8 位字符类型 PAnsiChar 的别名。

关于delphi - 不兼容的类型 : 'WideChar' and 'Char' delphi 7,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12546582/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com