Непонятки с доступом к базе данных

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Re: Непонятки с доступом к базе данных

Сообщение krab » 28.02.2010 00:59:53

Padre_Mortius писал(а):добавьте в mainunit.pas в модули datamodule и все должно компилиться

Но у меня и так все компилится. :| Что первый, что второй проект.

И почему mainunit.pas, у меня mainform.pas... Добавление mainform в uses datamodule.pas ничего не изменило.
krab
постоялец
 
Сообщения: 108
Зарегистрирован: 17.02.2010 18:23:08

Re: Непонятки с доступом к базе данных

Сообщение Padre_Mortius » 28.02.2010 01:15:18

ок. тогда проверь проект во вложении. у меня он полностью работает

Добавлено спустя 19 секунд:
только пути на свои поправь
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Padre_Mortius
энтузиаст
 
Сообщения: 1265
Зарегистрирован: 29.05.2007 17:38:07
Откуда: Спб

Re: Непонятки с доступом к базе данных

Сообщение krab » 28.02.2010 01:19:24

Padre_Mortius писал(а):ок. тогда проверь проект во вложении. у меня он полностью работает

Смотря что считать работой.

Если установить SQLQuery1.Active в True и запустить, увидите вышеупомянутую ошибку. Собственно, о чем и мой вопрос.
krab
постоялец
 
Сообщения: 108
Зарегистрирован: 17.02.2010 18:23:08

Re: Непонятки с доступом к базе данных

Сообщение Padre_Mortius » 28.02.2010 01:20:50

при нажатии на кнопку дбгрид у меня заполняется данными
Padre_Mortius
энтузиаст
 
Сообщения: 1265
Зарегистрирован: 29.05.2007 17:38:07
Откуда: Спб

Re: Непонятки с доступом к базе данных

Сообщение krab » 28.02.2010 01:29:09

Padre_Mortius писал(а):при нажатии на кнопку дбгрид у меня заполняется данными


Удалите кнопку, установите SQLQuery1.Active в True и запустите приложение. Just do it.

И скажите, после этого:
1) работает ли(есть ли данные в дбгрид) все в конструкторе формы(режиме редактирования формы лазаруса)
2) работает ли после запуска

P. S. Если перечитать мои исходные сообщения, то видно, что эту кнопку я добавил в качестве костыля-подпорки, хака. :(
http://freepascal.ru/forum/viewtopic.php?p=40056#p40056
http://freepascal.ru/forum/viewtopic.php?p=39899#p39899
krab
постоялец
 
Сообщения: 108
Зарегистрирован: 17.02.2010 18:23:08

Re: Непонятки с доступом к базе данных

Сообщение Padre_Mortius » 28.02.2010 02:01:56

перенесите SQLQuery1 и SQLTransaction1 на datamodule и попробуйте запустить. Косяк в инициализации компонентов
Padre_Mortius
энтузиаст
 
Сообщения: 1265
Зарегистрирован: 29.05.2007 17:38:07
Откуда: Спб

Re: Непонятки с доступом к базе данных

Сообщение krab » 28.02.2010 02:09:58

Padre_Mortius писал(а):перенесите SQLQuery1 и SQLTransaction1 на datamodule и попробуйте запустить. Косяк в инициализации компонентов

Транзакшн и сейчас на ДатаМодуле, Query переношу.

Так работает. Но все равно неясно, почему исходный вариант вызывает ошибку. Ведь и ДатаМодуль инициализируется раньше Формы...

Если учесть, что в конечном варианте моего приложения будет около десятка форм с несколькими Query на каждой, идея хранить всю эту кучу в одном ДатаМодуле не вызывает энтузиазма.
krab
постоялец
 
Сообщения: 108
Зарегистрирован: 17.02.2010 18:23:08

Re: Непонятки с доступом к базе данных

Сообщение Padre_Mortius » 28.02.2010 02:16:35

ошибка возникает при инициализации основной формы. Если, например, написать SQLQuery1.Active=True в обработчике FormActivate, то ошибки тоже не будет.
Если учесть, что в конечном варианте моего приложения будет около десятка форм с несколькими Query на каждой, идея хранить всю эту кучу в одном ДатаМодуле не вызывает энтузиазма.

Очень многое стоит формировать в real-time. В итоге query создается при создании формы и уничтожается при ее закрытии
Padre_Mortius
энтузиаст
 
Сообщения: 1265
Зарегистрирован: 29.05.2007 17:38:07
Откуда: Спб

Re: Непонятки с доступом к базе данных

Сообщение krab » 28.02.2010 02:33:33

Странная особенность, граничащая с багом. В том же Дельфи, к совместимости с которой стремится Лазарус, такого нет.
Но если ничего лучше не предвидится, придется пользоватся этим.

Padre_Mortius писал(а):Если, например, написать SQLQuery1.Active=True в обработчике FormActivate, то ошибки тоже не будет.

Подтверждаю.
krab
постоялец
 
Сообщения: 108
Зарегистрирован: 17.02.2010 18:23:08

Re: Непонятки с доступом к базе данных

Сообщение Padre_Mortius » 28.02.2010 02:39:49

это не особенность, это баг, которому место в мантисе)
Padre_Mortius
энтузиаст
 
Сообщения: 1265
Зарегистрирован: 29.05.2007 17:38:07
Откуда: Спб

Re: Непонятки с доступом к базе данных

Сообщение krab » 28.02.2010 02:45:26

Padre_Mortius писал(а):это не особенность, это баг, которому место в мантисе)

Да. Причем есть опасение, что хак с FormActivate может не сработать на какой-то машине. Например, я пробовал на ноутбуке делать то же самое, но из FormShow - фиг там. А вот на другом ПК с FormShow работает. Компилировал и там, и там.
krab
постоялец
 
Сообщения: 108
Зарегистрирован: 17.02.2010 18:23:08

Пред.

Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 46

Рейтинг@Mail.ru