如何用dll内函数的result获取ini文件的参数?(100)

  • 主题发起人 主题发起人 黑河
  • 开始时间 开始时间

黑河

Unregistered / Unconfirmed
GUEST, unregistred user!
如题,我的test.dll中有函数cc,[result,long *]程序有sz.ini文件如下:[desk]w=800我想让dll的cc获取w的值,请问,如何写。
 
楼主看一下基础方面的资料就知道了,这是基础啊。用函数 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;
 
谢谢回复,但是Dll下inifile的readiniteger()读出的函数,是无效的。不知道为什么。我这些都会的。只是实际情况下读取ini的参数时候,并没有赋予到result上,所以才来问的。您也可以试验一下。
 
脑残无敌
 
F := TIniFile.Creat('sz.ini');写上绝对路径
 
学习了~~
 
从原理上说这样做就可以了,只是问题可能出现在实现的细节上。用 FileExists 看看 sz.ini 是否存在,要不就如 白河愁 兄说的用绝对路径。看看 sz.ini 文件的小节名,关键字名等有没有错误。
 
procedure TForm1.FormCreate(Sender: TObject);var ReturnStr:PChar;begin ReturnStr:=StrAlloc(20); GetPrivateProfileString('desk','w','默认值',ReturnStr,20,'sz.ini'); //按他们说的,写为绝对路径 showmessage( StrPas(ReturnStr) ); StrDispose(ReturnStr);end;
 
试验一下,有结果了,分分。
 
后退
顶部