1

C++ の知識をもう少し持っている人が私を助けてくれることを願っています。Managed C++ DLL で作成したクラスから 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);
};
4

1 に答える 1

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);

}
于 2009-09-30T20:24:46.253 に答える