Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Захват файла gdb ??? [D6, IB6.x]


kaif ©   (2003-01-25 01:32:00) 

В последнее время столкнулся с новым для меня явлением.
Периодически при коннекте к IB базе возникает сообщение типа:
"I/O error. Файл такойто.GDB занят другим приложением".
Стоп-старт сервера проблему снимает, база при этом не повреждается.
Это стало происходить после того, как я на палитру положил несколько своих новых компонентов, работающих с IB в стиле IBX.
В частности, там есть потомок от IBDatabase. Если этот потомок положить на форму, активизировать соединение, а затем просто закрыть проект в среде Delphi, то потом, при соединении с той же базой возникает такая ошибка.
Я и раньше писал компоненты под IBX, но с таким явлением не сталкивался.

Как такое вообще может быть?

У меня даже нет версий. Все экземпляры потомков TComponent, положенных на форму в процессе дизайна, как мне кажется, уничтожаются при закрытии проекта и уничтожении формы.
Пусть даже что-то каким-то немыслимым образом застряло. Ну и что? Ну осталось бы висеть еще одно соединение с базой. Когда я подключаю множество приложений к одной базе, ведь проблем не бывает? Да и вообще, доступом к GDB-файлу заведует процесс сервера, а не приложение. У меня стоит Yaffil 821 суперсервер. Это один сервис под NT.

В общем, бред какой-то
Буду признателен за любые идеи о том, как ловить такой глюк.


Alexandr   (2003-01-27 08:59:00) [1]

это нипричем.


Dmitry W.   (2003-01-27 06:03:00) [2]

просто надо корректно завершать соединение с БД.
Хоть по ForseClose :)
и для все клиентов использовать один тип соединения, предпочтительно TCP.


Alexandr   (2003-01-25 08:07:00) [3]

1) Если XP то у базы переименовать расширение на другое. А то gdb нужен там какому-то резервному копированию, токорое копирует что ни попадя...
2) Возьми какой-нибудь файловый монитор и посмотри кому еще файл понадобился.
3) В нормальной ситуации такого действительно не бывает.


Sergey Masloff   (2003-01-25 01:36:00) [4]

Операционка какая? Не ХП часом?


Наверх

Титульная страница Поиск, карта сайта Написать письмо