![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Регистрация: 25.07.2009
Сообщений: 7
|
![]()
Доброго времени суток, дорогие форумчане.
Имеется приложение, которое подгружает известную либу, в либе той вынесена на экспорт определённая функция. Прошу сильно не ругаться, делфи знаю поверхностно. Необходимо импортировать функцию и использовать в своём приложении, но проблема в том, что обычный импорт функции из либы здесь не применим. То есть, функцию нужно вызывать непосредственно, когда либа с функцией подгружена в адресное пространство того чужого приложения. Как поступаю: Внедряю >свою< либу в адресное пространство чужого приложения. Что делаю: modulehandle:=GetModuleHandle(PAnsi Char('Название_чужой_длл_с_функцией _для_импорта')); // получаю хэндл подгруженной (чужой) либы; @pt:=GetProcAddress(logerhandle,PAn siChar('Название_функции')); // Получаю указатель (если не ошибаюсь) на функцию; Перед var: pt = function (аргументы) : boolean; stdcall; Собственно, сам вопрос - как вызвать функцию, передав ей аргументы? И правильно ли я вообще импортирую? Примеров найти не смог, поэтому создаю топик. Заранее большое спасибо за ответы. |
![]() |
![]() |
![]() |
#2 |
Заблокирован
Регистрация: 27.05.2010
Сообщений: 1,099
|
![]()
Вызвать ф-цию из либы можно только из кода, расположенного в том же адр.пространстве, в которое загружена эта либа.
|
![]() |
![]() |
![]() |
#3 |
Регистрация: 25.07.2009
Сообщений: 7
|
![]()
Так я подгружаю свою (вторую) либу в это адресное пространство, с первой либой.
|
![]() |
![]() |
![]() |
#4 |
Заблокирован
Регистрация: 27.05.2010
Сообщений: 1,099
|
![]()
Т.е. из ТВОЕЙ либы, которую ты внедрил в чужое АП, тебе нужно вызвать эксп.ф-цию ЧУЖОЙ либы в том же АП ?
Ну в этом случае я не вижу никаких препятствий для обычного импорта, и почему он "не применим" - мне пока не понятно. |
![]() |
![]() |
![]() |
#5 |
кривокодер ;)
Форумчанин
Регистрация: 20.06.2008
Сообщений: 707
|
![]()
ТС не говорит, что он "неприменим". Он спрашивает как правильно импортировать функции для этих целей...
У меня компилятора под рукой нет, а по памяти точный синтаксис не помню, посему воздержусь от ответа...
"А как написать праграму?, "ришыти задачьку очинь нада" ©с форума. Жить становится интереснее, жить становится веселее...
{Быть или не быть} {Неуспешный суицид} |
![]() |
![]() |
![]() |
#6 |
Регистрация: 25.07.2009
Сообщений: 7
|
![]()
Извините, возможно, не так выразился, под обычным я подразумеваю LoadLibrary
|
![]() |
![]() |
![]() |
#7 |
Заблокирован
Регистрация: 27.05.2010
Сообщений: 1,099
|
![]()
И что мешает вызову LoadLibrary ?
Ничто не мешает. |
![]() |
![]() |
![]() |
#9 | |
Заблокирован
Регистрация: 27.05.2010
Сообщений: 1,099
|
![]() Цитата:
|
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
По данным значениям аргументов a и b вычислить значение функции f(a,b). Паскаль | shokoladka5013 | Помощь студентам | 1 | 02.03.2011 09:07 |
По данным значениям аргументов a и b вычислить значение функции f(a,b). Паскаль | shokoladka5013 | Помощь студентам | 1 | 24.02.2011 06:54 |
Вычислить значение функции для заданных значений аргументов. Pascal. | Xeon332 | Фриланс | 11 | 10.10.2010 09:57 |
Функции с произвольным количеством и типом аргументов. | Crudelis | Общие вопросы C/C++ | 1 | 16.06.2010 00:10 |
Проблема с заданием аргументов функции по умолчанию | LMnet | Помощь студентам | 4 | 15.01.2010 17:59 |