ab.com コミュニティ
https://www.activebasic.com/forum/

作成したDLLを呼ぶとエクセルが落ちる
https://www.activebasic.com/forum/viewtopic.php?t=4577
ページ 11

作成者:  まごまごスクリプタ [ 2015年6月14日(日) 07:47 ]
記事の件名:  作成したDLLを呼ぶとエクセルが落ちる

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

どこがおかしいのでしょう?

作成者:  まごまごスクリプタ [ 2015年6月15日(月) 07:31 ]
記事の件名:  Re: 作成したDLLを呼ぶとエクセルが落ちる

自己解決
文字列の引数指定はポインタ指定じゃないと駄目みたいですね。 コンパイルで引っかからないのはおかしいです。
AB5でDLL作成は問題ありそうなので、AB4に切り替えました。 サンプルDLLとして指定座標でマウスをクリックするDLLを作って正常に動作することを確認しました。 VBAマクロで作った同じものと比べての倍の実行時間がかかるので使いものにはならないです。

ページ 11 全ての表示時間は UTC+09:00 です
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/