Russian Qt Forum
Май 18, 2024, 05:45 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Будьте добры помогите с VS2008 - clone в классе своей ячейки [решено]  (Прочитано 1512 раз)
daimon
Гость
« : Июнь 07, 2011, 01:38 »

Проблема такая есть класс таблицы (наследник от QtableWidget), есть класс ячейки (от класса QTableWidgetItem). В таблице поставлен прототив на мою ячейку
всё работает.

короче стоит мне в середину втсавить код, который ничего особо не меняет - обычный комментарий

приложение запускается и при работе вылетает
кажется, что он чтоли запоминает положение всех переменных и функций в файле
и если сдвигаю, то у компилятора паника
он не знает что компилирует

!!!!!!!!просто добавляю коммент в середину - компилю и приложение работает вообще неправильно, вылеты именно не в моём коде а в памяти!!!!!!!!!!

если возвращаю старую версию файла - всё на своём месте, то нормально всё работает

ребилд делал и клин - не помагает

проблемы такие не только с Qt

Код:
>	msvcr90d.dll!memcpy(unsigned char * dst=0x014b0040, unsigned char * src=0x00d14390, unsigned long count=13961896)  Line 407	Asm
  msvcr90d.dll!memcpy_s(void * dst=0x014b0040, unsigned int sizeInBytes=13961903, const void * src=0x00d14390, unsigned int count=13961896)  Line 67 + 0x11 bytes C
  msvcp90d.dll!std::char_traits<char>::_Copy_s(char * _First1=0x014b0040, unsigned int _Size_in_bytes=13961903, const char * _First2=0x00d14390, unsigned int _Count=13961896)  Line 582 + 0x16 bytes C++
  msvcp90d.dll!std::_Traits_helper::copy_s<std::char_traits<char> >(char * _First1=0x014b0040, unsigned int _Size=13961903, const char * _First2=0x00d14390, unsigned int _Count=13961896, std::_Secure_char_traits_tag __formal={...})  Line 714 + 0x15 bytes C++
  msvcp90d.dll!std::_Traits_helper::copy_s<std::char_traits<char> >(char * _First1=0x014b0040, unsigned int _Size=13961903, const char * _First2=0x00d14390, unsigned int _Count=13961896)  Line 706 + 0x22 bytes C++
  msvcp90d.dll!std::basic_string<char,std::char_traits<char>,std::allocator<char> >::assign(const std::basic_string<char,std::char_traits<char>,std::allocator<char> > & _Right="Tх¬eШCС", unsigned int _Roff=0, unsigned int _Count=4294967295)  Line 1067 + 0x25 bytes C++
  msvcp90d.dll!std::basic_string<char,std::char_traits<char>,std::allocator<char> >::basic_string<char,std::char_traits<char>,std::allocator<char> >(const std::basic_string<char,std::char_traits<char>,std::allocator<char> > & _Right="Tх¬eШCС")  Line 734 C++
  Spreadsheet.exe!Parser::CParserSettings::CParserSettings(const Parser::CParserSettings & __that={...})  + 0x48 bytes C++
  Spreadsheet.exe!Spreadsheet::CSpreadsheetCell::getParserSettings()  Line 57 + 0x21 bytes C++
  Spreadsheet.exe!CSpreadsheet::updateCellSettings(int row=1, int column=0)  Line 175 + 0x3b bytes C++
  Spreadsheet.exe!CSpreadsheet::qt_metacall(QMetaObject::Call _c=InvokeMetaMethod, int _id=24, void * * _a=0x0012d22c)  Line 150 C++
  QtCored4.dll!QMetaObject::metacall(QObject * object=0x0012fe48, QMetaObject::Call cl=InvokeMetaMethod, int idx=149, void * * argv=0x0012d22c)  Line 238 C++
  QtCored4.dll!QMetaObject::activate(QObject * sender=0x0012fe48, const QMetaObject * m=0x65ac5764, int local_signal_index=13, void * * argv=0x0012d22c)  Line 3272 + 0x27 bytes C++
  QtGuid4.dll!QTableWidget::cellChanged(int _t1=1, int _t2=0)  Line 302 + 0x15 bytes C++
  QtGuid4.dll!QTableWidgetPrivate::_q_emitItemChanged(const QModelIndex & index={...})  Line 1634 C++
  QtGuid4.dll!QTableWidget::qt_metacall(QMetaObject::Call _c=InvokeMetaMethod, int _id=28, void * * _a=0x0012d394)  Line 168 + 0x16 bytes C++
  Spreadsheet.exe!CSpreadsheet::qt_metacall(QMetaObject::Call _c=InvokeMetaMethod, int _id=121, void * * _a=0x0012d394)  Line 111 + 0x15 bytes C++
  QtCored4.dll!QMetaObject::metacall(QObject * object=0x0012fe48, QMetaObject::Call cl=InvokeMetaMethod, int idx=121, void * * argv=0x0012d394)  Line 238 C++
  QtCored4.dll!QMetaObject::activate(QObject * sender=0x00d50aa8, const QMetaObject * m=0x67340880, int local_signal_index=0, void * * argv=0x0012d394)  Line 3272 + 0x27 bytes C++
  QtCored4.dll!QAbstractItemModel::dataChanged(const QModelIndex & _t1={...}, const QModelIndex & _t2={...})  Line 148 + 0x14 bytes C++
  QtGuid4.dll!QTableModel::setItem(int row=1, int column=0, QTableWidgetItem * item=0x00d70670)  Line 219 C++
  QtGuid4.dll!QTableWidget::setItem(int row=1, int column=0, QTableWidgetItem * item=0x00d70670)  Line 1962 C++
  QtGuid4.dll!QTableModel::setData(const QModelIndex & index={...}, const QVariant & value=QString = "333", int role=2)  Line 432 C++
  QtGuid4.dll!QStyledItemDelegate::setModelData(QWidget * editor=0x00d54448, QAbstractItemModel * model=0x00d50aa8, const QModelIndex & index={...})  Line 538 + 0x3b bytes C++
  QtGuid4.dll!QAbstractItemView::commitData(QWidget * editor=0x00d54448)  Line 2760 C++
  QtGuid4.dll!QAbstractItemView::qt_metacall(QMetaObject::Call _c=InvokeMetaMethod, int _id=29, void * * _a=0x0012d744)  Line 247 + 0x19 bytes C++
  QtGuid4.dll!QTableView::qt_metacall(QMetaObject::Call _c=InvokeMetaMethod, int _id=60, void * * _a=0x0012d744)  Line 118 + 0x14 bytes C++
  QtGuid4.dll!QTableWidget::qt_metacall(QMetaObject::Call _c=InvokeMetaMethod, int _id=60, void * * _a=0x0012d744)  Line 135 + 0x14 bytes C++
  Spreadsheet.exe!CSpreadsheet::qt_metacall(QMetaObject::Call _c=InvokeMetaMethod, int _id=60, void * * _a=0x0012d744)  Line 111 + 0x15 bytes C++
  QtCored4.dll!QMetaObject::metacall(QObject * object=0x0012fe48, QMetaObject::Call cl=InvokeMetaMethod, int idx=60, void * * argv=0x0012d744)  Line 238 C++
  QtCored4.dll!QMetaObject::activate(QObject * sender=0x00d14390, const QMetaObject * m=0x65d29a68, int local_signal_index=0, void * * argv=0x0012d744)  Line 3272 + 0x27 bytes C++
  QtGuid4.dll!QAbstractItemDelegate::commitData(QWidget * _t1=0x00d54448)  Line 102 + 0x15 bytes C++
  QtGuid4.dll!QStyledItemDelegatePrivate::_q_commitDataAndCloseEditor(QWidget * editor=0x00d54448)  Line 103 C++
  QtGuid4.dll!QStyledItemDelegate::qt_metacall(QMetaObject::Call _c=InvokeMetaMethod, int _id=0, void * * _a=0x00d63ef8)  Line 76 C++
  QtCored4.dll!QMetaObject::metacall(QObject * object=0x00d14390, QMetaObject::Call cl=InvokeMetaMethod, int idx=9, void * * argv=0x00d63ef8)  Line 238 C++
  QtCored4.dll!QMetaCallEvent::placeMetaCall(QObject * object=0x00d14390)  Line 534 + 0x19 bytes C++
  QtCored4.dll!QObject::event(QEvent * e=0x00d70550)  Line 1211 + 0x14 bytes C++
  QtGuid4.dll!QApplicationPrivate::notify_helper(QObject * receiver=0x00d14390, QEvent * e=0x00d70550)  Line 4396 + 0x11 bytes C++
  QtGuid4.dll!QApplication::notify(QObject * receiver=0x00d14390, QEvent * e=0x00d70550)  Line 3798 + 0x10 bytes C++
  QtCored4.dll!QCoreApplication::notifyInternal(QObject * receiver=0x00d14390, QEvent * event=0x00d70550)  Line 732 + 0x15 bytes C++
  QtCored4.dll!QCoreApplication::sendEvent(QObject * receiver=0x00d14390, QEvent * event=0x00d70550)  Line 215 + 0x39 bytes C++
  QtCored4.dll!QCoreApplicationPrivate::sendPostedEvents(QObject * receiver=0x00000000, int event_type=0, QThreadData * data=0x003d7828)  Line 1373 + 0xd bytes C++
  QtCored4.dll!qt_internal_proc(HWND__ * hwnd=0x00230da2, unsigned int message=1025, unsigned int wp=0, long lp=0)  Line 503 + 0x10 bytes C++
  user32.dll!7e368734()
  [Frames below may be incorrect and/or missing, no symbols loaded for user32.dll]
  user32.dll!7e368816()
  user32.dll!7e3689cd()
  user32.dll!7e368a10()
  QtCored4.dll!QEventDispatcherWin32::processEvents(QFlags<enum QEventLoop::ProcessEventsFlag> flags={...})  Line 806 C++
  QtGuid4.dll!QGuiEventDispatcherWin32::processEvents(QFlags<enum QEventLoop::ProcessEventsFlag> flags={...})  Line 1170 + 0x15 bytes C++
  QtCored4.dll!QEventLoop::processEvents(QFlags<enum QEventLoop::ProcessEventsFlag> flags={...})  Line 150 C++
  QtCored4.dll!QEventLoop::exec(QFlags<enum QEventLoop::ProcessEventsFlag> flags={...})  Line 201 + 0x2d bytes C++
  QtCored4.dll!QCoreApplication::exec()  Line 1009 + 0x15 bytes C++
  QtGuid4.dll!QApplication::exec()  Line 3673 C++
  Spreadsheet.exe!main(int argc=1, char * * argv=0x003d7788)  Line 25 + 0x6 bytes C++
  Spreadsheet.exe!WinMain(HINSTANCE__ * instance=0x00400000, HINSTANCE__ * prevInstance=0x00000000, char * __formal=0x00151f4d, int cmdShow=1)  Line 131 + 0x12 bytes C++
  Spreadsheet.exe!__tmainCRTStartup()  Line 574 + 0x35 bytes C
  Spreadsheet.exe!WinMainCRTStartup()  Line 399 C
  kernel32.dll!7c817067()

Как решить? СПС

стоп а для прототипа важна функция clone для моего класса ячейки, просто если удаляю другие функции - всё работает норм?Непонимающий?
« Последнее редактирование: Июнь 07, 2011, 02:15 от daimon » Записан
daimon
Гость
« Ответ #1 : Июнь 07, 2011, 02:14 »

Решил обязательно нужно в своей ячейке функцию clone сделать
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.04 секунд. Запросов: 17.