Модераторы: Poseidon, Snowy, bems, MetalFan

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Помогите исправить ошибку! Runtime error 217 
V
    Опции темы
Pavelbej
Дата 30.1.2007, 00:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 419
Регистрация: 5.7.2005

Репутация: нет
Всего: 6



Узучал менюшки, их оформление и все такое, все работало нормально, через какое-то время вдруг при запуске стала появлятся ошибка "Runtime error 217". Помогите разобратся, что это такое и куда копать. В Делфи появляется страница System с указанием на этот код:

Код

begin
  errorCode := errorCode and 127;
  if Assigned(ErrorProc) then
    ErrorProc(errorCode, ErrorAddr);
  if errorCode = 0 then   //вот тут подчеркивание
    errorCode := InOutRes
  else if errorCode <= Byte(High(TRuntimeError)) then
    errorCode := reMap[TRunTimeError(errorCode)];
  RunErrorAt(errorCode, ErrorAddr);
end;

PM MAIL   Вверх
bems
Дата 30.1.2007, 03:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 3400
Регистрация: 5.1.2006

Репутация: 31
Всего: 88



эта штука констатирует факт ошибки. Что ты конкретно делаешь и какой последний твой код перед ошибкой?


--------------------
Обижено школьников: 8
PM MAIL   Вверх
dimazu
Дата 30.1.2007, 07:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 83
Регистрация: 4.3.2006

Репутация: 4
Всего: 5



В описании было что-то такое "STATUS_CONTROL_C_EXIT:217".  smile 
Что это - не знаю... Не понимаю причем тут CONTROL_C...  smile 

Насколько я знаю, Delphi-йская прога часто дает runtime error 217 когда ошибка возникает до инициализации 
SysUtils или сразу после ее финализации (сам не наблюдал).  

Когда эта ошибка возникала у меня:
1. При работе с фришным XPMenu компонентом (очень часто!)
2. Неправильный формат date (иногда, закономерности не выявил)
3. Попытка доступа с сетевым ресурсам без достаточных привилегий (всегда)
4. Инициализация BDE в сети с неверным путем (почти всегда)
 
PM MAIL   Вверх
Pavelbej
Дата 30.1.2007, 09:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 419
Регистрация: 5.7.2005

Репутация: нет
Всего: 6



В последний раз я удалил из проекта XPMenu, и добавил код который нашел на этом форуме, чтобы красивое меню сделать, и все работало, но после нескольких запусков все и началось. Удалил Дельфи и все сторонние компоненты, поставил заново только необходимое для проекта и ничего все таже проблема. 

При запуске показывает  "Project Project1.exe raised exception class ERangeError with message 'Range check error'....
PM MAIL   Вверх
CatATonik
Дата 30.1.2007, 10:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 95
Регистрация: 12.1.2007
Где: Москва

Репутация: 6
Всего: 8



А Call Stack посмотреть слабо? Где ошибка то возникает?
PM MAIL   Вверх
Pavelbej
Дата 30.1.2007, 15:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 419
Регистрация: 5.7.2005

Репутация: нет
Всего: 6



CatATonik,  ну я не так уж и хорошо знаю Делфи и вообще программирование, непонятно о чем ты.

Народ помогите, невозможно дальше работать. Че Виндозу уже переустановить? Вроде бы изза этих меню все случилось, но поставил все заново и все равно не хочет фунциклировать. Очень надо, уже день бездельничаю.
PM MAIL   Вверх
CatATonik
Дата 30.1.2007, 15:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 95
Регистрация: 12.1.2007
Где: Москва

Репутация: 6
Всего: 8



Когда вываливается ошибка нажимаешь Ctrl+Alt+S, появится окошко Call Stack, это список вызовов функций в которых возникла ошибка. Т.е. если у тебя ошибка в функции f3 которая вызвается из функция f2 та из f1, то будет список f3, f2, f1. Сможешь увидеть где у тебя ошибка.
PM MAIL   Вверх
Pavelbej
Дата 30.1.2007, 15:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 419
Регистрация: 5.7.2005

Репутация: нет
Всего: 6



