WWW.ИСХОДНИКИ.РУ cpp.sources.ru
java.sources.ru web.sources.ru soft.sources.ru
jdbc.sources.ru asp.sources.ru api.sources.ru

  Форум на исходниках
  C / C++ / Visual C++
  RichEdit

СПРОСИТЬ  ОТВЕТИТЬ
профайл | регистрация | faq

Автор Тема:   RichEdit
Demo_S опубликован 15-03-2001 04:12 MSK   Click Here to See the Profile for Demo_S   Click Here to Email Demo_S  
Возможно, я просто туплю, но у меня почему-то постоянно возникаетследующая проблема:
когда я ложу RichEdit в Dialog based приложение (в редакторе ресурсов) то приложение нифига не запускается, точнее запускается и тут же выходит, пытался трасировать - оказалось, что оно вываливается при инициализации диалога.
Может кто-нибудь знает, в чем эе тут дело.
Заранее благодарен.
OlegN опубликован 15-03-2001 11:39 MSK     Click Here to See the Profile for OlegN  Click Here to Email OlegN     
Попробуй протрассировать CDialog::OnInitDialog(); функцию.
Но исходя из собственного опыта могу посоветовать поставить breakpoint
на функции CDialog::DoDataExchange(pDX);
или на CMyDialog::DoDataExchange(pDX);
где CMyDialog - твой класс диалога.
DoDataExchange - виртуальная функция, которая вызывается внутри OnInitDialog()
Вероятнее всего застрел может происходить в одной из DDX_ или DDV_ функций которые вызываются внутри DoDataExchange,
например :
void CAboutDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CAboutDlg)
DDX_Control(pDX, IDOK, m_btnOK);
//}}AFX_DATA_MAP
}

Если кнопки с идентификатором IDOK в диалоге нет, то проитзойдет выброс исключения, и если ты его нигде не ловишь, то сам понимаешь....
У меня опыт программирования на MFC 3 года, и я тебе советую, пока "по косточкам" не разберешь, какое нутро почти у каждой MFC функии, которые ты вызываешь, у тебя будут появляться подобные сюрпризы.
Я надеюсь исходники MFC у тебя есть.

purpe опубликован 15-03-2001 12:00 MSK     Click Here to See the Profile for purpe  Click Here to Email purpe     
2OlegN

Слушай, а вот у меня вопрос к тебе немного не в кассу :)
Как то раз я делал программулину и мне нужно было, чтобы она как можно меньше места занимала. Естевственно я начал ваять её через API. Но уж больно не хотелось париться со всяческими строковыми переменными, и тогда я выцепил CString и создал на его основе свой класс, предварительно выкинув из CString лишние и часто ненужные методы и операторы.
А вот потом мне захотелось проделать такую же штуку с CAsyncSocket, но увы, этот класс уходит корнями к CObject.
Так вот можно ли каким-нибудь создать самостоятельный независимый класс полностью идентичный CAsyncSocket ?

Извини, если совсем не в кассу :)

OlegO опубликован 15-03-2001 12:07 MSK     Click Here to See the Profile for OlegO  Click Here to Email OlegO     
из MSDN>>>
If you are using a rich edit control in a dialog box , you must call !!! AfxInitRichEdit !!! once before the dialog box is displayed.
Вольный Перевод:
Если ты используешь rich edit контрол в окне диалога, ты должен вызывать AfxInitRichEdit() перед отображением окна диалога.

Я обычно это делаю в CWinApp::InitInstance()

Demo_S опубликован 17-03-2001 18:00 MSK     Click Here to See the Profile for Demo_S  Click Here to Email Demo_S     
2OlegO
Спасибо, как вставил эту самую
AfxInitRichEdit - заработало!!
;))

СПРОСИТЬ  ОТВЕТИТЬ
Перейти:


E-mail | WWW.ИСХОДНИКИ.RU

Powered by: Ultimate Bulletin Board, Freeware Version 5.10a
Purchase our Licensed Version- which adds many more features!
© Infopop Corporation (formerly Madrona Park, Inc.), 1998 - 2000.