VB辅导:VB中使用导入的API
在Visual Basic中使用导入API会发现很难找到正确的dll。我知道C++里有dll,但是有没有可以从VB应用中调用的dll?
答案是肯定的:
完成这项工作有两种方法。一种方法是在VB的DECLARE部分列出要调用的C API,然后使用标准调用序列从VB中调用。下面的代码示例显示:
Type sqlca _ struct
sqlca id As String * 8
sqlca BC As Long
sqlcode As Long
sqlerrml As integer
sqlerrmc As String * 70
sqlerrp As String * 8
sqlerrd(6)As Long
SQL warn As String * 11
SQLSTATE As String,ByRef sqlca as sqlca _ struct)as integer
'
DB2 _ start = sqlepstart(0,sqlca)' start DB2 call
另一种方式是生成一个文件,然后发出一个命令在后台执行函数(当然,这取决于你试图做什么):
fileno = freefile
open db 2 file for output as # fileno
sqlstmt = " "+_
" db2s+ vbNewLine + _
"退出;
Print #fileno,sqlstmt '将命令写入文件
Close #fileno '关闭它并执行命令
db 2 cmd = " db 2 cmd/I/C-tvf "+db 2 file '生成命令
progid = shell (db2cmd,vbminimized nofocus)' shell out来运行它
最后,下一版本的DB2将允许您运行特殊的API命令,就像普通的SQL表函数一样。这将返回当前在DB2中发现的许多管理API的结果。因此,您不需要进行API调用,您可以只使用SQL调用从DB2获取信件。
0条评论