Delphi中怎麼呼叫vb的DLL

2021-07-25 02:50:03 字數 908 閱讀 5869

vb直接生成的是activex dll, 經過改造,也能生成標準的windows dll。 不知道你說的vb生成的dll是哪一類?

1. 標準的windows dll, delphi的例子很多。 無需等vb生成的dll。

2. 如果是vb生成的active x dll, 那麼: 首先註冊vb的activex dll,然後在delphi的project選單上選擇import type library,這樣delphi列出所有activex dll,選擇你的activex dll,然後delphi會生成乙個類供呼叫。

別人給的vb寫的dll,vb中是這樣調的

declare function get*** lib "xx.dll" (byval v1 as string, byval v2 as string, byval v3 as string) as integer

而我的delphi中呼叫

1.靜態方式 function get***(v1: string; v2: string; v3: string): integer; stdcall external 'xx.dll';

這樣呼叫的話,訪問記憶體錯誤

2.動態方式

dllhandle:= loadlibrary(xx.dll);

結果dllhandle < 0.

最佳答案 

問題1:

如果你給出的vb宣告是準確的話,那麼正確的delphi宣告應該是

function get***(v1: pchar; v2: pchar; v3: pchar): smallint; stdcall external 'xx.dll';

問題2:

dllhandle:= loadlibrary(xx.dll);

結果dllhandle < 0,這說明呼叫成功,只有dllhandle =0才是失敗。

DELPHI中建立呼叫DLL

一,新建 new other dll wizard 二,library new uses sysutils,classes,dialogs procedure dll begin showmessage delphi end exports dll begin end.三,儲存,四,project ...

DELPHI中動態呼叫dll

顯式例子 unit main inte ce uses windows,messages,sysutils,variants,classes,graphics,controls,forms,dialogs,stdctrls,extctrls,grids,dbgrids,db,dbtables,dbc...

Delphi中如何呼叫儲存過程

估計有很多朋友用delphi寫過與sql server 2000資料結合的一些mis系統,對於大量的資料儲存,及資料更新.常常考慮到用儲存過程來實現.今天我寫了乙個簡單的例子,希望能給一些朋友一點幫助.1 當然,我們要在sql server 2000中建好我們的資料庫及資料表。我這裡用的資料庫是re...