![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Ворос О BDE
Демонов Е.В. © (2003-01-27 13:01:00)как своей программе указать что нужно использовать BDE которые находся в каком-то каталоге . т.е. чтобы программы не использовала BDE обозначенные в реестре параметром HKEY_LOCAL_MACHINE\Software\Borland\Database Engine\DLLPATH ?
Демонов Е.В. (2003-01-27 15:13:00) [1]2Anatoly Podgoretsky
>>Это верный путь по приведению других программ, использующих >>БДЕ, в нерабочее состояние, к тому же трудно обнаруживаемый.
Ерунда - так программу не испортить . Если есть параметр DLLPath программа будет использовать его ДЛЯ BDE. Если нет то те BDE которые находятся вместе с экзешником в каталоге..
Хотя возможно не те которые находятся вместе с экзешником в каталоге а те которые находятся в текущем каталоге - надо будет проверить.
А Если нет ни DLLPATH не DBE c EXE тогда прога просто не будет работать.
А испортить так это не серьезно
Демонов Е.В. (2003-01-27 15:04:00) [2]>>Pat © (27.01.03 14:51)
>>У меня работает...
У Меня тоже работает - моя программа поставляется с BDE которые ей нужны - помещаются они в тот же каталог что и exe (при установке) и никаких записей о BDE в реест программа не делает. И если вдруг на компе стоит программа использующая более старые BDE и в реестре прописан (может быть последней) путь к BDE в параметре DLLPath то всё - программа моя начинает испоьзовать эти старые DBE.
Можно конечно сделать так чтобы моя программа брала и прописывала свой путь в DLLPAth но ведь она постовляется только с необходимым ей набором BDE и тогда други программы могут отказать работать. Так было например у меня когда я поставил DELPHI6 а потом программу написанную на DELPHI3 - и тогда просто в DELPHI6 отказали работать компоненты для работы с BD.
Так как же быть ?
Anatoly Podgoretsky (2003-01-27 14:55:00) [3]Это верный путь по приведению других программ, использующих БДЕ, в нерабочее состояние, к тому же трудно обнаруживаемый.
Pat (2003-01-27 14:51:00) [4]>Anatoly Podgoretsky © (27.01.03 14:46)
Почему?
Pat (2003-01-27 14:51:00) [5]>Демонов Е.В. © (27.01.03 14:40)
У меня работает...
Anatoly Podgoretsky (2003-01-27 14:46:00) [6]Pat © (27.01.03 14:34)
Явно выраженное вредительство
Демонов Е.В. (2003-01-27 14:40:00) [7]2Pat © (27.01.03 14:34)
>>Кинь BDE в папку с exe"шником - будет использовать их
дА ТОЛЬко если параметр HKEY_LOCAL_MACHINE\Software\Borland\Database Engine\DLLPATH отсутствует или равен "" иначе программа начинает использовать BDE указанные DLLPATH
Pat (2003-01-27 14:34:00) [8]>Демонов Е.В. © (27.01.03 14:12)
Кинь BDE в папку с exe"шником - будет использовать их
Демонов Е.В. (2003-01-27 14:12:00) [9]Reindeer Moss Eater
>>Эти Dll грузит не программа, а Windows. А ищет она их по вполне определенному списку путей.
Может и так но вопрос не в этом.
Как моей программе указать какие BDE использовать но это явно не те которые заданы параметром HKEY_LOCAL_MACHINE\Software\Borland\Database Engine\DLLPATH
Reindeer Moss Eater (2003-01-27 13:49:00) [10]т.е. чтобы программы не использовала BDE обозначенные в реестре параметром HKEY_LOCAL_MACHINE\Software\Borland\Database Engine\DLLPATH
Эти Dll грузит не программа, а Windows. А ищет она их по вполне определенному списку путей.
Демонов Е.В. (2003-01-27 13:47:00) [11]2Соловьев © (27.01.03 13:21)
>>Перейди на Д6. Или откажись от BDE и используй ADO.
Нельзя программа уже написанна. Переписывать её нет времени. Да и ADO я не знаю достаточно что бы его использовать.
Anatoly Podgoretsky (2003-01-27 13:47:00) [12]Порядок установки версий Дельфи значения не имеет, так как напрямую версия Дельфи, Д2 нормально работает с версией 5.2
БДЕ это вообще отдельный продукт, просто приложенный к Дельфи, к каждой версии свой, но работать надо на версии, совместимой со старшей версией Дельфи, тогда будет все нормально.
Проблема возникла видисо в том, что Демонов Е.В. вилимр не умеет делать апдейт БДЕ
Карелин Артем (2003-01-27 13:45:00) [13]Согласен в принципе.
Kuusiniemi (2003-01-27 13:37:00) [14]> Карелин Артем ©
"Камень в сторону ado"
Это камень не в сторону ADO, а в сторону ODBC скорее.
Карелин Артем (2003-01-27 13:33:00) [15]Камень в сторону ado: сделал прогу с использованием ADo. Эта хрень на разных компах имеет разные названия драйверов и на разных языках. В итоге прога работает у меня в win"2k server, но не работает в Win"me и 98.
Если работает в win"98PE, то на сервере не работает.
Выход такой: использовать прямой доступ к базам. Для dbf есть компонент tdbf.
Карелин Артем (2003-01-27 13:25:00) [16]У меня одно время стояли 3,5,6. Так вот все нормально работало, если ставить сначала 3, потом 5 и в конце 6. Строго по порядку.
Соловьев (2003-01-27 13:21:00) [17]Перейди на Д6. Или откажись от BDE и используй ADO.
Демонов Е.В. (2003-01-27 13:18:00) [18]а ТО НАПРИМЕР происходит такое - стоит DELPHI 3 и программа написанная на DELPHI 6 со своими BDE которые находятся в каталоге с прогрпммой- естественно програма не работает если не удалить путь HKEY_LOCAL_MACHINE\Software\Borland\Database Engine\DLLPATH и приходится хитрить через батники.
P.S. просто способ сразу после запуска программы перед открытием базы данных убирать этот ключ в реестре а перед завершением его восстанавливать как то не очень мне нравится.