Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Dll [D7]


IXT ©   (2004-08-31 16:39:00) 

Можно ли (ввегда ли) импортировать функции из dll-ки написанной на C?
Как узнать их входные параметры?


IXT   (2004-09-03 10:06:00) [1]

MSVC++ кажется.


GuAV   (2004-09-02 16:13:00) [2]


> fastcall

а это в С есть ?
мне казалось что только в С++ ...


IXT   (2004-09-02 15:22:00) [3]

Библиотека PGPsdk - может кто слышил про нее. Она предназначена для разработок прог с криптографией PGP, но на Си, хотя функции экспортируются нормально и Delphi. Проблема в отсутствии знаний Си. В их исходниках(???) есть строка:
typedef struct PGPContext * PGPContextRef;
какой reecord ей соответствует я так и не нашел в  них. Кому интересно:
URL ftp://ftp.no.pgpi.org/pub/pgp/sdk/PGPsdk_1_7_2_Win32.zip
есть еще библиотека spgp реализованная на Delphi, но в нее не включен (или я там его не нешел) алгоритм RSA!


Digitman   (2004-09-01 10:07:00) [4]


> ламер ©   (01.09.04 09:46) [6]


__fastcall - первый и второй параметры передаются в паре регистров ECX и EDX, остальные - через стек справа налево, вызываемая функция "правит" стек.

если под "проблемой" fastcall имелось ввиду, что такое соглашение напрямую не поддерживается компилятором, то asm-"извращения" - не такая уж и великая беда


KSergey   (2004-09-01 09:55:00) [5]

> [6] ламер ©   (01.09.04 09:46)
> если dll была скомпилирована на msvc, и было использовано
> соглашение о вызовах fastcall, то без извращений на ассемблере
> вызвать её из delphi будет невозможно.

Для экспортируемых методов?!! Это какой же гад так пишет?
Я бы такими творениями и вовсе не пользовался.


ламер   (2004-09-01 09:46:00) [6]

если dll была скомпилирована на msvc, и было использовано соглашение о вызовах fastcall, то без извращений на ассемблере вызвать её из delphi будет невозможно.


Digitman   (2004-09-01 09:21:00) [7]


> Владислав ©   (31.08.04 20:35) [4]


> догадаться, используя отладчик, прочую информацию, о входных
> параметрах


это и есть "от лукавого"


Владислав   (2004-08-31 20:35:00) [8]

См. п. 1. Если от лукавого, то, например, догадаться, используя отладчик, прочую информацию, о входных параметрах.


Владислав   (2004-08-31 20:31:00) [9]

> OSokin ©   (31.08.04 20:22) [2]

Гы :) Если, например, функции stdcall, я бы не хотел, чтобы такая программа исполнялась на моем компьютере :(


OSokin   (2004-08-31 20:22:00) [10]

Можно и без них...
asm
call CallingDLLProc
end;


Digitman   (2004-08-31 16:44:00) [11]


> Можно ли (ввегда ли) импортировать функции из dll-ки написанной
> на C?


можно. всегда.


> Как узнать их входные параметры?


спросить у производителя ДЛЛ ... все прочие способы - от лукавого


Наверх

Титульная страница Поиск, карта сайта Написать письмо