我正在尝试更正一个通过调用对其他程序产生影响的程序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?