AB5で以下のDLLを作ってリリースビルドはOK
Function Export dlltest(txt As String) As Long
Dim Title As String
Title="TEST"
MessageBox(0 , txt , Title , MB_OK)
dlltest=1
End Function
エクセル2010VBAでDLLを呼ぶとエクセルが落ちてしまいます
Declare Function dlltest Lib "D:\ActiveBasic 5.0\MyProjects\ABmyDLL\ABmyDLL.dll" (ByVal txt As String) As Long
Sub test()
Ret = dlltest("てすと")
End Sub
どこがおかしいのでしょう?
作成したDLLを呼ぶとエクセルが落ちる
Re: 作成したDLLを呼ぶとエクセルが落ちる
自己解決
文字列の引数指定はポインタ指定じゃないと駄目みたいですね。 コンパイルで引っかからないのはおかしいです。
AB5でDLL作成は問題ありそうなので、AB4に切り替えました。 サンプルDLLとして指定座標でマウスをクリックするDLLを作って正常に動作することを確認しました。 VBAマクロで作った同じものと比べての倍の実行時間がかかるので使いものにはならないです。
文字列の引数指定はポインタ指定じゃないと駄目みたいですね。 コンパイルで引っかからないのはおかしいです。
AB5でDLL作成は問題ありそうなので、AB4に切り替えました。 サンプルDLLとして指定座標でマウスをクリックするDLLを作って正常に動作することを確認しました。 VBAマクロで作った同じものと比べての倍の実行時間がかかるので使いものにはならないです。