Итак сделал следующее:
Код:
![Выделить весь код](images/misc/selectcode.png)
class CDlg : public CDialog
{
public:
.
.
.
void SetEditString(CString cStr);
friend DWORD WINAPI FGetInfo(HANDLE lpParam);
afx_msg void OnStart(void);
.
.
private:
HANDLE hThread;
DWORD dwThreadId;
DECLARE_MESSAGE_MAP();
};
.
.
.
void CDlg::OnStart()
{
hThread = CreateThread(NULL,NULL,FGetInfo,this,0,&dwThreadId);
}
.
.
.
DWORD WINAPI FGetInfo(HANDLE lpParam)
{
.
.
.
//пытаюсь обратиться к указателю и вызвоть метод класса
lpParam->SetEditString(asd);
.
.
.
}
на что мне компилятор ругается
error C2227: left of '->SetEditString' must point to class/struct/union
type is 'HANDLE'
В чем моя ошибка, как я понимаю hThread = CreateThread(NULL,NULL,FGetInfo,this,0,&dwThreadId); передает this и потом я могу через него обращятся к членам класса, или я заблуждаюсь??
Поправте меня плиз.