![]() |
|
|
![]()
|
|
| Ruka |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 16.5.2007 Репутация: нет Всего: нет |
Прошу помочь!
При работе программы иногда появляется сообщение Access violation at address 00324EBF in module 'vclx60.bpl'. Read of address 00000048 По всей видимости это говорит о каком-то сбое в данных, поступающих в программу. Где можно точно узнать, что эта ошибка обозначает. А главное - как написать исключение? Спасибо! |
|||
|
||||
| Anikmar |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2513 Регистрация: 26.11.2006 Где: Санкт-Петербург Репутация: 34 Всего: 59 |
||||
|
||||
| Fazil6 |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1653 Регистрация: 3.5.2006 Где: Минск Репутация: 11 Всего: 60 |
||||
|
||||
| Klin |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1938 Регистрация: 7.10.2002 Где: Краснодар Репутация: 20 Всего: 25 |
Добавлено через 2 минуты и 26 секунд и подобным образом все объекты. ИМХО Ошибка означает, что по указанному адресу нет данных (или что-то вроде), в любом случае, если возникает какая-то ошибка следует выложить исходный код того действия, где эта ошибка происходит. -------------------- Я человек - попробуйте обвинить меня за это. |
|||
|
||||
| Voldemar2004 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1650 Регистрация: 25.12.2004 Репутация: 1 Всего: 23 |
Может быть имелось в виду
-------------------- i_i (';') (V) ![]() |
|||
|
||||
| Klin |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1938 Регистрация: 7.10.2002 Где: Краснодар Репутация: 20 Всего: 25 |
Voldemar2004, без кода только гадать можно
-------------------- Я человек - попробуйте обвинить меня за это. |
|||
|
||||
| Ruka |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 16.5.2007 Репутация: нет Всего: нет |
Спасибо всем, кто ответил на мой вопрос.
В данном месте в программу поступают данные из другой программы по DDE. float ID; char *k; AnsiString K; DdeClientItem1->DdeItem="Vv1"; K = DdeClientItem1->Text; if (!TryStrToFloat(K,ID) || K==NULL) { K="обрыв"; ID= 0.0; } k = K.c_str(); Form2->Edit14->Text= K; При этом программа, которая является сервером успешно выводит значения на экран компа. Это сообщение отредактировал(а) Ruka - 25.5.2007, 11:48 |
|||
|
||||
| Klin |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1938 Регистрация: 7.10.2002 Где: Краснодар Репутация: 20 Всего: 25 |
Ruka, а где конкрентно ошибка?
p.s. Пользуйтесь вкладкой "Код" -------------------- Я человек - попробуйте обвинить меня за это. |
|||
|
||||
| Anikmar |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2513 Регистрация: 26.11.2006 Где: Санкт-Петербург Репутация: 34 Всего: 59 |
||||
|
||||
| Klin |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1938 Регистрация: 7.10.2002 Где: Краснодар Репутация: 20 Всего: 25 |
Стоп, K == NULL быть не может (только если выполняется K = 0 или K = NULL), поэтому лучше так:
а может и так:
Возможно проблема в том, что неизвестен ID. -------------------- Я человек - попробуйте обвинить меня за это. |
||||
|
|||||
| Anikmar |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2513 Регистрация: 26.11.2006 Где: Санкт-Петербург Репутация: 34 Всего: 59 |
||||
|
||||
| Klin |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1938 Регистрация: 7.10.2002 Где: Краснодар Репутация: 20 Всего: 25 |
Я сам точно не знаю, но имхо два процесса не могут быть совершенны одновременно. По логике, если одна часть условия не подходит. то зачем проверять другую? Врочем, точно сказать не могу. Ну не совсем твоя -------------------- Я человек - попробуйте обвинить меня за это. |
|||
|
||||
| Anikmar |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2513 Регистрация: 26.11.2006 Где: Санкт-Петербург Репутация: 34 Всего: 59 |
Я где-то читал, что это зависит от компилятора и его оптимизатора - т.е. первое проверяемое условие может быть любым, вне зависимости от порядка написания их в скобках. Но может это не так - врать не буду в стандарт по этому поводу не смотрел. А то, что остальные условия не проверяются - это само собой. Лично я, во избежание неприятностей делаю ступенчатый if - от греха подальше |
|||
|
||||
| Klin |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1938 Регистрация: 7.10.2002 Где: Краснодар Репутация: 20 Всего: 25 |
Anikmar, я был прав
1) Если в общем условии "И" и первое условие равно ЛОЖЬ, то все последующие условия - не проверяются 2) Если в общем условии "ИЛИ" и первое условие является верным (ИСТИНА), то все последующие условия - не проверяются 3) В иных случаях проверяются остальные условия.
Все условия проводить в разных действиях. Если программа в процессе выдает ошибку, значит идет проверка обеих условий. Переменную вводить обязательно, т.к. деление на 0 компилятор в процессе компиляции исправляет. Добавлено через 1 минуту и 37 секунд сорри за оффтоп -------------------- Я человек - попробуйте обвинить меня за это. |
|||
|
||||
| dumb |
|
|||
![]() sceloglauxalbifacies ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2929 Регистрация: 16.6.2006 Репутация: 32 Всего: 158 |
можно было так не напрягаться...
|
|||
|
||||
![]()
|
| Правила форума "С++ Builder" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C++ Builder | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |