Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.09.2012, 09:55   #1
AVZevs
 
Регистрация: 25.09.2012
Сообщений: 6
Восклицание Runtime error 216 [Delphi7 + JediVCL + IBExpress]

Добрый день!

Наваял программу на Delphi7, которая читает RFID карты и пишет их в БД FireBird. Использую компоненты IBExpress и сторонние компоненты JediVCL.
На моем компе (где писал прогу - XP SP3) все работает как часы.

А вот на компе клиента (тоже XP SP3) сразу же при запуске выдает окно:
Инструкция по адресу XXXX обратилась по адресу YYYY. Память не может быть Read.
Жмем Ок.
Выпадает окно "Runtime error 216 at ZZZZZ".

Может что на компе клиента установить надо? Хотя FireBird сервер там стоит и успешно работает. Куда копать?
Мне завтра уже кровь из носа надо ставить туда эту прогу. Помогите, плиз!
AVZevs вне форума Ответить с цитированием
Старый 25.09.2012, 10:19   #2
_SERGEYX_
Участник клуба
 
Аватар для _SERGEYX_
 
Регистрация: 07.07.2007
Сообщений: 1,518
По умолчанию

Предположение: В скомпилированном файле в компоненте IBDatabase установлено свойство DatabaseName (т.е. указан путь, которого нет на другом компе) и свойство Connected установлено в True
_SERGEYX_ вне форума Ответить с цитированием
Старый 25.09.2012, 10:30   #3
AVZevs
 
Регистрация: 25.09.2012
Сообщений: 6
По умолчанию

Цитата:
Сообщение от _SERGEYX_ Посмотреть сообщение
Предположение: В скомпилированном файле в компоненте IBDatabase установлено свойство DatabaseName (т.е. указан путь, которого нет на другом компе) и свойство Connected установлено в True
Это я уже проверял - Connected := False;

Для проверки сейчас скопировал свою прогу вообще на другой комп тоже с XP SP3. На этом компе нет Delphi и не установлен FireBird Server. Запускаю свою прогу - вылетаем сообщение о необходимости установки vcredist_x86 (нужна какая-то MSVC100.DLL - вроде так). Ставлю этот редист. Перезапускаю свою прогу - она мне пишет, что ошибка в компоненте IBExpress, т.к. нет GDS32.DLL. Беру эту DLL-ку и просто копирую в папку со своей прогой. Снова запускаю свою прогу - и вуаля - все работает как надо!

А на компе клиента все такие же действия не избавляют меня от Runtime 216 при запуске, млин
AVZevs вне форума Ответить с цитированием
Старый 25.09.2012, 10:33   #4
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Гугл говорит, что "Runtime error 216" и с вирусами может быть связан. Так, на всякий случай
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 25.09.2012, 10:53   #5
AVZevs
 
Регистрация: 25.09.2012
Сообщений: 6
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
Гугл говорит, что "Runtime error 216" и с вирусами может быть связан. Так, на всякий случай
Исключено. Вирусов нет. Сам ставил голую винду. Флешки отрублены, сети нет. Стоит Symantec EP.
Тем более все другие программы нормально запускаются.
AVZevs вне форума Ответить с цитированием
Старый 25.09.2012, 13:11   #6
AVZevs
 
Регистрация: 25.09.2012
Сообщений: 6
По умолчанию

Добавление:

Сейчас скопировал эту прогу на комп с Win2003Server...
Вообще не запустилась. Появляется в процессах и через секунду исчезает. Никаких сообщений не выдает.
Блин. Че за фигня?
AVZevs вне форума Ответить с цитированием
Старый 25.09.2012, 13:17   #7
Luuzuk
Форумчанин
 
Аватар для Luuzuk
 
Регистрация: 18.01.2012
Сообщений: 975
По умолчанию

Банальный совет: проверьте, не выходите ли вы где-то за границы массива. В моей практике "Runtime error 216" при завершении программы чаще всего выскакивал именно из-за этого
Благодарить в репутацию. Проклинать — туда же
Luuzuk вне форума Ответить с цитированием
Старый 25.09.2012, 13:21   #8
AVZevs
 
Регистрация: 25.09.2012
Сообщений: 6
По умолчанию

Да я даже не представляю где там что проверять, т.к. моего кода там практически нет - в основном просто логика и вызовы чужих функций из чужих DLL-ек. Ну и использование компонентов Jedi и InterBase.

Я просто не пойму - почему на других компах запускается и работает?
AVZevs вне форума Ответить с цитированием
Старый 28.09.2012, 12:11   #9
AVZevs
 
Регистрация: 25.09.2012
Сообщений: 6
По умолчанию Проблема решена

Итак, проблема решена.

Установил я все-таки дельфи на тот комп, где вылетал рантайм. При запуске приложения из дельфи выяснилось, что Jedi при инициализации в модуле JclSysInfo при определении частоты проца выдавал деление на ноль. Подправил немного модуль и все отлично заработало.
AVZevs вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Runtime error oban11 Помощь студентам 4 16.11.2010 22:47
Runtime Error ultrasfan Общие вопросы C/C++ 3 12.10.2010 16:16
Runtime Error RoS Qt и кроссплатформенное программирование С/С++ 7 06.09.2010 16:44
RUNTIME ERROR 216 при работе с DLL 100GRamm Общие вопросы Delphi 9 07.11.2009 13:37
error 216 Juffin Общие вопросы Delphi 6 05.04.2009 19:38