かんたんなDLL

返信する


答えを正確に入力してください。答えられるかどうかでスパムボットか否かを判定します。

BBCode: ON
[img]: ON
[url]: ON
スマイリー: OFF

トピックのレビュー
   

展開ビュー トピックのレビュー: かんたんなDLL

by ゲスト » 2006年6月03日(土) 20:13

私も参考になりました。

コードを書くときは、値渡し、参照渡しは面倒でも、
常に明示しておくほうがよさそうですね。

by tak » 2006年5月24日(水) 01:18

AB での引数渡しはデフォルトで ByVal となります。
VB は ByRef がデフォルトですので、渡し方をどちらも合わせる必要があります。

VB にて

コード: 全て選択

Declare Function aplusb Lib "aaa.dll" (ByVal a As Long, ByVal b As Long) As Long
とすればうまくいくはずです。

かんたんなDLL

by デビュー » 2006年5月24日(水) 00:07

Active Basic でWin32DLLができるときき、飛びついた者です。

さて、以下のDLL(aaa.dll)をつくりました。

Function Export aplusb(a as long ,b as long) as long

aplusb = a + b

End Function

このDLL関数をエクセルのVBAで以下のようにしたところ、
なぜか「2616260」
が返ってくるのです。
何か致命的なミスありますでしょうか?



Declare Function aplusb Lib "C:\AB\aaa\aaa.dll" (a As Long, b As Long) As Long

Sub a()

MsgBox aplusb(1, 2)


End Sub

ページトップ