Главная страница
    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.029 c
1-1135232351
Layner
2005-12-22 09:19
2006.01.29
Братцы, подскажите, как в MDI прил. открыть невидимо MDI форму


11-1118299213
Шурик
2005-06-09 10:40
2006.01.29
Как поставить KOL?


1-1135178080
toxa_2006
2005-12-21 18:14
2006.01.29
ХЭширование Метод свёртки


1-1134649852
dracula
2005-12-15 15:30
2006.01.29
Помогите разобраться с завершением потока.


1-1135277401
SANEK_10289
2005-12-22 21:50
2006.01.29
Как обновить программу?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский