タイトル : Re^3: クラスライブラリを解してのプロセス間データ共有 投稿日 : 2007/09/04(Tue) 09:55 投稿者 : キジ
自己レスです。 VBにはポインタ変数がないから、やはり実現不可なんでしょうね。 ポインタの代入をVCのDLLで代用するため __declspec(dllexport) void APIENTRY Pointer2Pointer(long *pDsc, long *pSrc) { pDsc = pSrc; } とかやってみましたが、 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− PInvokeStackImbalance が検出されました。 Message: PInvoke 関数 'WindowsApplication1!WindowsApplication1.mdlApsShared::Pointer2Pointer' がスタックを不安定にしています。PInvoke シグネチャがアンマネージ ターゲット シグネチャに一致していないことが原因として考えられます。呼び出し規約、および PInvoke シグネチャのパラメータがターゲットのアンマネージ シグネチャに一致していることを確認してください。 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− となりました。 pDscは結局VBのデータ変数(ポインタ変数ではない)なのでメモリ破壊と見なされるんでしょうね。 あきらめて従来どおり、全てVCのDLLで作成し、その中でデータ共有することにします。 ありがとうございました。 |