InstallShield 怎么定义一个函数,被传入的参数能够被这个自定义函数修改? 是这样的:
我在一个函数里调用FormatPath( TARGETDIR,installDir),
但是我用MessageBox(installDir,INFORMATION)查看installDir的值是空的,
请问在FormatPath里改如何修改?? FormatPath函数体如下:
function FormatPath(srcPath,desPath)
LIST dirList;
STRING item;
NUMBER svReturn;
NUMBER nCount;
begin
dirList = ListCreate(STRINGLIST); if (StrGetTokens(dirList,srcPath ,"\\")=0) then
svReturn = ListGetFirstString (dirList,item);
nCount = 0;
while (svReturn = 0)
if (nCount != 0) then
desPath = desPath+"/"+item;
else
desPath=item;
nCount = 1;
endif;
svReturn = ListGetNextString (dirList,item);
endwhile;
endif;
return 0;
end;
我在一个函数里调用FormatPath( TARGETDIR,installDir),
但是我用MessageBox(installDir,INFORMATION)查看installDir的值是空的,
请问在FormatPath里改如何修改?? FormatPath函数体如下:
function FormatPath(srcPath,desPath)
LIST dirList;
STRING item;
NUMBER svReturn;
NUMBER nCount;
begin
dirList = ListCreate(STRINGLIST); if (StrGetTokens(dirList,srcPath ,"\\")=0) then
svReturn = ListGetFirstString (dirList,item);
nCount = 0;
while (svReturn = 0)
if (nCount != 0) then
desPath = desPath+"/"+item;
else
desPath=item;
nCount = 1;
endif;
svReturn = ListGetNextString (dirList,item);
endwhile;
endif;
return 0;
end;
解决办法:
在声明函数时在参数类型前加上BYREF
比如prototype FormatPath(STRING,BYREF STRING);