Люди, есть код:
| Код | struct SMS { CString name,number,text; CWnd *window; };
void SendSMS(PVOID smsdata) { SMS *sms=(SMS*)smsdata; MessageBox(NULL,sms->text.GetBuffer(0),"p",MB_OK); }
BOOL SendMsg(CString name, CString number, CString text, CWnd *Window) { SMS sms; sms.name=name; sms.number=number; sms.text=text; sms.window=Window; _beginthread(SendSMS,0,(PVOID)&sms); return TRUE; }
|
Сначала вызывается SendMsg, туда передаётся 4 параметра, как видно, потом заполняется структура SMS и вызывается поток, куда передаётся адрес этой структуры в качестве параметра. Функция SendSMS принимает данные и пытается вывести MsgBox с полем text структуры SMS, но на этом моменте возникает критическая ошибка и прога вылетает. В чём дело, почему структура не передалась потоку ? |