私のコードの何が問題なのか教えてください。
C#:
namespace ComMsg
{
[InterfaceType(ComInterfaceType.InterfaceIsIDispatch)]
public interface IM
{
[DispId(1)]
event M.MHandler OnMSend;
}
[InterfaceType(ComInterfaceType.InterfaceIsIDispatch)]
public interface IMEvents
{
[DispId(2)]
void sendM(M.Process status, string msg);
}
[ComSourceInterfaces(typeof(IM), typeof(IMEvents))]
[ClassInterface(ClassInterfaceType.None)]
public class Message : IM
{
public enum Process { Error, Complete }
public delegate void MHandler(Process status, string msg);
public event MHandler OnMSend;
public void sendM(Process status, string msg)
{
if (OnMSend != null)
OnMSend(status, msg);
}
}
}
VBAコードからこれを呼び出します
Private WithEvents moCom As ComMsg.M
Public Function Run() As Boolean
Set moCom = New ComMsg.M
それは失敗します
新しい ComMsg.Message
エラーメッセージが表示されます
「オブジェクトまたはクラスは一連のイベントをサポートしていません」
この問題の解決にご協力ください。ありがとう