Форум: "Начинающим";
Текущий архив: 2017.07.09;
Скачать: [xml.tar.bz2];
ВнизКак можно экспортировать функцию по EntryPoint (ordinal)? Найти похожие ветки
← →
Е95 (2015-10-10 04:21) [0]Добрый ночь!
Есть системная функция, которая как я понял не экспортируется по имени. В описании указано: Exported by ordinal only.
Я так понял (но ещё не полностью разобрался) нужен GetProcAddress? Но может Паскаль/Делфи умеют экспортировать проще? Как обычно?
Пример 1 (заголовок для Делфи, функция по имени):function PrintWindow(HWND:HWND;hdcBlt:HDC;nFlags:DWORD):BOOL; stdcall; external "user32.dll";
Пример 2 (заголовок для Шарпа, функция по точке):[DllImport("SomeDLL.dll", EntryPoint = "#2", CharSet = CharSet.Unicode)]
public static extern int OpenThemeFile(string p1, string p2, string p3, out IntPtr p4, int p5);
Как-то возможно так же сделать (перевести) для Делфи? Или в принципе не поддерживается? Как понять "#2"?
Если что - у меня есть разные версии Делфи и FreePascal.
← →
Игорь Шевченко © (2015-10-10 10:09) [1]
> function PrintWindow(HWND:HWND;hdcBlt:HDC;nFlags:DWORD):
> BOOL; stdcall; external "user32.dll";
импорт по имени
function SHChangeIconDialog: Boolean; external "shell32.dll" index 62; - импорт по номеру
← →
Е95 (2015-10-10 13:15) [2]Спасибо! А как понять в объявлении для Шарпа - EntryPoint="#2" ?
Просто немного смущает символ "#" и ещё что это строка, а не число.
← →
Dimka Maslov © (2015-10-10 18:56) [3]Попробовать не пробовал?
либо index 2, либо name "#2". А вообще заведи себе прогу Dependency Walker.
← →
Игорь Шевченко © (2015-10-11 10:32) [4]
> А как понять в объявлении для Шарпа - EntryPoint="#2" ?
Спросить на форуме по Шарпу
← →
Е95 (2015-10-12 15:46) [5]DependencyWalker не нашёл функций с похожими именами. Где там по индексам/номеру не увидел.
Пробовал конечно, пару раз словил AV, думал, понял что у меня кажется тип данных не правильно описан, искал, переписываю на паскаль.
Спасибо ещё раз!
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2017.07.09;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.001 c