Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2006.07.09;
Скачать: [xml.tar.bz2];

Вниз

TChart   Найти похожие ветки 

 
!_SM_!   (2006-06-21 02:13) [0]

Кто какого мнения о TChart
Фигня какая-то, положил стандартный Chart
на форму - запускаю (F9) при  закрытии проги
Ошибка. Причем может так получится - ничего неменяя опять F9
закрываю нормально т.е. "через раз" ошибка именно при закрытии
проги. До того как положил этот чарт было нормально без ошибок
закрывалось.
Что такого в этом чарте?


 
Loginov Dmitry ©   (2006-06-21 09:59) [1]

!_SM_!   (21.06.06 2:13)
Кто какого мнения о TChart
Фигня какая-то


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


 
Kolan ©   (2006-06-21 10:56) [2]


> на форму - запускаю (F9) при  закрытии проги

Сделал новый проект и положил, или ....


 
!_SM_!   (2006-06-21 12:08) [3]


> Kolan ©   (21.06.06 10:56) [2]

Писал прогу, работала нормально, тут на главной форме разместил стандартный компанент Chart и начались глюки при закрытии проги т.е. при завершении работы приложения. Повторяюсь может откомпилиться и все нормально а может (если поменять какое нибудь свойство и не компилируя вернуть на место значение следом компиляция) с ошибкой при закрытии....
До Charta все было ОК. После того как добавил его код на закрытие формы да и собственно всего приложения не менял.


 
Loginov Dmitry ©   (2006-06-21 14:46) [4]

Ну а код хоть какой-нибудь есть?

Попробуй все манипуляции с TChart занести в блок try...except


 
Ega23 ©   (2006-06-21 14:53) [5]


> До Charta все было ОК.


Виноват, естественно, TChart...


 
!_SM_!   (2006-06-21 18:13) [6]


> Loginov Dmitry ©   (21.06.06 14:46) [4]

Да собственно с ним ничего такого в коде нет, да и ошибка вылетает именно при закрытии приложения. У Чарта менял свойства, ну у Serias егошнего ADD(Value) делал вот собственно и все. Пока прога запущена (работает) никаких проблем апри закрытии... ошибка сейчас написать не смогу что за ошибка... потом если интересно напишу вечером. Это мне просто интересно почему то нормально скомпилиться то, блин, с ошибкой.


 
!_SM_!   (2006-06-21 18:20) [7]


> Ega23 ©   (21.06.06 14:53) [5]

Вот я и спросил мож кто сталкивался с ситуэшином.
А может и не Чарт виноват. У него там каких тока свойств нету плюс эти Seriesы егошнии мож я че не втой последовательности делал. Вот например заметил если 3D отключаешь у ...там боковой бар .. есть такой
ну колонки с левого бока то вроде пропадает ошибка потом опять появляться, опять включаешь пропадает на некоторое время пока в коде может даже и несвязанно с Чартом чего нибудь не поменяешь... и опять.
Вообщем непонятка....


 
!_SM_!   (2006-06-22 01:50) [8]

Вот такую ошибку выкидывает:
Заголовок окна - Application Error
Текст -
Exception EAccessViolation in module Project1.exe at 00065DEB.
Access violation at address 00465DEB in module "Project1.exe". Write of address 009F7AD0.

И вот что заметил если у меня скомпилилась "нормально" ну тоесть закрываю прогу - ошибку не выдает. Запускаю из проводника (не из под делфи) то то-же ОК (без ошибки). Копирую ("нормальный вариант") прогу на другой комп - там закрываеться с ошибкой. И вот еще - ставил брики начиная с Close формы главной (останов нормальный) дошел до места где ошибка вылетает перед остановом - это end.
т.е. последняя строка в файле проекта (program Project1;)
Вот этот файл:

program Project1;

uses
 Forms,
 UForm1 in "UForm1.pas" {FForm1},
 UForm2 in "UForm2.pas" {Form2};

