初めて投稿します。
2005VBとVB6でMSMQを使用してデータの受け渡しをやりたいと思います。
配列以外のデータやり取りまでは確認できましたが、配列データを
送ろうとするとエラーが発生してしまいます。
「実行時エラー'328':不正なパラメータです。配列に書き込めません。」
受け渡しのオブジェクトはActiveX.DLL(VB6)です。
色々と調べても解決方法を探し出せず、ご教授願います。
簡単に現状のソースを記入します。2005VBからVB6へ通知するソースです。
(2005VB-test.exe)
Imports act
Try
Dim msgNext As Message = New Message
Dim dt As cls
Dim a() As String = {"1", "2", "3"}
dt.Param1 = a
mQueue.Formatter = New ActiveXMessageFormatter()
mQueue.Send(dt, "1") ← ここでエラー
Catch exc As Exception
Console.WriteLine("Message not sent: " & exc.Message)
End Try
(VB6-ActiveX.Dll) ActiveX名:act / Class名:cls
Private mstrParam1() As String
Public Property Get Param1() As String()
Param1 = mstrParam1
End Property
Public Property Let Param1(iNew() As String)
mstrParam1 = iNew
End Property
Private Sub Class_InitProperties()
ReDim mstrParam1(3)
End Sub
Private Sub Class_ReadProperties(PropBag As PropertyBag)
mstrParam1 = PropBag.ReadProperty("Param1")
End Sub
Private Sub Class_WriteProperties(PropBag As PropertyBag)
PropBag.WriteProperty "Param1", mstrParam1 ← 実際はここでエラー
End Sub
タイトルに誤字です。。
MSMQですね。申し訳ありません。