Re: Обращение к CDoucument из другого потока.
От: Trapper  
Дата: 17.01.04 09:36
Оценка:
M>Привет!

M>Создал отдельный поток и в нем в определенный момент пытаюсь изменить всего-навсего титл документа CDocument::SetTitle, на что во время работы вскакивает ошибка о нарушение доступа.

M>Хотя в нутри потока где класс CView все работает нормально.
M>Подскажите как обойти эту проблему?
M>Спасибо.

Всё правильно, Вы обращяетесь из другого потока к классу Документ по указателю на него, так? Указатели при переходе через границу потока протухают и их нельзя более использовать.
Могу предложить Вам такое решение:
1.Заведите глобальную переменную hWnd с типом HWND, которая будет видна из любого потока и будет хранить описатель окна.
2. В другом потоке вместо обращения к Документу напишите строчку:

char * title = "Hello world";
PostMessage(hWnd, WM_SETTEXT, 0, (LPARAM)title);

Вот и всё.
Trapper
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.