是否不能调用在16位程序中使用的DLL?加急!!!(100分)

  • 主题发起人 主题发起人 jafy
  • 开始时间 开始时间
J

jafy

Unregistered / Unconfirmed
GUEST, unregistred user!
以前我有一个用VB3写的程序,它需要调用一个动态链接库,用vb3编译后可以在WINDOWS9X中正确运行,可现在要把该程序转成VB6或DELPHI6的,我使用了同样的方法如下:<br>在VB6的声明中写:<br>Declare Function LoadLibrary Lib "Kernel32" Alias "LoadLibraryA" (ByVal lpLibFileName$) As Integer<br>取出时用:<br>gv1 = LoadLibrary(path%+"TIN.DLL")<br>可GV1总是返回0,导致无法引用成功?请问这是为何?该如何调用这个DLL呢?<br>很急!十分感谢!!!!<br>
 
Win9X里边可以调用16位的DLL 但是不使用简单的LoadLibrary<br>MSDN里边有一些介绍 但是我也没有看懂 主要是相关 Thunk 的,好像就是说需要创建一个32位的DLL作为中介<br>具体请搜索[Thunk]在全文检索和Google
 
利用 Windows95 Direct Thunking 机制调用 16 Bit DLL 的范例程序。<br>http://www.csdn.net/dev/delphi/Samples/D2THUNK.ZIP &nbsp;
 
后退
顶部