向各位老大,高手求救,关于VB生成标准DLL后的调用问题。
我用网上流传的方法(手动使用link.exe+参数)生成可输出函数的DLL。
...
"F:\Temp\test\dll\Module1.OBJ" "F:\Temp\test\dll\Class1.OBJ" "F:\Temp\test\dll\testdll.OBJ" "E:\tools\Microsoft Visual Studio\VB98\VBAEXE6.LIB" /ENTRY:__vbaS /OUT:"F:\Temp\test\dll\testdll.dll" /BASE:0x11000000 /SUBSYSTEM:WINDOWS,4.0 /VERSION:1.0 /DEF:"F:\Temp\test\dll\testdll.DEF" /DLL /INCREMENTAL:NO /OPT:REF /MERGE:.rdata=.text /IGNORE:4078
...
DEF文件如下:
NAME testdll
LIBRARY Module1
DESCRIPTION "Add-on Library of Mathematical Routines"
EXPORTS DllMain @1
InputDate @2
在DLL中InputDate函数如下:
Public Function InputDate() As String
InputDate = "abcdefg"
End Function
+++++++++++++++++++++++++++++++++++++++++++
问题
+++++++++++++++++++++++++++++++++++++++++++
Public Declare Function InputDate Lib "F:\Temp\test\dll\testdll.dll" () As String
InputDate的返回值总是第一位"a",上面函数改为InputDate = "1234",返回值还是第一位"1"
如果上面要是换成Long型就可以了。
老大兄弟们帮帮忙,不能换成Long型啊!!!!!!!!!!!!!!!