呼び出しで他のプログラムにするプログラムを修正しようとしていcreateProces
ます。
Brick
問題は、クラスのオブジェクトをcreateProcess
呼び出しのパラメーターとして渡すときです。
この方法で(メインで)オブジェクトを作成します。
char IpApplicationName[1000];
STARTUPINFO StartInfo;
PROCESS_INFORMATION ProcessInfo;
strcpy(IpApplicationName, "c:\\Documents and Settings\\Eigenaar\\Bureaublad\\BluetoothTestr\\recvProc\\bin\\Debug\\recvProc.exe");
//set up the NXT
Connection *connection = new Bluetooth();
Brick *nxt = new Brick(connection);
char *nxt_ptr = (char *)&nxt;
次に、次のように接続します (6
は Bluetooth ドングルの通信ポートです)。
connection->connect(6);
CreateProcess(IpApplicationName, nxt_ptr, NULL, NULL, FALSE, CREATE_NEW_CONSOLE, NULL, NULL, &StartInfo, &ProcessInfo);
これはすべて正常に機能すると思いますが、問題は、次のようにプロセスでクラスにchar*
バックキャストする場合です。Brick
recvProc.exe
Brick *nxt = (Brick*)argv[0];
これにコメントすると、プログラムは正常に動作します...この行の何が問題になっていますか? または、 Connection オブジェクトを に渡す必要がありますcreateProcess
か?