C++ C++ C# C# ASP.NET Security ASP.NET Security ASM ASM Скачать Скачать Поиск Поиск Хостинг Хостинг  
  Программа для работы с LPT портом...
Язык: .NET — ©Alexey...
  "ASP.NET Atlas" – AJAX в исполнении Micro...
Язык: .NET — ©legigor@mail.ru...
  "Невытесняющая" Многопоточность...
Язык: C/C++ — ©...
  01.05.2010 — Update World C++: Сборник GPL QT исходников
  15.12.2007 — Весь сайт целиком можно загрузить по ссылкам из раздела Скачать
Хостинг:
Windows 2003, ASP.NET 2.0
бесплатный и от 80 руб./мес


   Отправить письмо
Кулабухов Артем, Беларусь




 Почему при помещении RichEdit в Dialog based приложение оно сразу завершается ? / RichEdit / Элементы управления

опубликован 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 - заработало!!
;))