关于out 参数。 ( 积分: 50 )

  • 主题发起人 主题发起人 楞头青
  • 开始时间 开始时间

楞头青

Unregistered / Unconfirmed
GUEST, unregistred user!
我调用一个函数,很简单的
function SelectDirectory(const Caption: string
const Root: WideString;
out Directory: WideString): Boolean;

开是调用
var
strDirectory:String;

wstrRoot:String;
begin
SelectDirectory('Please Select Directory',wstrRoot,strdirectory);


可是编译通不过, Types of actual and format var parameters must be identical

谁知道为什么?
 
我调用一个函数,很简单的
function SelectDirectory(const Caption: string
const Root: WideString;
out Directory: WideString): Boolean;

开是调用
var
strDirectory:String;

wstrRoot:String;
begin
SelectDirectory('Please Select Directory',wstrRoot,strdirectory);


可是编译通不过, Types of actual and format var parameters must be identical

谁知道为什么?
 
他要求是widestring,那么strdirectory就必须用widestring类型
 
var
strDirectory:WideString;
wstrRoot:string;
begin
SelectDirectory('Please Select Directory',wstrRoot,strdirectory);
end;
把strDirectory改成WideString类型的就可以了。
 
早试过了,不行,按理说string类型也可以的,我用的是delphi7
 
SelectDirectory('Please Select Directory',wstrRoot,out strdirectory);
这样调用,试一试

 
现在又可以了,不知道是不是编译器的毛病

thanks for all.
 
后退
顶部