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

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

Ошибка при подключении в Paradox [D5, Paradox]


DDDD ©   (2003-02-04 13:53:00) 

Здрасте мастера!
Ситуация такая. Программа работает базой на Paradoxсе. Запускается нормально вреде бы открывает таблицы (table1.Open) и проверяется на открытие если закрыта программа заканчивает работу. Никаких закрытий не происходит но при обращении к таблице выскакивает ошибка типа "Невозможно применить операцию к закрытой таблице". В чем дело кто знает. пробывал переставлять BDE не помогает.
СПАСИБО!!!


MsGuns   (2003-02-04 17:01:00) [1]

Странный способ открытия таблиц... Типа открыть все что есть или любую какя попадется (стрелять во все что движется) :)))


DDDD   (2003-02-04 16:54:00) [2]

Всем спасибо!
Нашлась ошибка. Недавно как вчера переименовал одну таблицу с переносом данных через Database Desktop и таблица эта при открытии стояла первой при этом сама не открывалась и другим не давала. Незнаю что за глюк но переименовав обратно все заработало.
Еще раз Всем спасибо!


NDeu   (2003-02-04 16:44:00) [3]


TblZajvkaGod.Open;
if not TblZajvkaGod.Active then i:=TblZajvkaGod.TableName else i:="";
if i <> "" then
begin
MessageDlg("Ошибка открытия базы данных +i,mtError,[mbOk],0);
Exit;
end;


Anatoly Podgoretsky   (2003-02-04 16:28:00) [4]

Догадаться где?


DDDD   (2003-02-04 16:24:00) [5]

Еще раз на компьютере где компилируется программа все работает нормально!!! Ошибка возникает когда процедура открытия таблиц уже давно окончена и начинаешь использовать ее (таблицу) уже как открытую. а по поводу блока try except end так он есть.


Anatoly Podgoretsky   (2003-02-04 15:48:00) [6]

Если таблца не откроется, то вторая строка все равно не будет выполнена по причине исключения. Надо такие операции включать в блок try except end. Сообщение об ошибке все равно идет из другого места, а не из этого.

TblZajvkaGod.Open;
if not TblZajvkaGod.Active then i:=TblZajvkaGod.TableName;

Пройдись отладчиком начиная с первой строчки


DDDD   (2003-02-04 15:28:00) [7]

Обязательно. стоит алиес на базу данных. сама база не в сети поэтому сетевые замароки с LocalShared тут не при чем. Сама таблица изначально закрыта. но даже если бы была открыта TblZajvkaGod.Open должно ее передернуть и соответственно отловится состояние по if not TblZajvkaGod.Active then. я вот думаю что может быть глюк либо в самом BDE (там разные версии или еще что нибудь не знаю) или в таблицах сейчас проверяю.!!!
Но если есть возможность пожалуйстта помогите!!!


AlexSerp   (2003-02-04 15:11:00) [8]

DDDD, пока писал, твой новый ответ пришел.
А БДЕ на клиенте нестроен?

Саня


AlexSerp   (2003-02-04 15:05:00) [9]

Знаешь, похоже таблица открыта у тебя в проекте. Т.е. при запуске программы она у тебя уже открыта. Т.е. в свойствах у тебя Active :=True;

Саня


DDDD   (2003-02-04 15:01:00) [10]

Ну какая ошибка в другом месте. Здесь явное открытие таблицы. Далее с помощью DataSet показываются данные. dataSet настроен (на машинке где компилируется код все работает нормально), так вот в нем нет данных даже названий полей. Ничего нет как будто DataSet не настроен. Вот!!!


Anatoly Podgoretsky   (2003-02-04 14:55:00) [11]

Ну ошибка может быть в любом месте, а не только здесь.


DDDD   (2003-02-04 14:45:00) [12]

Дело в том что на машинке где компилируется код все работает нормально, а вот на компьютере юзера возникает такая проблема.
Код проверки:
TblZajvkaGod.Open;
if not TblZajvkaGod.Active then i:=TblZajvkaGod.TableName;
if i <> "" then
begin
MessageDlg("Ошибка открытия базы данных +i,mtError,[mbOk],0);
Exit;
end;


MsGuns   (2003-02-04 14:21:00) [13]

В отладчике св-во Active = true ?


AlexSerp   (2003-02-04 14:09:00) [14]

Нельзя ли кусочек кода показать?

Саня


Наверх

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