![]() |
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]() ![]() ![]() |
|
Vit |
|
|||
![]() Vitaly Nevzorov ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 10964 Регистрация: 25.3.2002 Где: Chicago Репутация: 48 Всего: 207 |
Приведенная ниже процедура создает пустую базу данных MS Access
Кусочек кода, который должен распознавать какая версия DAO установлена на компьютере мной не мог быть оттестирован, так как только одна работающая версия DAO может быть установлена на компьютере. У меня установлен Office XP (DAO36) и на нем все работает нормально. Интересно было бы узнать работает ли логика для Office 2000 (DAO35) и Office 97 (DAO30), так что присылайте отзывы, или может кто знает лучший способ как определить версию DAO (кроме моего, установки нескольких try .. except, поиска по диску DAOxx.DLL) -------------------- With the best wishes, Vit I have done so much with so little for so long that I am now qualified to do anything with nothing Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru |
|||
|
||||
Fantasist |
|
|||
![]() Лентяй ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1517 Регистрация: 24.3.2002 Репутация: нет Всего: 41 |
Это здорово! Тут, помниться, TAРАКАН cпрашивал, как создать базу данных Access тогда, по моему, так и не ответели.
А какой параметр указывает, что именно база данных Access? LANGID=0x0409 - этот что ли? (не довелось пока с DAO поработать) В принципе CoCreateInstance, можно заменить на поиск по реестру, возможно будет эффективнее. -------------------- Волны гасят ветер... |
|||
|
||||
Vit |
|
||||||
![]() Vitaly Nevzorov ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 10964 Регистрация: 25.3.2002 Где: Chicago Репутация: 48 Всего: 207 |
Вообще-то я отвечал, правда и не настолько конкретно. Тепрерь же решил воплатить теорию в код.
Нет, это языковые настройки, как я понял. Насколько я понимаю просто для DAO MS Access это стандарт, и она и создается по умолчанию, все остальные базы - работают через какой-то "ретрансляционный layer" внутри DAO и не имеется возможности достучаться до таких мелочей. Впрочем импортируй в модуль DAOxx.DLL (где-то в микрософтовских Common Files) и сам посмотри ее интерфейсы.
Не было времени разглядывать пристально, но кое-что меня озадачило: у меня стоит Office XP т.е. DAO36, так вот у меня есть обе DAO36.DLL и DAO35.DLL, и в реестре в HKEY_CLASSES_ROOT прописаны оба CLSID, но инициализируется только один(DAO36)! Другой (DAO35) дает ошибку при попытке инициализации. Вот и пойми, как определить? -------------------- With the best wishes, Vit I have done so much with so little for so long that I am now qualified to do anything with nothing Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru |
||||||
|
|||||||
Fantasist |
|
||||
![]() Лентяй ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1517 Регистрация: 24.3.2002 Репутация: нет Всего: 41 |
А, ну да. Логично. LANGID - мог бы и сам догадаться...
Хм! Очень интересно. Конечно, неплохо бы знать, на каком уровне происходит ошибка. Посмотрю у себя, но если ты все-таки найдешь время разшлядеть хоть чего-нибудь, раскажешь ok? -------------------- Волны гасят ветер... |
||||
|
|||||
![]() ![]() ![]() |
Правила форума "Delphi: Общие вопросы" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |