掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
hDCに関するエラーを治すには? (ID:86424)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
失礼します。 私も同じような事で悩んでいます。 私の場合もVB6とVC++6の組み合わせの時はDLLのやりとりができていたのですが、 VB6をVB.NETに変更したところ、動かなくなりました。 上の投稿を参考にして、VB.NET側で、 Module _Module Public Declare Sub drawing Lib "dynamic.dll" (ByVal hDC As IntPtr, ByVal setData!) Public Declare Function GetDC Lib "user32" Alias "GetDC" (ByVal hWnd As IntPtr) As IntPtr Public setData(30) As Single Public Sub Display() Dim frmspace As New frmspace() setData(0) = frmspace.picSpace.Width setData(1) = frmspace.picSpace.Height Dim pic_hDC As IntPtr = GetDC(frmspace.picSpace.Handle)'←hDCを取得? Call drawing(pic_hDC, setData(0))'←DLLの関数drawingを呼び出して、setData配列を渡しているのか? End Sub End Module と、同じようなことをやってみましたが、 真琴さんと同様に、'System.NullReferenceException' のハンドルされていない例外… が発生します。 因みにVC++6側でDLLのExportは、 _declspec(dllexport) void _stdcall drawing(HDC hDC,float* setData) としています。 >・ハンドルが正しく取得できたかどうかを確認していない。 >・アンマネージドリソースの開放処理が(少なくてもVB側では)行われていない。 というのも、よく分からないです。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.