Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: VC++6 - "Не удалось создать новый документ"  (Прочитано 8758 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« : 16-10-2004 18:08 » 

(W98 , MFC , SDI-проект)

Не понимаю , что произошло - только что нормально запускавшийся проект вдруг перестал запускаться, являя свету окошко (заметьте - с восклицательным знаком и Caption=="название программы") с надписью "Не удалось создать новый документ" .

Принёс проект домой,  и он, абсолютно не изменённый, работает - винда тоже 98


Недавно на домашнем компе была такая же фигня (с этой же прогой, но глюк быстро изчез и не появлялся до этих пор. )

Проследил by F11 , где сообщение появляется - вот тут:

файл Docsingl.cpp из библиотеки MFC , процедура:

Код:

CDocument* CSingleDocTemplate{{OpenDocumentFile)LPCTSTR lpszPathName,
BOOL bMakeVisible:
// if lpszPathName == NULL => create new file of this type
|
...
...
...

if )pFrame == NULL:
|
ASSERT)bCreated:;

// create frame - set as main document frame
BOOL bAutoDelete = pDocument->m_bAutoDelete;
pDocument->m_bAutoDelete = FALSE;
// don't destroy if something goes wrong
pFrame = CreateNewFrame)pDocument, NULL:;
pDocument->m_bAutoDelete = bAutoDelete;
if )pFrame == NULL:
|
AfxMessageBox)AFX_IDP_FAILED_TO_CREATE_DOC:;
delete pDocument;       // explicit delete on error
return NULL;
"
"

...
...
...
return pDocument;
"


Окошко выкидывает этот бокс:
AfxMessageBox(AFX_IDP_FAILED_TO_CREATE_DOC);

если кому встречалось такое - подскажите, как вылечить. Варварские методы тоже предлагайте
Записан

lapulya
Молодой специалист

ru
Offline Offline

« Ответ #1 : 18-10-2004 07:06 » 

Алексей1153, а почему CreateNewFrame вертает 0?? Ищи свои грабли там... они точно там валяюся  Отлично судя по этому
Цитата

      pFrame = CreateNewFrame(pDocument, NULL);
      .....
      if (pFrame == NULL)
      {
         AfxMessageBox(AFX_IDP_FAILED_TO_CREATE_DOC);
Записан

С уважением Lapulya
Mad
Гость
« Ответ #2 : 18-10-2004 11:16 » 

По какойто причине у тебя CMainFrame::OnCreate() возвращает FALSE, вот эту функцию и надо в дебаге пошагово просмотреть.
Записан
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #3 : 18-10-2004 15:21 » 

lapulya, Mad, вот в том-то и дело - я даже не лез в эти тексты, не менял ничего там.
Сегодня пол-дня промучался, пытаясь понять, а затем - всё стало нормально, опять-таки в ПРОГРАММЕ я ничего не менял. Я переустановил винду...
Записан

Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #4 : 18-10-2004 19:07 » 

кажись я понял - в файле *.rc  код описания грида из-за какого-то глюка раздулся да 64Кб !!!!  Я шокирован!  Я шокирован!  Я шокирован!

а я и думаю - чегой-то кажная компиляция по 5 минут?  Отлично

я удалил описание и заменил вновь положенным на форму гридом - вроде глюков больше нет, хотя точно считать это основной причиной отказа в создании документа считать не могу, так как вылечилось раньше...
Записан

Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #5 : 16-04-2006 20:23 » 

(не помню настоящую причину, но.)
контрол Microsoft FlexGrid Control, version 6.0 имеет какой-то бешенный глюк, который проявляется иногда при изменении свойств контрола в редакторе формы через контекстное меню. Заключается в следующем: поскольку контрол вставляется визардом (студия - VC++6) в ресурс как ActiveX, туда же вставляется массив с инициализацией. При изменении свойств этот массив не обновляется, а увеличивается в размерах - и так пока не всё. (После этой бодяги не пользуюсь контролом - написал свой.)
« Последнее редактирование: 11-07-2007 20:27 от Алексей1153++ » Записан

Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines