黑 黑河 Unregistered / Unconfirmed GUEST, unregistred user! 2009-04-05 #1 如题,我的test.dll中有函数cc,[result,long *]程序有sz.ini文件如下:[desk]w=800我想让dll的cc获取w的值,请问,如何写。
L liyinwei Unregistered / Unconfirmed GUEST, unregistred user! 2009-04-05 #2 楼主看一下基础方面的资料就知道了,这是基础啊。用函数 cc 的返回值传回 w 的值就可以了。uses IniFiles;function cc: Integer;stdcall;var F: TIniFile; w: Integer;begin F := TIniFile.Creat('sz.ini'); Try w := F.ReadInteger('desk','w',0); Finally F.Free; end; Result := w;end;
楼主看一下基础方面的资料就知道了,这是基础啊。用函数 cc 的返回值传回 w 的值就可以了。uses IniFiles;function cc: Integer;stdcall;var F: TIniFile; w: Integer;begin F := TIniFile.Creat('sz.ini'); Try w := F.ReadInteger('desk','w',0); Finally F.Free; end; Result := w;end;
黑 黑河 Unregistered / Unconfirmed GUEST, unregistred user! 2009-04-05 #3 谢谢回复,但是Dll下inifile的readiniteger()读出的函数,是无效的。不知道为什么。我这些都会的。只是实际情况下读取ini的参数时候,并没有赋予到result上,所以才来问的。您也可以试验一下。
谢谢回复,但是Dll下inifile的readiniteger()读出的函数,是无效的。不知道为什么。我这些都会的。只是实际情况下读取ini的参数时候,并没有赋予到result上,所以才来问的。您也可以试验一下。
白 白河愁 Unregistered / Unconfirmed GUEST, unregistred user! 2009-04-06 #5 F := TIniFile.Creat('sz.ini');写上绝对路径
L liyinwei Unregistered / Unconfirmed GUEST, unregistred user! 2009-04-06 #7 从原理上说这样做就可以了,只是问题可能出现在实现的细节上。用 FileExists 看看 sz.ini 是否存在,要不就如 白河愁 兄说的用绝对路径。看看 sz.ini 文件的小节名,关键字名等有没有错误。
从原理上说这样做就可以了,只是问题可能出现在实现的细节上。用 FileExists 看看 sz.ini 是否存在,要不就如 白河愁 兄说的用绝对路径。看看 sz.ini 文件的小节名,关键字名等有没有错误。
Z znxia Unregistered / Unconfirmed GUEST, unregistred user! 2009-04-07 #9 procedure TForm1.FormCreate(Sender: TObject);var ReturnStrChar;begin ReturnStr:=StrAlloc(20); GetPrivateProfileString('desk','w','默认值',ReturnStr,20,'sz.ini'); //按他们说的,写为绝对路径 showmessage( StrPas(ReturnStr) ); StrDispose(ReturnStr);end;
procedure TForm1.FormCreate(Sender: TObject);var ReturnStrChar;begin ReturnStr:=StrAlloc(20); GetPrivateProfileString('desk','w','默认值',ReturnStr,20,'sz.ini'); //按他们说的,写为绝对路径 showmessage( StrPas(ReturnStr) ); StrDispose(ReturnStr);end;