Цитата(CatATonik @  30.1.2007,  15:24 Найти цитируемый пост)
Когда вываливается ошибка нажимаешь Ctrl+Alt+S, появится окошко Call Stack, это список вызовов функций в которых возникла ошибка. Т.е. если у тебя ошибка в функции f3 которая вызвается из функция f2 та из f1, то будет список f3, f2, f1. Сможешь увидеть где у тебя ошибка. 


понял, но показывает то что я уже написал в первом посте: указывает на модуль System и подчеркивает строку 
Код
 if errorCode = 0 then


PM MAIL   Вверх
CatATonik
Дата 30.1.2007, 15:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 95
Регистрация: 12.1.2007
Где: Москва

Репутация: 6
Всего: 8



И больше ничего нет? Только System?
Тогда попробуй запустить в пошаговом режиме (все время нажимай F7), наверное у тебя гдето в Initialization ошибка. Заодно посмотришь все-ли ты удалил  smile 
PM MAIL   Вверх
Pavelbej
Дата 30.1.2007, 16:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 419
Регистрация: 5.7.2005

Репутация: нет
Всего: 6



CatATonik,  я зделал, но все остановилось на странице GETMEM.INC, вот код: 
Код

if smallTab <> nil then begin
      for i:= low(smallTab^) to high(smallTab^) do            // остановка здесь и на нижней строке
        smallTab[i] := nil;

PM MAIL   Вверх
CatATonik
Дата 30.1.2007, 16:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 95
Регистрация: 12.1.2007
Где: Москва

Репутация: 6
Всего: 8



Ты отключи в свойствах проекта опцию Use Debug DCU и сразу легче станет, а то что ты библиотечные функции показываешь, тебе надо найти где у тебя оно вываливается.
PM MAIL   Вверх
Pavelbej
Дата 30.1.2007, 16:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 419
Регистрация: 5.7.2005

Репутация: нет
Всего: 6



CatATonik,  месага появилась в конец 
Код
unit JvConsts;


Что посоветуеш? Что это значит?
PM MAIL   Вверх
CatATonik
Дата 30.1.2007, 17:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 95
Регистрация: 12.1.2007
Где: Москва

Репутация: 6
Всего: 8



Ну вот, а говоришь все сторонние компонеты удалил smile 
Это видимо JCL, такая сторонняя библиотека. Удали из Uses вообще все лишние модули, глядишь заработает. Только не спрашивай какие сторонние а какие нет, отсюда я тебе сказать не могу.
PM MAIL   Вверх
Beltar
Дата 30.1.2007, 17:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 627
Регистрация: 11.1.2006

Репутация: 3
Всего: 7



Что-то ты делаешь тут мегасложное.
Кстати.

In Delphi, ErrorProc is a procedure variable pointing to the runtime error handler. The standard ErrorProc procedure reports the runtime error and terminates the program.
 
The ErrorProc variable is retained primarily for compatibility with older code. Newer applications should not specify an alternate runtime error procedure using ErrorProc as SysUtils uses this variable to convert runtime errors into exceptions. 
If you use SysUtils in your program, it will force ErrorProc to its own routine and convert the runtime error into an exception. When a runtime library error occurs, the ErrorProc is called. The ErrorCode parameter contains the runtime error number and the ErrorAddr parameter contains the machine code address that caused the runtime error.


Т. е. с ней связываться не рекомендуется. Почему ты не используешь try except?


--------------------
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы. smile(с) я, хотя может и нет
Пищущий на C++ мужик. Даже если это мужик сидит в написанном на Delphi и жрущем паскалевскую библиотеку билдере.
PM MAIL   Вверх
dimazu
Дата 30.1.2007, 22:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 83
Регистрация: 4.3.2006

Репутация: 4
Всего: 5



Унинсталируй нафиг Jedi
Oни используют ХР меню компонент и
кроме того (по просьбе  smile ) устанавливают редакторы пропертиз...
Отредактируй  dclusr и убери из него даже
упоминание о сторонних компонентах.

Если и после этого будет ошибка, то будем удалять дальше...   smile 
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0811 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.