如何将字符串变量传递给期望PChar的函数?

前端之家收集整理的这篇文章主要介绍了如何将字符串变量传递给期望PChar的函数?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有这个代码
ShellExecute(Handle,'open','C:\Users\user\Desktop\sample\menu\WTSHELP\start.html',nil,sw_Show);

如何用字符串变量替换第三个参数中的文字?如果我使用下面的代码,它不会编译.

var
  dir: string;

dir := 'C:\Users\user\Desktop\sample\menu\WTSHELP\start.html';
ShellExecute(Handle,dir,sw_Show);

解决方法

我假设dir是string类型.然后
ShellExecute(Handle,PChar(dir),SW_SHOWNORMAL);

应该管用.的确,编译器告诉你这个;它说的像

[DCC Error] Unit1.pas(27): E2010 Incompatible types: 'string' and 'PWideChar'

(另请注意,当您拨打ShellExecute时,通常使用SW_SHOWNORMAL.)

猜你在找的Delphi相关文章