我正在尝试更正一个通过调用对其他程序产生影响的程序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
是蓝牙加密狗的通讯端口):
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
?