{$R *.res}

begin
 Application.Initialize;
 Application.CreateForm(TForm1, Form1);
 Application.CreateForm(TForm2, Form2);
 Application.Run;
end. // Вот на этой строке ставлю брик и перед ним ошибка.

Во второй форме ничего собственно нет да и кода практически никакого несодержит да и тот написан давно, еще до того как в проге Чарт появился и собственно ошибка, и не менялся т.е. с ним понятно.
Вопрос как узнать где возникает ошибка - пробовал после первого останова (нормального на последней строчке Onclose главной формы) держать F7, минут 10 продержал - надоело...
там все как-то зацикливаеться но ошибку не дает то-же самое с F8 ничего неузнал - пролетает быстро и встает на end. (в коде проекта, не формы) и следом ошибка. С окном CPU незнаком и адреса что в ошибке моло чего дают.
И вот еще если ставлю брик на блок Finalization главной формы то до нее не доходит останов, ошибка вылетает раньше... У меня обработка только Close на закрытие формы там все нормально получается...И это меня наводит на мысль что ошибка возникает при разрушении/уничтожении компанентов и может как раз того самого Чарта (черт бы его побрал:)...Но почему тогда то она (Error) есть то ее нет, а на другом компе всегда???? Блин вроде все написал. Запарился.


 
Ega23 ©   (2006-06-22 09:18) [9]

С вероятностью 95%, ты обращаешься к объекту, который уже уничтожен.


 
Loginov Dmitry ©   (2006-06-22 12:25) [10]

... и 100% не в файле проекта :)


 
!_SM_!   (2006-06-22 16:00) [11]


> Ega23 ©   (22.06.06 09:18) [9]

Как найти тот объект к которому обращаюсь после уничтожения?
Дело в том что в коде моей формы остановы проходят нормально до последней строчки на OnClose ошибка вылетает после OnClose и перед секцией Finalization. Что происходит в этот момент? Наверняка уничтожаються компаненты... СМ. !_SM_!   (22.06.06 01:50) [8]
В момент ошибки Делфя посвечивает строку с end. в проекте, а вот как определить <Bгде на самом деле возникает екскепшен?>

> Loginov Dmitry ©   (22.06.06 12:25) [10]

Это понятно ....:(


 
!_SM_!   (2006-06-22 21:35) [12]

Народ, ну кто знает как узнать где возникает ошибка?
см. !_SM_!   (22.06.06 01:50) [8]


 
!_SM_!   (2006-06-23 00:28) [13]


> Ega23 ©   (22.06.06 09:18) [9]

Ну пусть так, обращаюсь к удаленному (уничтоженному) объекту, а как же тогда если скомпилится нормально, я ведь в коде не меняю ничего, просто компилю - прога запускается и сразу жму "крестик" закрываю и... ошибка.
Следом в коде чего нибудь сотру и ТОЖЕ САМОЕ на етом месте пишу - компилю - запускаю - сразу "крестик" т.е. закрываю - нормально, без ошибки закрылась. ЧТО ЗА НЕПОНЯТКА?????


 
Loginov Dmitry ©   (2006-06-23 08:49) [14]

Ошибка в 17-й строке...


 
Ega23 ©   (2006-06-23 09:39) [15]

procedure TForm1.OnCreate(Sender : TObject);
begin
 Self.Free;
end;


Тоже скомпилится. И даже попытается запуститься.


 
!_SM_!   (2006-06-23 14:50) [16]


> Loginov Dmitry ©   (23.06.06 08:49) [14]

Спасибо,.... это самое гениальное что ты придумал?


 
!_SM_!   (2006-06-23 14:56) [17]


> Ega23 ©   (23.06.06 09:39) [15]
> procedure TForm1.OnCreate(Sender : TObject);
> begin
>  Self.Free;
> end;

Этим можно объяснить что ошибка то появляется то нет.
Еще раз повторюсь что в коде между компиляциями меняю
что то вроде так - Form1.Caption:="Caption" после "меняю" например на это
Form1.CAPTION:="Caption" да или просто сотру и напишу заново Form1.Caption:="Caption" и ошибка при таких деяниях то вылетает то нет.


 
Loginov Dmitry ©   (2006-06-23 14:58) [18]

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


 
Ega23 ©   (2006-06-23 14:58) [19]


> Этим можно объяснить что ошибка то появляется то нет.
> Еще раз повторюсь что в коде между компиляциями меняю
> что то вроде так - Form1.Caption:="Caption" после "меняю"
> например на это
> Form1.CAPTION:="Caption" да или просто сотру и напишу заново
> Form1.Caption:="Caption" и ошибка при таких деяниях то вылетает
> то нет.
>


Это не означает, что ошибка именно в этом. Это "блуждающая" ошибка, которая иногда возникает, а иногда - нет.
А вот где она - см. Loginov Dmitry ©   (23.06.06 08:49) [14]
Телепатией тут никто не владеет.


 
!_SM_!   (2006-06-23 16:59) [20]


> 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 17:01) [21]


