关于DLL函数调用问题???急!!!(50分)

  • 主题发起人 主题发起人 guitarboy
  • 开始时间 开始时间
G

guitarboy

Unregistered / Unconfirmed
GUEST, unregistred user!
调用dll中的函数,我想把这些函数当作类函数来声明。可是好像有问题?请叫高手,该如果操作?<br>如 function Start; external 'test.dll' name 'Start';<br><br>我想写成<br>&nbsp;TMyClass = class(Component)<br>&nbsp; public<br>&nbsp; &nbsp;function Start(Id:PChar): BOOL; stdcall; <br>&nbsp;end;<br><br>implementation<br><br>function TMyClass.Start; external 'test.dll' name 'Start';<br>不对,请问该如何写呢??谢谢!!!
 
function Start; external 'test.dll' name 'Start';<br>&nbsp;TMyClass = class(Component)<br>&nbsp; public<br>&nbsp; &nbsp;function Start(Id:PChar): BOOL; <br>&nbsp;end;<br>{TMyClass}<br>function TMyClass.Start;<br>begin<br>&nbsp; Start;//调用dll中的函数<br>end;<br>类函数里再调用dll中的函数
 
在DLL中封装好类。然后EXPORTS函数,该函数的返回值类型为类类型,这样调的时候直接像操作类方法就可以了。
 
楼上的意思是这样,Dll里面通过函数返回值直接返回一个TMyClass对象就可以了:<br>function CreateMyClass: TMyClass; external 'test.dll';<br>...<br><br>var<br>&nbsp; v:TMyClass;<br>..<br>&nbsp; v:= CreateMyClass;<br>&nbsp; v.Start;
 
晕,有楼主那样的写法吗?function Start; external 'test.dll' name 'Start';<br>后面怎么着也得有个返回类型吧,呵呵。<br>楼上的说的对,但是这个类要在主程序也定义一个同样的抽象类才能用。
 
后退
顶部