Как вывести модальный диалог из ATL модуля
От: Dwarf Россия dwarf.h1.ru
Дата: 09.07.01 22:57
Оценка:
Есть класс

class CHTMLDowloader :
public IDispatchImpl<IHTMLDowloader, &IID_IHTMLDowloader, LIBID_URLDOWNLOADERLib>,
{
public
STDMETHOD(ShowModal)(); // exposed method
};

В cpp:

STDMETHODIMP CHTMLDowloader::ShowModal()
{
CProgress p;// определен как class CProgress : public CAxDialogImpl<CProgress>
int r = p.DoModal(NULL);
DWORD e = GetLastError();
return S_OK;
}

При обращении к ShowModal извне, DoModal возвратит -1. Диалог показался только при обращении из бейсика и *только* под отладчиком, из самостоятельного exe ничего не появляется. Также ничего нет и из любого другого клиента, всегда -1. Пользовать MFC нет резона, может Windos глюкает (ME Edition)?
Народу не нужны нездоровые сенсации. Народу нужны здоровые сенсации! (с) Стругацкие.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.