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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Lazarus и FireBird, Глюк при закрытии клиента 
:(
    Опции темы
ilya198293
Дата 19.7.2013, 13:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 170
Регистрация: 17.3.2007
Где: Сириус, созвездие Большого Пса

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



Пишу приложение с использованием lazarus и firebird.

Глюк наблюдается на клиентской машине. На самом сервере firebird глюка нет.

При создании главной формы пишу:
Код

FBCon.Connected:=true;


В процессе работы программы открываю/закрываю окна.
В них использую:
Код

F_GlForm.SQLTrans.Active:=true;

INSERT/UPDATE/DELETE

F_GlForm.SQLTrans.Active:=false;


На главной форме при закрытии пишу
Код

procedure FormClose(Sender: TObject; var CloseAction: TCloseAction);
begin
  FBCon.Connected:=false;
  CloseAction:=caFree;
end;  


И выходит стандартное windowое сообщение о не правильной работе приложения.
Не понятно почему такое происходит.
Прошу подсказать.
Заранее благодарен.
--------------------
Недавно пытался объяснить сыну, кто такой модератор. Сошлись на Мойдодыре.
PM MAIL   Вверх
Alexeis
Дата 19.7.2013, 15:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

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



  Если убрать строчку FBCon.Connected:=false; перестает падать?


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
ilya198293
Дата 19.7.2013, 17:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 170
Регистрация: 17.3.2007
Где: Сириус, созвездие Большого Пса

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



Я её недавно добавил в надежде, что перестанет падать.
--------------------
Недавно пытался объяснить сыну, кто такой модератор. Сошлись на Мойдодыре.
PM MAIL   Вверх
Alexeis
Дата 19.7.2013, 21:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

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



  Попробуй поставить в деструкторах объектов формы бряки (в том числе и деструкторе формы). Бывают такие траблы из-за попытки повторного уничтожения объекта. Т.е. объект уже был удален автоматически встроенным механизом + где-то еще руками уничтожается или наоборот, удален руками, но владелец объекта не был уведомлен об этом событии и удаляет сам повторно. 


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
ilya198293
Дата 20.7.2013, 02:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 170
Регистрация: 17.3.2007
Где: Сириус, созвездие Большого Пса

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



Цитата(Alexeis @  19.7.2013,  21:34 Найти цитируемый пост)
 Попробуй поставить в деструкторах объектов формы бряки (в том числе и деструкторе формы)


Ничего не понял.

--------------------
Недавно пытался объяснить сыну, кто такой модератор. Сошлись на Мойдодыре.
PM MAIL   Вверх
ilya198293
Дата 20.7.2013, 05:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 170
Регистрация: 17.3.2007
Где: Сириус, созвездие Большого Пса

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



Только что провёл эксперимент.
Тот клиентский компьютер на котором проводились первичные эксперименты и там где наблюдается глюк настроен местным админом и там ограничены права. Глюк возникает даже если просто запустить программу и тут же выйти.
По сути выполняется только:

Код

FBCon.Connected:=true;


и

Код

procedure FormClose(Sender: TObject; var CloseAction: TCloseAction);
begin
  FBCon.Connected:=false; {эту строку пробовал убирать ничего не помогает}
  CloseAction:=caFree;
end;


На домашнем компе с правами админа, такая ситуация не возникает.
Где-то проблема в администрировании клиентского компа.


Это сообщение отредактировал(а) ilya198293 - 20.7.2013, 05:30
--------------------
Недавно пытался объяснить сыну, кто такой модератор. Сошлись на Мойдодыре.
PM MAIL   Вверх
Akella
Дата 20.7.2013, 10:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


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

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



Цитата(ilya198293 @  19.7.2013,  13:31 Найти цитируемый пост)
F_GlForm.SQLTrans.Active:=true;
INSERT/UPDATE/DELETE
F_GlForm.SQLTrans.Active:=false;


а где commit?

Добавлено через 2 минуты и 10 секунд
Цитата(ilya198293 @  20.7.2013,  05:28 Найти цитируемый пост)
Только что провёл эксперимент.
Тот клиентский компьютер на котором проводились первичные эксперименты и там где наблюдается глюк настроен местным админом и там ограничены права. Глюк возникает даже если просто запустить программу и тут же выйти.

значит FB тут не причём
смотри, куда твоя программа лезет, в какую папку или реестр
куда  пишет?
особенно критично, если ты пишешь в папки типа c:\program files\, c:\, c:\windows\

Добавлено через 2 минуты и 35 секунд
сделай тестовый пустой проект, будет ли проблема?
PM MAIL   Вверх
ilya198293
Дата 20.7.2013, 12:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 170
Регистрация: 17.3.2007
Где: Сириус, созвездие Большого Пса

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



commit подразумевается под выполнением INSERT/UPDATE/DELETE.
все необходимые данные вставляются, обновляются и удаляются. всё работает.
при запуске программы выполняется процедура:

Код

procedure TF_GlForm.FormCreate(Sender: TObject);
begin
  DecimalSeparator := '.';
  PathINI := ExtractFilePath(ParamStr(0)) + 'settings.ini';
  IniF := TIniFile.Create(PathINI);
  FBCon.HostName := IniF.ReadString('DATABASE', 'Host', '');
  DBPath := IniF.ReadString('DATABASE', 'DataBasePath', '');
  FBCon.DatabaseName := DBPath;
  FBCon.UserName := IniF.ReadString('DATABASE', 'user_name', '');
  FBCon.Password := IniF.ReadString('DATABASE', 'password', '');
  FBCon.Connected := True;
  FormDan := 0;
end;            


при закрытии приложения:

Код

procedure TF_GlForm.FormClose(Sender: TObject; var CloseAction: TCloseAction);
begin
  FBCon.Connected := False;
  CloseAction := caFree;
end;   


Папка с программой, библиотекой подключение к серверу (fbclient.dll) и сетингс-файлом лежит на рабочем столе.

Происходит только чтение данных из файла settings.ini.
Записи никакой нет.
Данные читаются нормально. Если бы не считались, то не запустилась бы программа.
--------------------
Недавно пытался объяснить сыну, кто такой модератор. Сошлись на Мойдодыре.
PM MAIL   Вверх
Keeper89
Дата 21.7.2013, 01:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2580
Регистрация: 26.2.2009

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



ilya198293

скорее всего проблема в расположении файла ParamStr(0)) + 'settings.ini'.

И, да, вопросы:
  • где уничтожается IniF?
  • зачем CloseAction:=caFree? Она сама уничтожится, стоит заменить FormClose на FormDestroy.



--------------------
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi"
THandle
Rrader
volvo877

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

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

2. Публиковать ссылки на варез

3. Оффтопить

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

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

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Object Pascal: кроссплатформенные технологии | Следующая тема »


 




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


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

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