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

Вниз

Динамическая загрузка своей DLL, а не зарегистрированной в Window   Найти похожие ветки 

 
Николай В.   (2002-11-21 16:42) [0]

Мастера!!! Помогите пожалуйста справиться с такой проблемой...
Есть dll версии 5, которая зарегистрированна в Windows (в реестре). Некоторые программы работают с ней, т.е. она нужна.
Есть моя программа, которая работает с такой dll, но версии 6. С версией 5 она не работает - падает с потерей данных.
Так вот, при запуске программы загружаестя та dll (5), а мне нужно загрузить свою (6).
Как можно загружать именно (6) вместо зарегистрированной (5) на момент выполнения программы? (может быть LoadLiblary, но я не знаю вызовов). Как?
Отрегистрировать ту и зарегистрировать свою не очень подходит (нужна и та и та).
Если кому интересно что за dll, то это midas.dll.
Зарание спасибо.


 
KoluChi ©   (2002-11-21 16:53) [1]

LoadLibrary(Path + "midas.dll");


 
KoluChi ©   (2002-11-21 17:03) [2]

Sorry в XP наверное не прокатит.


 
Игорь Шевченко ©   (2002-11-21 17:10) [3]

LoadLibraryEx ?


 
Николай В.   (2002-11-21 17:26) [4]

Почему не работает загрузка в ХР?


 
Николай В.   (2002-11-21 17:46) [5]

Спасибо за совет. Но не работает LoadLibrary и LoadLibraryEx тоже. Может быть я не правильно что-то делаю? Как правильно использовать функцию?


 
Marcus   (2002-11-21 17:58) [6]

А нет ли конфликта GUIDов, если они от версии 5 к 6 не изменились? Ведь midas.dll - COM сервер, а в системе может быть зарегистрирован только один COM-сервер из нескольких с одинаковым набором интерфейсов


 
Fantasist ©   (2002-11-22 00:22) [7]


> Но не работает LoadLibrary и LoadLibraryEx тоже


Почему не работают? Как это не работают? Что в WinXP уже и библиотеки динамически загружать нельзя?


 
Николай В.   (2002-11-22 09:45) [8]

Не могу утверждать по поводу ХР или 98, но то, что он все же берет 5 вместо моей - 6, это да. Я не знаю когда идет обращение к midas.dll. Загрузка моей dll игнорируется и работаем все равно с 5.
Как это можно обойти?


 
Reindeer Moss Eater   (2002-11-22 09:50) [9]

Положи свою DLL в каталог, который Windows просматривает первым при поиске DLL


 
Reindeer Moss Eater   (2002-11-22 09:52) [10]

Хотя если на момент когда потребовалась твоя DLL кем-то уже загружена старая версия, то это не поможет


 
Slava ©   (2002-11-22 10:19) [11]

А вариант, когда midas можно использовать, подключив в uses:

uses MidasLib

не подойдет?

Тогда midas.dll не нужна.



 
Николай В.   (2002-11-22 10:37) [12]

Спасибо. Да, действительно, если заменить ту на мою в каталоге Windows, то все ОК, но одна программа работает с midas.dll версии 5, и одновременно должна работать моя (версии 6), то как?
И если она уже загружена, то ее не подмениш.

А вот вариант с MidasLib не пробовал. Что в MidasLib? То же, что и в midas.dll? А не будет как с LoadLibrary? (я ведь не знаю вызовов, чтобы явно указать). Спасибо.


 
Slava ©   (2002-11-22 10:43) [13]

> Николай В. (22.11.02 10:37)

А вот вариант с MidasLib не пробовал. Что в MidasLib? То же, что и в midas.dll? А не будет как с LoadLibrary? (я ведь не знаю вызовов, чтобы явно указать).

Ничего не надо, просто сделай uses MidasLib и все!


 
Николай В.   (2002-11-22 11:10) [14]

> Slava (22.11.02 10:43)

Ничего не надо, просто сделай uses MidasLib и все!

Большое спасибо, Slava. Все работает!!! И ни какие регистрации, переригистрации midas.dll не нужны.
Благодарю за помощь.



 
Slava ©   (2002-11-22 12:49) [15]

Большое пожалуйста :о)



Страницы: 1 вся ветка

Текущий архив: 2002.12.02;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.013 c
8-4514
Vius
2002-08-15 18:28
2002.12.02
Возможно ли на TImageSprite написать текст?


7-4639
Terrible
2002-09-27 17:35
2002.12.02
Сплайсинг функций ядра на Delphi ?


3-4219
Uran
2002-11-13 09:49
2002.12.02
BDE32 Component -подскажите где его можно скачать под d5,d6 ?


1-4389
AndrewB
2002-11-22 02:41
2002.12.02
Фокус ввода


3-4189
Geka
2002-11-13 13:34
2002.12.02
create view