> Как Вы боритесь с такими блудными ошибкакми?
>


Стараюсь не допускать.


 
!_SM_!   (2006-06-23 17:04) [22]

Встречал такое с некоторыми сторонними компанентами (после добавления такого компанента начинаются глюки). В итоге перестал использовать такие вещи - исключение RxLib с ним всегда вроде было все в порядке... но здесь случай у меня с Chart"ом который идет в поставке с D7.


 
Ega23 ©   (2006-06-23 17:09) [23]

Блин, ты код программы, наконец, покажешь, или нет?
Ну откуда же я знаю, где у тебя там какая ошибка.

Ты где-то создал какой-то объект, уничтожил, а потом пытаешься снова вызвать его деструктор (или не ты, а другой компонент). В результате - AV.
Это с вероятностью 90%.
Какой объект - сие мне не ведомо, бо твоя программа.


 
!_SM_!   (2006-06-23 17:11) [24]


> Ega23 ©   (23.06.06 17:01) [21]

Я ожидал такой ответ... Все мы здесь крутые программеры и у нас никогда не возникают проблемы...


 
!_SM_!   (2006-06-23 17:15) [25]


> Ega23 ©   (23.06.06 17:09) [23]

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


 
Ega23 ©   (2006-06-23 17:27) [26]


> Я ожидал такой ответ... Все мы здесь крутые программеры
> и у нас никогда не возникают проблемы...


Я на самом деле стараюсь таких ошибок не допускать. Просто выработался уже некоторый опыт, уже знаю, какие архитектурные конструкции программы могут привести к каким ошибкам.
Так что я вполне честно ответил.
Как более точно объяснить - не знаю. Когда у тебя будет семилетний опыт программирования в Delphi - тогда сам поймёшь. И сам затруднишься новичку объяснить.


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


Как - я тебе уже сказал. Сам какие-нибудь объекты создаёшь? Убиваешь? Если да, то какие и как. Если нет - всё сложнее, надо код ковырять.


 
!_SM_!   (2006-06-24 00:40) [27]


> Ega23 ©   (23.06.06 17:27) [26]


> Сам какие-нибудь объекты создаёшь? Убиваешь? Если да, то
> какие и как.

Создаю array [0..10] of TBimap в секции inicialization
убиваю в секции finalization... но все это работало нормально до чарта
после него и началась эта трабла. Возможно это не в моем коде ошибка 90%, говорю, код не менял только со свойствами чарта мудрил в инспекторе и в мастере чарта....
Это очень хорошо не допускать ошибок, со временем научимся...
Подскажите хотябы как ошибку выследить...
Спасибо


 
Плохиш ©   (2006-06-24 01:05) [28]


