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

Вниз

Как из чужой Dll-ки вызывать диалоги и функции   Найти похожие ветки 

 
Demn   (2002-08-27 10:20) [0]

В общем есть Dll (компилированная и без исходников) из нее необходимо вызвать пару диалогов и несколько функций. Подскажите как ето сделать. А то уже давно не видел Delphi и забыл все что можно. Зараннее благодарен.


 
c0pyc@t   (2002-08-27 10:26) [1]

А какие функции есть знаешь, и как называются??7


 
Mike_Goblin   (2002-08-27 10:26) [2]

Нет ничего лучще help-а


Importing functions from libraries

To import routines from a dynamically loadable library (.so or .DLL), attach a directive of the form

external stringConstant;

to the end of a normal procedure or function header, where stringConstant is the name of the library file in single quotation marks. For example, on Windows

function SomeFunction(S: string): string; external "strlib.dll";

imports a function called SomeFunction from strlib.dll.
On Linux,

function SomeFunction(S: string): string; external "strlib.so";

imports a function called SomeFunction from strlib.so.
You can import a routine under a different name from the one it has in the library. If you do this, specify the original name in the external directive:

external stringConstant1 name stringConstant2;

where the first stringConstant gives the name of the library file and the second stringConstant is the routine’s original name.
On Windows: For example, the following declaration imports a function from user32.dll (part of the Windows API).

function MessageBox(HWnd: Integer; Text, Caption: PChar; Flags: Integer): Integer;
stdcall; external "user32.dll" name "MessageBoxA";

The function’s original name is MessageBoxA, but it is imported as MessageBox.
Instead of a name, you can use a number to identify the routine you want to import:

external stringConstant index integerConstant;

where integerConstant is the routine’s index in the export table.
On Linux: For example, the following declaration imports a standard system function from libc.so.6.

function OpenFile(const PathName: PChar; Flags: Integer): Integer; cdecl;
external "libc.so.6" name "open";

The function’s original name is open, but it is imported as OpenFile.
In your importing declaration, be sure to match the exact spelling and case of the routine’s name. Later, when you call the imported routine, the name is case-insensitive.


 
Demn   (2002-08-27 10:43) [3]

Фишка в том, что имен и индексов функций я не знаю.


 
murza   (2002-08-27 10:51) [4]

А как же утилита tdump? Быстрый просмотр?
Тяжело чтоль список экспорта получить?


 
Demn   (2002-08-28 06:46) [5]

Все народ - отдых. Все что нужно я нашел.



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2002.09.09;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.008 c
14-27226
Дремучий
2002-08-15 10:24
2002.09.09
Ласточка №2


3-26910
NIKI
2002-08-20 12:32
2002.09.09
Проблемма с последней строкой в Query


6-27136
Victor_Cr
2002-07-02 16:28
2002.09.09
Авторизация прокси-сервером


4-27261
TYuri
2002-07-17 14:38
2002.09.09
Как создать задание для Sheduler a


14-27234
AL2002
2002-08-14 11:31
2002.09.09
Зашёл на торри нет





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