我希望有更多C ++知识的人能够帮助我。我正在尝试使用托管C ++ DLL中创建的类I在C#中创建一个对象数组。我不知道发生了什么事。我能够运行应用程序并构建它设置类数组似乎工作得很好但是当我从数组调用一个函数时,它永远不会研究托管DLL。我已经跟踪了它,它根本不起作用。应用程序也不会因任何错误而失败。有趣的是,当我删除了类的数组,并且只有在它运行良好且花花公子时才启动该类。请帮我弄清楚如何解决这个问题。
//C#
public ClientBridge[] netlobby;
private void connectToLobby(int lobbyIndex)
{
//lobbyIndex = 0
netlobby[lobbyIndex] = new ClientBridge();
connectLobby[lobbyIndex] = netlobby[lobbyIndex].MMK_Connect(host, lobbyport);
}
//C++ DLL
// This class is the managed reference class
public ref class ClientBridge
{
public:
ClientBridge();
virtual ~ClientBridge();
bool MMK_Connect(String^ hostpass, UInt16 port);
};
答案 0 :(得分:2)
看起来好像你没有初始化数组
public ClientBridge[] netlobby = new ClientBridge[MAX_BRIDGES]; // <- gotta initialize
private void connectToLobby(int lobbyIndex)
{
netlobby[lobbyIndex] = new ClientBridge();
connectLobby[lobbyIndex] = netlobby[lobbyIndex].MMK_Connect(host, lobbyport);
}