> !_SM_!   (24.06.06 00:40) [27]
> Создаю array [0..10] of TBimap в секции inicialization
> убиваю в секции finalization

Попробуй перенести этот код в конструктор и деструктор главной формы соответственно.


 
!_SM_!   (2006-06-24 02:12) [29]

Попробую.... но помоему бестолку...
Раньше так все и было.
Спасибо.


 
!_SM_!   (2006-06-24 02:22) [30]

Блин, вроде пропала ошибка. Сейчас раз десять попробовал (запуск-закрыть) ниразу не вылетела.
потом создание опять вернул в 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:25) [31]


> Плохиш ©   (24.06.06 01:05) [28]

Плохиш, а ведь опять твой совет помог, точнее пока все ОК.
Спасибо тебе. Буду должен ;)
Вот еще потестю и потом напишу результат.


 
!_SM_!   (2006-06-24 03:02) [32]


> Плохиш ©   (24.06.06 01:05) [28]

Черт, нифига оставил создание в initialization какоето время без ошибки
потом опять эта гребаная AV. Помести в конструктор вот уже чего только не менял пока нормально... что-ж за фигня такая, а?
Чем секции initialization и finalization не нарвются Чарту. Его уже можно Чёртом называть:).
Спасибо.


 
Плохиш ©   (2006-06-24 04:20) [33]

Хм, значит не только строки нельзя использовать в секциях инициализации и финализации в D7 под WinXP :-(
http://qc.borland.com/wc/qcmain.aspx?d=8870
И твой случай :-) в http://qc.borland.com/wc/qcmain.aspx?d=7234


 
Loginov Dmitry ©   (2006-06-24 11:34) [34]

Плохиш ©   (24.06.06 4:20) [33]
http://qc.borland.com/wc/qcmain.aspx?d=7234


Непонятно, что за случай, но явно не автора.

Счас специально открыл Дельфи, накидал кучу чартов, сирисов, битмапов (создаю в initialization, разрушаю в finalization). И ничего. Хоть об стенку бейся - никаких AV. Что я неправильно делаю?


 
!_SM_!   (2006-06-24 14:03) [35]


> Loginov Dmitry ©   (24.06.06 11:34) [34]

Вот и я не пойму в чем прикол...
Но как убрал из этих секций по совету Плохиша так все ОК стало.


 
!_SM_!   (2006-06-24 14:20) [36]


> Плохиш ©   (24.06.06 04:20) [33]

Посмотрел.... с англ. плохенько... мой косяк...
Понял, что не надо там создовать/уничтожать, правильно?
И почему до Чарта все работало нормально....
Спасибо.


 
Плохиш ©   (2006-06-24 15:17) [37]


> Loginov Dmitry ©   (24.06.06 11:34) [34]
> Хоть об стенку бейся - никаких AV. Что я неправильно делаю?

Это Вы меня спросили? Ссылка видели откуда? Вот там и спрашивайте.

> Непонятно, что за случай, но явно не автора.

Сравните код из [30] и код по ссылке.


 
Плохиш ©   (2006-06-24 15:44) [38]


> !_SM_!   (24.06.06 14:20) [36]
> Посмотрел.... с англ. плохенько... мой косяк...
> Понял, что не надо там создовать/уничтожать, правильно?

Ну да, это по ссылкам и рекомендуют.



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2006.07.09;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.56 MB
Время: 0.011 c
6-1141366408
DelphiN!
2006-03-03 09:13
2006.07.09
Перехват трафика


3-1147331804
dest81
2006-05-11 11:16
2006.07.09
доступ к сереверу через интернет


15-1149807962
Неизвестный!!!
2006-06-09 03:06
2006.07.09
Оцените мой сайт!


2-1150873257
logslava
2006-06-21 11:00
2006.07.09
Работа с TBitmap


6-1141631672
Venchik
2006-03-06 10:54
2006.07.09
Delphi 7. Менеджер закачек. Выбор классов, компонент.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский