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

Вниз

Вызов функции   Найти похожие ветки 

 
Balabolin Oleg ©   (2002-06-20 09:37) [0]

Может кто сможет помочь, а то я уже...

Надо написать dll - plugin к одной проге... На Дельфи
Пример такой dll ки есть, но на C

Все попытки перевести это хозяйство из C в Delphi потерпели неудачу...
Я уже совсем запутался в этих указателях, и прога постоянно вылетает с Access Violation :(

Может кто-нибудь сможет написать прототипы функций в Delphi?

Часть кода примера на С...
typedef struct PtPluginInfo_ {
DWORD dwSize;
FARPROC lpfnProcPtr;
DWORD dwProcParam;
DWORD dwType;
LPSTR lpszName;
LPVOID lpTypeInfo;
} PtPluginInfo, *LPPtPluginInfo;

LPPtPluginInfo lpInfo = NULL;

WORD PluginInitModule(LPPtPluginInfo *lpPluginInfo, LPWORD lpwItems)
{
lpInfo = (LPPtPluginInfo)LocalAlloc(LPTR, sizeof(PtPluginInfo) * iCount);



*lpPluginInfo = lpInfo;

*lpwItems = iCount;

}


 
Игорь Шевченко ©   (2002-06-20 10:00) [1]

А вы что написали ? Мне было бы удобнее исправлять ошибки (есть есть) в вашем коде.

С уважением,


 
PVOzerski ©   (2002-06-20 11:10) [2]

type
PtPluginInfo=packed record
dwSize:DWORD;
lpfnProcPtr:FARPROC;
dwProcParam,
dwType:DWORD;
lpszName:LPSTR;
lpTypeInfo:pointer;
end;
LPPtPluginInfo=^PtPluginInfo;

var
lpInfo:LPPtPluginInfo=nil;

type //эти 2 декларации - на случай, если pwItems - массив
tWord=array[0..0]of word;
LPWORD=^tWord;

function PluginInitModule(var lpPluginInfo:LPPtPluginInfo; pwItems:LPWORD):word;cdecl;
begin
lpInfo:=LPPtPluginInfo(LocalAlloc(LPTR,sizeof(PtPluginInfo)*iCount));



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

Текущий архив: 2002.07.01;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.017 c
3-872
малой
2002-06-05 11:57
2002.07.01
Виртуальное поле


14-1162
dim-
2002-05-28 20:33
2002.07.01
DbAltGrid


3-920
Саша
2002-06-07 20:40
2002.07.01
Sql запрос из Memorytable RxLib


14-1158
Kozhanov
2002-05-28 18:38
2002.07.01
До начала чемпионата мира осталось 3 для ! Ура, ТОВАРИЩИ !!!


1-962
ЮРИЙ_К
2002-06-17 12:20
2002.07.01
В RadioGroup менять вручную