Форум: "Начинающим";
Текущий архив: 2007.02.18;
Скачать: [xml.tar.bz2];
ВнизКак dll узнать значение глобальной переменной, объявленной... Найти похожие ветки
← →
FF (2007-02-02 11:01) [0]...в загрузившем ее(dll) процессе?
Заранее спасибо!
← →
Сергей М. © (2007-02-02 11:05) [1]Как угодно.
Способов для этого воз и маленькая тележка.
Тебя какой интересует ?
← →
FF (2007-02-02 11:11) [2]> Сергей М. © (02.02.07 11:05) [1]
Желательно без ассемблера
← →
Сергей М. © (2007-02-02 11:25) [3]Ну вот один из простейших способов:
project HostApplication;
...
var
GlobalVariable: Integer = 666;
..
exports GlobalVariable;
project MyLibrary;
..
var
pGlobalVariable: PInteger;
..
pGlobalVariable := GetProcAddress(GetModuleHandle(nil), "GlobalVariable");
ShowMessage(IntToStr(pGlobalVariable^));
← →
FF (2007-02-02 11:32) [4]> Сергей М. © (02.02.07 11:25) [3]
Спасибо! Сейчас попробую
← →
evvcom © (2007-02-02 11:40) [5]> [3] Сергей М. © (02.02.07 11:25)
Еще проще будет:project HostApplication;
...
MyLibraryProc(GlobalVariable);
Чем не способ? :)
← →
FF (2007-02-02 11:42) [6]Попробовал, выдает ошибку
[Error] Unit1.pas(29): Identifier "GlobalVariable" cannot be exported
← →
TRUNK © (2007-02-02 11:51) [7]А не проще ли сразу после загрузки DLL передать ей необходимое значение?
← →
Сергей М. © (2007-02-02 11:53) [8]Значит она у тебя не глобальная
← →
evvcom © (2007-02-02 11:58) [9]> [6] FF (02.02.07 11:42)
Это потому что ее значение равно 666 :o)
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2007.02.18;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.095 c