Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.01.29;
Скачать: CL | DM;

Вниз

Перестает работать 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;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.047 c
15-1136817592
Гость_
2006-01-09 17:39
2006.01.29
Геометрия эллипсоида


2-1137161329
Serjhh
2006-01-13 17:08
2006.01.29
Rave5


10-1099987341
mak
2004-11-09 11:02
2006.01.29
проблемы вызова COM сервера в WIN2003


2-1136826110
Pazitron_Brain
2006-01-09 20:01
2006.01.29
Рандомизатор


15-1136193020
SergP
2006-01-02 12:10
2006.01.29
ИЕ. Начиная с какой версии поддерживается длина ключа 128 бит?