SelectDirectory的问题!(30分)

  • 主题发起人 主题发起人 nofault
  • 开始时间 开始时间
N

nofault

Unregistered / Unconfirmed
GUEST, unregistred user!
我用的是Delphi6,我在程序中使用了这个函数,这个函数需要Uses QDialogs这个单元。结果我的程序到别的计算机上不能启动!怎么回事儿?[:(][:(]
那我该怎么办?有和SelectDirectory一样的其他函数可以用吗?
 
var
bi: TBrowseInfo;
pidl: pItemIdList;
strpath, displayname: string;
I : Integer;
begin
SetLength (displayname, 100);

bi.hwndOwner := Handle;
bi.pidlRoot := nil;
bi.pszDisplayName := pChar (displayname);
bi.lpszTitle := '目录选择';
bi.ulFlags := $0040 OR BIF_VALIDATE;
bi.lpfn := nil;
bi.lParam := 0;

pidl := ShBrowseForFolder (bi);

SetLength (strPath, 100);
if Not ShGetPathFromIdList (pidl, PChar(strPath)) then Exit;
Result := Trim(Copy(strPath,0,Pos(#0,strpath)-1));
end;
 
你将这个函数注释就能在别的机子上启动了吗?
 
只要Uses列表里没有QDialogs,就可以在其他没有安装Delphi6的计算机上运行了。
是不是和编译有关系?不可能非要系统安装Delphi6才能运行吧?
 
高定了,不User QDialogs, 用 FileCtrl就可以了
 
什么原因,为什么用FileCtrl就可,搞清楚了吗,等待下文
 
具体我也说不清楚,就知道QDialogs只有D6有,如果Uses里包含它,没有安装D6的就不能运行。而FileCtrl就可以。
这个函数在这两个单元里都有声明,所以Use其中一个就可以。
 
多人接受答案了。
 
后退
顶部