VC中调用VB生成的DLL,DLL中打开xml文件时出错。。。
本帖最后由 yuanyi_604 于 2010-07-07 16:27:14 编辑 VB生成的DLL中调用的函数TestCallDll:
Public Function TestCallDll()
Dim strXML As String
Dim strXMLFileName As String
MsgBox "0001"
strXMLFileName = App.Path & "\test.xml"
MsgBox "0002"
MsgBox strXMLFileName
Open strXMLFileName For Input As #1
MsgBox "0003"
strXML = Input(FileLen(strXMLFileName), #1)
MsgBox "0004"
Close #1
MsgBox "0005"
End Function
可以肯定的是,上面的TestCallDll()函数在VB环境下是能运行通过的。随便写的VB的exe程序测试即可。
生成DLL之后,在VC中调用,单步运行,通过观察弹出信息框,可以证明在运行DLL中的“ Open strXMLFileName For Input As #1 ”时出错。出错弹出信息:
---------------------------
Microsoft Visual C++
---------------------------
Unhandled exception in VCClient.exe (KERNEL32.DLL): 0xE06D7363: Microsoft C++ Exception.
---------------------------
确定
---------------------------
请问,我该如何更改程序,才能正确运行?
(提示:当你正确回答了这个问题,可以到这里VC板块这个问题里随便答一下,30分送上。。。)
[解决办法]
试下不用App.Path 而用固定路径,或者将这个方法加个路径参数
[解决办法]
注册一下你的DLL就行