Название: Будьте добры помогите с VS2008 - clone в классе своей ячейки [решено]
Отправлено: 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 для моего класса ячейки, просто если удаляю другие функции - всё работает норм?????
Название: Re: Будьте добры помогите с VS2008
Отправлено: daimon от Июня 07, 2011, 02:14
Решил обязательно нужно в своей ячейке функцию clone сделать
|