Delphiで作成したDLLの関数をVBAで使用したいと思っております。
引数が単純な数値や文字列の場合はうまく動くのですが、
引数に「Array of PChar」型の文字列配列を使用する関数で呼出しがうまくいかず、
呼出し側(Excel)が強制終了となってしまいます。
VBA側の関数宣言と、実際に渡す変数はどのようにすればよろしいでしょうか?
あるいは、そもそもArray of PCharという引数の型に問題があるのでしょうか?(Delphiからは呼び出せますが)
以上、よろしくお願いします。
横から人のスレを汚して申し訳ないのですが、
私は、DLLの引数にVBA変数を渡すことすらよくわかりません。
delphiのDLL側に、VBA変数を参照するポインタを設定すると解決できるようなのですが、具体的にどのようにDLLを書くのかわかりません。
どこかにサンプルコードはないでしょうか。
詳細がわからないのでなんとも言えないのですが、
VBA側の引数の宣言を、VyBal
Delphi側の引数の宣言を、var
で行ってみてはいかがでしょうか?
ツイート | ![]() |