我有一個C一個導出函數++ DLL在一個C#應用程序,BYTE * P
// C++ DLL (Blarggg.dll)
extern "C"
{
USHORT ReadProperty(BYTE * messsage, USHORT length, BYTE * invokeID)
{
if(invokeID != NULL) {
* invokeID = 10 ;
}
return 0;
}
}
,我想將其提供給我的C#應用程序的DllImport一個C++ DLL
// C# app
[DllImport("Blarggg.dll")]
public static extern System.UInt16 ReadProperty(
/* [OUT] */ System.Byte[] message,
/* [IN] */ System.UInt16 length,
/* [OUT] */ System.Byte[] invokeID);
private void DoIt()
{
System.Byte[] message = new System.Byte[2000];
System.Byte[] InvokeID = new System.Byte[1];
System.UInt16 ret = ReadProperty(message, 2000, InvokeID); // Error
}
問題是我不斷收到以下錯誤消息。
類型「System.NullReferenceException」的unhanded異常出現在Blarggg.dll 其他信息:對象沒有設置爲一個對象的一個實例。
我使用VS2008來構建DLL和C#應用程序。
我不是C#程序員。
我在做什麼錯?
我將當前項目中的代碼複製到一個新項目中,並且能夠編譯並運行任何問題。它必須與我的應用程序或另一部分應用程序有關。 謝謝。 – 2009-10-21 23:35:54