delphi调用vc写的dll时,对文件句柄的传递?(100分)

  • 主题发起人 主题发起人 Walone
  • 开始时间 开始时间
W

Walone

Unregistered / Unconfirmed
GUEST, unregistred user!
用vc写的dll中有一个函数<br>bool &nbsp;play(ULONG lPlayer,FILE *file = NULL);<br>我在delphi中调用,这个函数怎么声明,第二个参数该怎么样传?<br><br>为什么我用openfile打开文件时,<br>filehandle := fileopen(strFilename,fmCreate);<br>返回值总是-1?<br><br>系统 win2kpro &nbsp;delphi6 +upd1+upd2<br><br><br><br>
 
vc不懂,FileOpen的Mode没有fmCreate,<br>用这个测试,AHandle不是-1;<br><br>procedure TForm1.Button1Click(Sender: TObject);<br>var<br>&nbsp; AHandle: Integer;<br>begin<br>&nbsp; if OpenDialog1.Execute then<br>&nbsp; begin<br>&nbsp; &nbsp; AHandle := FileOpen(OpenDialog1.FileName, fmOpenRead);<br>&nbsp; &nbsp; try<br>&nbsp; &nbsp; &nbsp; Showmessage(IntToStr(AHandle));<br>&nbsp; &nbsp; finally<br>&nbsp; &nbsp; &nbsp; FileClose(AHandle);<br>&nbsp; &nbsp; end;<br>&nbsp; end;<br>end;<br>
 
bool &nbsp;play(ULONG lPlayer,FILE *file = NULL);<br>=<br>play(lplay:longint, file:handle) :boolean;
 
FILE是标准C的文件指针,pascal中没有相应的结构.
 
让底层开发那里修改了接口,不这样用了。改成传个pchar的文件名
 
后退
顶部