Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2002.12.02;
Скачать: [xml.tar.bz2];

Вниз

Динамическая загрузка своей 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.007 c
3-4242
Cker
2002-11-10 00:32
2002.12.02
MySQL


14-4617
Бегинер
2002-11-12 19:06
2002.12.02
Хостинг?...


7-4652
sancho
2002-09-23 22:01
2002.12.02
реестр


1-4312
AndreyAgSoft
2002-11-19 11:35
2002.12.02
ShellListView


1-4470
drt
2002-11-20 13:40
2002.12.02
драйвера





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