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

Вниз

Как 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;
Скачать: CL | DM;

Наверх




Память: 0.46 MB
Время: 0.04 c
1-1166620488
Den303
2006-12-20 16:14
2007.02.18
public, private, protected <> static, virtual?


15-1169572954
Dmitry_177
2007-01-23 20:22
2007.02.18
Лицензионные Delphi и Windows


2-1170084942
Квэнди
2007-01-29 18:35
2007.02.18
Сообщение форме


15-1169679314
hmmmmmmmm
2007-01-25 01:55
2007.02.18
плата клика adSense


15-1169890007
Хеад
2007-01-27 12:26
2007.02.18
Запись в ini-файл ShortCut данные





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