最近遇到一个关于OCX的问题!!!急!急!急!急!----在线等待(50分)

  • 主题发起人 主题发起人 pany
  • 开始时间 开始时间
P

pany

Unregistered / Unconfirmed
GUEST, unregistred user!
请问怎么可以获取OCX的当前目录,我用过ExtractFilePath(Application.ExeName)这个函数在Exe模式里可以获取,但在OCX模式就出错!不知到为什么????
 
怎么了!每人回答吗?
 
为什么没有回答啊?班主请回贴 啊!
 
用ChangeFileExt(Application.ExeName)试试看,我的都可以
 
TO jmdx

function ChangeFileExt(const FileName, Extension: string): string;
这个函数好象是:返回改变扩展名后的文件名.
而且象你这样赋参数ChangeFileExt(Application.ExeName)编译不通过。原因缺少参数。
 
我现在用ExpandFileName()函数可以找到的不是绝对路径,不知为什么。本来stock.mdb的路径是:“C:/Documents and Settings/Bluewater/桌面/新建文件夹/stock.mdb”
但是用ExpandFileName('stock.mdb')函数返回的是这个路径:
“C:/Documents and Settings/Bluewater/桌面/stock.mdb”
 
想知道么
我告诉你:
var
MHandel : DWORD;
tmpstr : string;
begin

........
MHandel:= GetModuleHandle('Test02.ocx');
//获取注册该OCX文件的路径信息
tmpstr:= GetModuleName(MHandel);
tmpstr:= MidStr(tmpstr, 1, GetPathLength(tmpstr));
showmessage(tmpstr + '/config.mdb');
..........
end;

function TTestActiveFormX.GetPathLength(PathStr: string): integer;
var
i: integer;
begin

Result:= -1;
for i:= length(PathStr)do
wnto 1do

begin

if PathStr = '/' then

begin

Result:= i-1;
Break;
end;

end;

end;
 
获取 OCX 当前目录使用这个:
ExtractFilePath(GetModuleName(0))
 
后退
顶部