Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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
1-1135600351
Barsky
2005-12-26 15:32
2006.01.29
Загрузить процессор. Фантазии не хватает.


3-1133515483
Goast
2005-12-02 12:24
2006.01.29
Не могу удалить запись!!!


2-1137143508
dabreezy
2006-01-13 12:11
2006.01.29
Как сделать постоянное выполнение комманд


6-1129746223
Black-Grin
2005-10-19 22:23
2006.01.29
NMFTP.LIST - виснет


1-1135233149
Ups
2005-12-22 09:32
2006.01.29
ShellTreeView with checkbox





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский