![]() |
Модераторы: Snowy, MetalFan, bems, Poseidon |
![]() ![]() ![]() |
|
chiffa |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 734 Регистрация: 11.11.2003 Репутация: нет Всего: -1 |
Такой вопрос. как на Делфи сделать "отталкивание от ошибок". К примену на PHP
тоесть если переменная/выражение не существует, а точнее возвращает ошибку нужно остановить цикл. как это можно реализовать на Делфи? |
|||
|
||||
Alexeis |
|
|||
![]() Амеба ![]() Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 34 Всего: 459 |
Если память под переменную не выделена то так
А так переменные не умеют возвращать ошибки. -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
MetalFan |
|
|||
![]() Аццкий Сотона ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3815 Регистрация: 2.10.2006 Где: Moscow Репутация: 22 Всего: 128 |
точнее если указатель = nil... а выделена или нет память по некоему указателю - так не проверишь ;) теоретически валидность указателя можно проверить с помощью набора функций: IsBadCodePtr; IsBadHugeReadPtr; IsBadHugeWritePtr; IsBadReadPtr; IsBadStringPtr; IsBadStringPtrA; IsBadStringPtrW; Это сообщение отредактировал(а) MetalFan - 17.7.2007, 18:34 -------------------- There are always someone smarter than you... |
|||
|
||||
chiffa |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 734 Регистрация: 11.11.2003 Репутация: нет Всего: -1 |
Пытаюсь так:
Выдает: [Pascal Error] Unit2.pas(78): E2008 Incompatible types |
|||
|
||||
Lunatikus |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 503 Регистрация: 29.6.2007 Репутация: нет Всего: 6 |
Разве свойство Activate не может иметь только true или false?Тогда конечно будет ругаться что ты его сравниваешь с непонятным ему nil.
-------------------- TheSin - небольшое игровое сообщество взрослых и молодых(L2,WoW,Aion,RFonline and other not mmorpg,not computer games). сайт гильдии |
|||
|
||||
lukas |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 771 Регистрация: 23.2.2007 Репутация: 3 Всего: 15 |
это дельфи а не php, нужно заботится о типах... (ошибка: несовместимость типов)
А nil - это формальный ноль указателя... -------------------- http://code.google.com/p/orionphp/ - opensource скриптовой язык Orion (аналог PHP) для freepascal/delphi. |
|||
|
||||
chiffa |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 734 Регистрация: 11.11.2003 Репутация: нет Всего: -1 |
спасибо! но код
все три раза выбрасывает табличку с номером, хотя страницы существуют |
|||
|
||||
MetalFan |
|
||||
![]() Аццкий Сотона ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3815 Регистрация: 2.10.2006 Где: Moscow Репутация: 22 Всего: 128 |
Activate = false в случае, если невозможна активация запрашиваемой страницы книги... и вообще, красивее писать так:
-------------------- There are always someone smarter than you... |
||||
|
|||||
chiffa |
|
||||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 734 Регистрация: 11.11.2003 Репутация: нет Всего: -1 |
пасиба. Столкнулся еще с одним траблом....
если в ячейки C9 битая формула, Делфи выбрасывает ошибку и останавливает выполнение. Пытаюсь сделать что бы при ошибке вывело сообщение и продолжило выполнять программу дальше... может кто подскажет как это можно реализовать?....
Добавлено через 3 минуты и 26 секунд
выводит ошибку: Неверный индекс и все.... |
||||
|
|||||
Alexeis |
|
|||
![]() Амеба ![]() Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 34 Всего: 459 |
Нужно пользоваться конструкцией
т.е. создать защищенный блок, который позволяет обрабатывать исключения. Это сообщение отредактировал(а) Alexeis - 20.7.2007, 10:54 -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
sentry |
|
|||
Code Monkey ![]() Профиль Группа: Участник Сообщений: 133 Регистрация: 29.1.2007 Где: Москва Репутация: нет Всего: 10 |
Если в Tools->Debugger Options изменить соответствующие опции (например, Stop On Delphi Exceptions), то программа не будет останавливаться. Но если потребуется узнать тип произошедшего исключения, то нужно будет все вернуть обратно. |
|||
|
||||
chiffa |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 734 Регистрация: 11.11.2003 Репутация: нет Всего: -1 |
Сделал так:
теперь программа продолжает работу, но системную ошибку о несовместимости типов продолжает выдавать.... |
|||
|
||||
Alexeis |
|
|||
![]() Амеба ![]() Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 34 Всего: 459 |
chiffa, может z - это не целое число?
-------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
MetalFan |
|
||||
![]() Аццкий Сотона ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3815 Регистрация: 2.10.2006 Где: Moscow Репутация: 22 Всего: 128 |
-------------------- There are always someone smarter than you... |
||||
|
|||||
![]() ![]() ![]() |
Правила форума "Delphi: Для новичков" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Для новичков | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |