Главная страница
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.046 c
2-1136796548
M@X_1
2006-01-09 11:49
2006.01.29
Подскажите чайнику


2-1136753915
Imbalance
2006-01-08 23:58
2006.01.29
Объясните


8-1124191431
al_mt_zabyl_parol
2005-08-16 15:23
2006.01.29
Трассировка изображений


6-1129620575
antoxa2005
2005-10-18 11:29
2006.01.29
http://www.delphimaster.ru/forum/add-4.html - Как сохранить файл?


1-1135510556
Мастер Ломастер
2005-12-25 14:35
2006.01.29
Помогите написать функцию создания класса!