Форум: "Начинающим";
Текущий архив: 2006.01.29;
Скачать: [xml.tar.bz2];
Вниз
Перестает работать MS Access база с dll на Delphi на другом компе Найти похожие ветки
← →
kukushka-Q © (2005-12-26 14:23) [0]Привествую уважаемые!
Помогите чайнику разобраться!!!
Написал и скомпилил dll в Delphi, объявил её процедуры и функции как положено в модуле MS Access. Всё прекрасно заработало.
Перенес базу на другой комп (вместе с dll, dll в том же каталоге, что и база). Запускаю процедуру в MS Access с обращением к dll - пишет, что файл xxx.dll не найден (run time 53). Что делалось и не помогло:
- прописание полного пути к dll в модуле объявления библиотеки в MS Access
- копирование dll в c:\windows\ и с:\windows\system32
Дополнительная информация:
1. В заголовке dll в uses прописано:
SysUtils,
Classes,
Dialogs,
2. Комп на котором всё работает: Win2000, MS Access 2002, Delphi 7.
3. Комп не котором не работает: WinXP, MS Access 2002
Может от Delphi необходимо перенести ещё какие-то библиотеки или компоненты?
Помогите pls!
← →
alex_*** © (2005-12-26 14:24) [1]какой файл-то?
← →
Kukushka-Q © (2005-12-26 14:36) [2]файл с моей dll
← →
alex_*** © (2005-12-26 15:02) [3]ответил... если твоя длл, то и определяй что нужно твоей длл. Проверь стоит ли jet для начала
← →
Kukushka-Q © (2005-12-26 15:14) [4]Дык в том-то и дело, что до вызова моей dll дело не доходит, модуль базы MS Access почему-то в упор её не видит! нет, говорит, такого файла и всё тут!
← →
alex_*** © (2005-12-26 15:21) [5]от форума ты что хочешь? чтоб сказали почему до вызова твоей длл в твоей программе не доходит? и что есть "модуль базы MS Access"
← →
alex_*** © (2005-12-26 15:31) [6]извиняюсь. не дочитал до конца первый пост. Если не находит твою длл, значит неправильно регистришь. длл это СОМ объект у тебя?
← →
Kukushka-Q © (2005-12-26 15:51) [7]Видимо не совсем четко обрисовал ситуацию, извини.
На MS Access - БД, в ней, в VBA модуле через Declare Sub объявлены функции и процедура внешней dll, написанной на Delphi. В этом же модуле процедуры и функции dll вызываются.
Dll - не COM объект, а самая простенькая, с 1-й функцией и 3-мя процедурами.
Я в Delphi совчем чайник, если не сложно, объясни нужно ли как-то специально компилить dll (с ключами) и как правильно её регистрить.
На компе где всё отлаживалось я ничего не регистрил, у меня dll лежит в том каталоге, что и база MS Access, но при этом всё работет как нужно.
← →
alex_*** © (2005-12-26 16:34) [8]если задача из VBA подсосать внешнюю dll, нужно чтобы эта длл принимала только стандартные типы: PChar, LONG и т.д. при импорте нужно описать тип вызова ф-ции из DLL: (stdcall, cdecl напр.). Скомпилить без runtime пакетов.
НА VB6 у меня это прокатывало. В хелпе еще пункт был что-то типа "import dll"s" по-моему. Ну и положить эту длл либо в тек. папку, либо куда-ть из окружения path
← →
Kukushka-Q © (2006-01-10 18:26) [9]Ура!!! Проблема была в runtime пакетах. Когда выкинул их из проекта и перекомпилил - всё разаботало (правда размер dll почти в 3 раза вырос, но это уже не важно). Спасибо.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2006.01.29;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.61 c