Динамически подгрузить все dll, не зная кол-во и названия?
От: pus  
Дата: 11.12.06 08:44
Оценка:
В каталог приложения кладётся подкаталог с dll. Их кол-во и названия не известны. Но зато известны методы — их всего два — одинаковые для всех dll (например, myfunc1 и myfunc2). Аргументы методов известны.

Вопрос1 (главный): как динамически подгрузить все dll из подкаталога?

Вопрос2 (вторичный): как при этом преодолеть проблему совпадающих имен методов в разных dll. Видимо, нужно использовать алиасы (а значит, отказаться от dllImport?).
Re: Динамически подгрузить все dll, не зная кол-во и названи
От: _FRED_ Черногория
Дата: 11.12.06 08:57
Оценка:
Здравствуйте, pus, Вы писали:

pus>Вопрос2 (вторичный): как при этом преодолеть проблему совпадающих имен методов в разных dll. Видимо, нужно использовать алиасы (а значит, отказаться от dllImport?).


Судя по dllImport — библиотеки не .NET-овский, а нативные? Тогда LoadLibrary+GetProcAddres (в .NET 2.0+)
Например, как здесь: Re[13]: Так и не решил проблему с вызовом метода из С++ библ
Автор: _FRED_
Дата: 28.03.05
... << RSDN@Home 1.2.0 alpha rev. 665>>
Now playing: «Тихо в лесу…»
Help will always be given at Hogwarts to those who ask for it.
Re[2]: Динамически подгрузить все dll, не зная кол-во и назв
От: pus  
Дата: 11.12.06 09:05
Оценка:
Здравствуйте, _FRED_, Вы писали:

_FR>Судя по dllImport — библиотеки не .NET-овский, а нативные? Тогда LoadLibrary+GetProcAddres (в .NET 2.0+)

_FR>Например, как здесь: Re[13]: Так и не решил проблему с вызовом метода из С++ библ
Автор: _FRED_
Дата: 28.03.05


Прошу прощения — не указал важные подробности:
.Net 1.1.
Библиотеки не .NET-овские, а Delphi7.

В 1.1 не нашел LoadLibrary.
Re[3]: Динамически подгрузить все dll, не зная кол-во и назв
От: Pavel M. Россия  
Дата: 11.12.06 09:18
Оценка: +1
Здравствуйте, pus, Вы писали:

pus>Здравствуйте, _FRED_, Вы писали:


_FR>>Судя по dllImport — библиотеки не .NET-овский, а нативные? Тогда LoadLibrary+GetProcAddres (в .NET 2.0+)

_FR>>Например, как здесь: Re[13]: Так и не решил проблему с вызовом метода из С++ библ
Автор: _FRED_
Дата: 28.03.05


pus>Прошу прощения — не указал важные подробности:

pus>.Net 1.1.
pus>Библиотеки не .NET-овские, а Delphi7.

pus>В 1.1 не нашел LoadLibrary.


в 1.1 и нету LoadLibrary. можно писать враппер, брать готовый или писать сборку на managed C++, выбора за Вами.
--------------------------
less think — do more
Re[3]: Динамически подгрузить все dll, не зная кол-во и назв
От: cvetkov  
Дата: 11.12.06 09:24
Оценка: -1
Здравствуйте, pus, Вы писали:

pus>Здравствуйте, _FRED_, Вы писали:


_FR>>Судя по dllImport — библиотеки не .NET-овский, а нативные? Тогда LoadLibrary+GetProcAddres (в .NET 2.0+)

_FR>>Например, как здесь: Re[13]: Так и не решил проблему с вызовом метода из С++ библ
Автор: _FRED_
Дата: 28.03.05


pus>Прошу прощения — не указал важные подробности:

pus>.Net 1.1.
pus>Библиотеки не .NET-овские, а Delphi7.

pus>В 1.1 не нашел LoadLibrary.

ну значит все тоже самое, но через managed C++
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[2]: Динамически подгрузить все dll, не зная кол-во и назв
От: pus  
Дата: 11.12.06 14:04
Оценка:
Здравствуйте, _FRED_, Вы писали:

_FR>Судя по dllImport — библиотеки не .NET-овский, а нативные? Тогда LoadLibrary+GetProcAddres (в .NET 2.0+)


Объясните, плиз, а нельзя ли использовать обычные API LoadLibrary+GetProcAddress? Насколько я понял, они есть в обычных виндовых dll (kernel32.dll, user32.dll).
Re[3]: Динамически подгрузить все dll, не зная кол-во и назв
От: _FRED_ Черногория
Дата: 11.12.06 14:14
Оценка:
Здравствуйте, pus, Вы писали:

_FR>>Судя по dllImport — библиотеки не .NET-овский, а нативные? Тогда LoadLibrary+GetProcAddres (в .NET 2.0+)


pus>Объясните, плиз, а нельзя ли использовать обычные API LoadLibrary+GetProcAddress? Насколько я понял, они есть в обычных виндовых dll (kernel32.dll, user32.dll).


  1. Под "нативные" я как раз "обычные API" и имел в виду.
  2. Если почитаешь топик, на который я дал ссылку да поищешь по этому форуму, сможешь узнать, можно ли и как использовать "LoadLibrary+GetProcAddress" на первом фреймворке Я могу ли сказать, что ни одного способа просто не видел, но, быть может, просто просмотрел.
Help will always be given at Hogwarts to those who ask for it.
Re[2]: Динамически подгрузить все dll, не зная кол-во и назв
От: Аноним  
Дата: 11.12.06 14:10
Оценка:
конечно можно, вам только нужно будет освободить память после использования функции..


данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.