在 Visual Basic 中使用導入 API會發(fā)現(xiàn)很難找到正確的 dll,
在VB中使用導入API
。我知道 C++ 中有一個 dll,但是,有沒有可以從 VB 應用程序調(diào)用的 dll 呢?回答是肯定的:
有兩種方法可以完成這項工作。一種方法就是在 VB 的 DECLARE 部分列出您希望調(diào)用的 C API,然后利用標準
的調(diào)用序列從 VB 調(diào)用它,如下面的代碼樣本所示:
Type SQLCA_STRUCT
sqlcaid As String * 8
sqlcabc As Long
sqlcode As Long
sqlerrml As Integer
sqlerrmc As String * 70
sqlerrp As String * 8
sqlerrd(6) As Long
sqlwarn As String * 11
sqlstate As String * 5
End Type
Public Declare Function sqlepstart Lib "db2app" Alias "sqlepstart_api"
(ByVal junk&, ByRef sqlca As SQLCA_STRUCT) As Integer
'
DB2_start = sqlepstart(0, sqlca) ' Start DB2 call
另一種方法就是生成一個文件,然后發(fā)出一條命令在后臺執(zhí)行該函數(shù)(當然,取決于您正在試圖做什么):
fileno = FreeFile
Open db2file For Output As #fileno
sqlstmt = "" + _
"db2start;" + vbNewLine + _
"quit;"
Print #fileno, sqlstmt ' Write commands to a file
Close #fileno ' Close it and execute the command
db2cmd = "db2cmd /i /c db2 -tvf " + db2file ' Generate the command
progID = Shell(db2cmd, vbMinimizedNoFocus) ' Shell out to run it
最后,DB2 的下一個版本將允許您象運行普通的 SQL 表函數(shù)那樣運行特殊的 API 命令,