![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
TChart
!_SM_! © (2006-06-21 02:13:00)Кто какого мнения о TChart
Фигня какая-то, положил стандартный Chart
на форму - запускаю (F9) при закрытии проги
Ошибка. Причем может так получится - ничего неменяя опять F9
закрываю нормально т.е. "через раз" ошибка именно при закрытии
проги. До того как положил этот чарт было нормально без ошибок
закрывалось.
Что такого в этом чарте?
Плохиш (2006-06-24 15:44:00) [1]
> !_SM_! (24.06.06 14:20) [36]
> Посмотрел.... с англ. плохенько... мой косяк...
> Понял, что не надо там создовать/уничтожать, правильно?
Ну да, это по ссылкам и рекомендуют.
Плохиш (2006-06-24 15:17:00) [2]
> Loginov Dmitry © (24.06.06 11:34) [34]
> Хоть об стенку бейся - никаких AV. Что я неправильно делаю?
Это Вы меня спросили? Ссылка видели откуда? Вот там и спрашивайте.
> Непонятно, что за случай, но явно не автора.
Сравните код из [30] и код по ссылке.
!_SM_! (2006-06-24 14:20:00) [3]
> Плохиш © (24.06.06 04:20) [33]
Посмотрел.... с англ. плохенько... мой косяк...
Понял, что не надо там создовать/уничтожать, правильно?
И почему до Чарта все работало нормально....
Спасибо.
!_SM_! (2006-06-24 14:03:00) [4]
> Loginov Dmitry © (24.06.06 11:34) [34]
Вот и я не пойму в чем прикол...
Но как убрал из этих секций по совету Плохиша так все ОК стало.
Loginov Dmitry (2006-06-24 11:34:00) [5]Плохиш © (24.06.06 4:20) [33]
http://qc.borland.com/wc/qcmain.aspx?d=7234
Непонятно, что за случай, но явно не автора.
Счас специально открыл Дельфи, накидал кучу чартов, сирисов, битмапов (создаю в initialization, разрушаю в finalization). И ничего. Хоть об стенку бейся - никаких AV. Что я неправильно делаю?
Плохиш (2006-06-24 04:20:00) [6]Хм, значит не только строки нельзя использовать в секциях инициализации и финализации в D7 под WinXP :-(
http://qc.borland.com/wc/qcmain.aspx?d=8870
И твой случай :-) в http://qc.borland.com/wc/qcmain.aspx?d=7234
!_SM_! (2006-06-24 03:02:00) [7]
> Плохиш © (24.06.06 01:05) [28]
Черт, нифига оставил создание в initialization какоето время без ошибки
потом опять эта гребаная AV. Помести в конструктор вот уже чего только не менял пока нормально... что-ж за фигня такая, а?
Чем секции initialization и finalization не нарвются Чарту. Его уже можно Чёртом называть:).
Спасибо.
!_SM_! (2006-06-24 02:25:00) [8]
> Плохиш © (24.06.06 01:05) [28]
Плохиш, а ведь опять твой совет помог, точнее пока все ОК.
Спасибо тебе. Буду должен ;)
Вот еще потестю и потом напишу результат.
!_SM_! (2006-06-24 02:22:00) [9]Блин, вроде пропала ошибка. Сейчас раз десять попробовал (запуск-закрыть) ниразу не вылетела.
потом создание опять вернул в initialization
а уничтожение оставил в деструкторе главной формы тоже ОК.
Сейчас еще поробую подольше, а завтра на другом компе.
Блин, в чем прикол-то? Раньше работало нормально так вот:
initialization
begin
BMPArr[0]:=TBitMap.Create;
BMPArr[1]:=TBitMap.Create;
BMPArr[2]:=TBitMap.Create;
BMPArr[3]:=TBitMap.Create;
BMPArr[4]:=TBitMap.Create;
BMPArr[5]:=TBitMap.Create;
BMPArr[6]:=TBitMap.Create;
BMPArr[7]:=TBitMap.Create;
end;
finalization
begin
BMPArr[0].Free; BMPArr[1].Free; BMPArr[2].Free;
BMPArr[3].Free; BMPArr[4].Free; BMPArr[5].Free;
BMPArr[6].Free; BMPArr[7].Free;
end;
Именно после добавления чарта стало глючить
Что-же может быть и...
Вопрос остаеться. Как проследить где в коде (может и не моем а VCL)происходит AV?
!_SM_! (2006-06-24 02:12:00) [10]Попробую.... но помоему бестолку...
Раньше так все и было.
Спасибо.
Плохиш (2006-06-24 01:05:00) [11]
> !_SM_! (24.06.06 00:40) [27]
> Создаю array [0..10] of TBimap в секции inicialization
> убиваю в секции finalization
Попробуй перенести этот код в конструктор и деструктор главной формы соответственно.
!_SM_! (2006-06-24 00:40:00) [12]
> Ega23 © (23.06.06 17:27) [26]
> Сам какие-нибудь объекты создаёшь? Убиваешь? Если да, то
> какие и как.
Создаю array [0..10] of TBimap в секции inicialization
убиваю в секции finalization... но все это работало нормально до чарта
после него и началась эта трабла. Возможно это не в моем коде ошибка 90%, говорю, код не менял только со свойствами чарта мудрил в инспекторе и в мастере чарта....
Это очень хорошо не допускать ошибок, со временем научимся...
Подскажите хотябы как ошибку выследить...
Спасибо
Ega23 (2006-06-23 17:27:00) [13]
> Я ожидал такой ответ... Все мы здесь крутые программеры
> и у нас никогда не возникают проблемы...
Я на самом деле стараюсь таких ошибок не допускать. Просто выработался уже некоторый опыт, уже знаю, какие архитектурные конструкции программы могут привести к каким ошибкам.
Так что я вполне честно ответил.
Как более точно объяснить - не знаю. Когда у тебя будет семилетний опыт программирования в Delphi - тогда сам поймёшь. И сам затруднишься новичку объяснить.
> Зачем выкладывать код программы, я же говорю за меня не
> надо искать проблему, просто толкните мысль как можно отловить
> эти AV
> Я отладкой не занимался никогда.
Как - я тебе уже сказал. Сам какие-нибудь объекты создаёшь? Убиваешь? Если да, то какие и как. Если нет - всё сложнее, надо код ковырять.
!_SM_! (2006-06-23 17:15:00) [14]
> Ega23 © (23.06.06 17:09) [23]
Зачем выкладывать код программы, я же говорю за меня не надо искать проблему, просто толкните мысль как можно отловить эти AV
Я отладкой не занимался никогда.
!_SM_! (2006-06-23 17:11:00) [15]
> Ega23 © (23.06.06 17:01) [21]
Я ожидал такой ответ... Все мы здесь крутые программеры и у нас никогда не возникают проблемы...
Ega23 (2006-06-23 17:09:00) [16]Блин, ты код программы, наконец, покажешь, или нет?
Ну откуда же я знаю, где у тебя там какая ошибка.
Ты где-то создал какой-то объект, уничтожил, а потом пытаешься снова вызвать его деструктор (или не ты, а другой компонент). В результате - AV.
Это с вероятностью 90%.
Какой объект - сие мне не ведомо, бо твоя программа.
!_SM_! (2006-06-23 17:04:00) [17]Встречал такое с некоторыми сторонними компанентами (после добавления такого компанента начинаются глюки). В итоге перестал использовать такие вещи - исключение RxLib с ним всегда вроде было все в порядке... но здесь случай у меня с Chart'ом который идет в поставке с D7.
Ega23 (2006-06-23 17:01:00) [18]
> Как Вы боритесь с такими блудными ошибкакми?
>
Стараюсь не допускать.
!_SM_! (2006-06-23 16:59:00) [19]
> Loginov Dmitry © (23.06.06 14:58) [18]
> Ega23 © (23.06.06 14:58) [19]
Я и не имел ввиду решать за меня МОЮ проблему, я просто спрашивал как можно отследить где в коде возникает ошибка?
> Ega23 © (23.06.06 14:58) [19]
> Это "блуждающая" ошибка, которая иногда возникает, а иногда
> - нет.
Как Вы боритесь с такими блудными ошибкакми?
Ega23 (2006-06-23 14:58:00) [20]
> Этим можно объяснить что ошибка то появляется то нет.
> Еще раз повторюсь что в коде между компиляциями меняю
> что то вроде так - Form1.Caption:='Caption' после "меняю"
> например на это
> Form1.CAPTION:='Caption' да или просто сотру и напишу заново
> Form1.Caption:='Caption' и ошибка при таких деяниях то вылетает
> то нет.
>
Это не означает, что ошибка именно в этом. Это "блуждающая" ошибка, которая иногда возникает, а иногда - нет.
А вот где она - см. Loginov Dmitry © (23.06.06 08:49) [14]
Телепатией тут никто не владеет.