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

Вниз

Есть описание фукции на С++, как правильно описать на Delphi ?   Найти похожие ветки 

 
jiran   (2004-11-30 15:15) [0]

Есть описание фукции на С++
gc_Openex(LINEDEV *linedev, char *devicename, int mode, void *usrattr);
- Функция вызывается из dll, есть описание только но С++, но надо обратиться из delphi, я пытаюсь описать:
gc_Openex(LINEDEV : Pointer,devicename : array of char,mode : Integer;userattr : Pointer);
И по ходу дела это не правильно ! Помогите плизз,как правильно описать эту функцию на Delphi ?
Из С++ кода её вызывают как:
gc_Openex(&port[index].ldev, port[index].devname,1,(void *)&port[index])
Помогите плизз, а то горю !


 
KSergey ©   (2004-11-30 15:31) [1]

gc_Openex(var linedev: LINEDEV; devicename: PChar; mode : Integer; var userattr);


 
KSergey ©   (2004-11-30 15:32) [2]

А вы ее хоть пробовали в дельфи использовать, если честно? А то приведенный вами "для дельфи" даже не скомпилится...


 
han_malign ©   (2004-11-30 15:48) [3]

учитывая что не указан ни тип возвращаемого результата, ни компоновка(я так подозревая cdecl) - то гадать тут еще долго можно...


 
jiran   (2004-11-30 15:56) [4]

Пример компилится, просто я С++ не знаю, а делать надо.
Еще у меня есть вопрос, еще одна функция в С++ описана как:
typedef struct {
long magicno;
unsigned long flags;
void *evtdatap;
long evtlen;
long evtdev;
long evttype;
LINEDEV linedev;
CRN crn;
void *extevtdatap;
void *usrattr;
int  cclibid;
int  rfu1;
} METAEVENT, *METAEVENTP;

// Функция
int gc_GetMetaEvent(METAEVENT *metaeventp);

Функция должна заполнять структуру METAEVENT.
Что я пытаюсь делать (скорее всего неправильно, плизз помогите)

type METAEVENT=record
magicno  : Longint;
flags    : Longword;
evtdatap : Pointer;
evtlen   : Longint;
evtdev   : Longint;
evttype  : Longint;
linedev  : LINEDEV;
crn      : CRN;
extevtdatap : Pointer;
usrattr  : Pointer;
cclibid  : Integer;
rfu1     : Integer;
end;
type METAEVENTP = ^METAEVENT;
// Описываю её как
function gc_GetMetaEvent(var metaeventp) : Integer;
// И пытаюсь использовать как
gc_GetMetaEvent(@metaevnt);


И структура заполнена полным бредом, образумте меня плизз.


 
jiran   (2004-11-30 15:58) [5]

По компановку:

function gc_OpenEx(var linedev : linedev;devicename : PChar; mode : Integer;var usrattr) : Integer;cdecl;external "c:\Program Files\Dialogic\LIB\libgc.dll" name "gc_OpenEx";

function gc_GetMetaEvent(var metaeventp) : Integer;external "c:\Program Files\Dialogic\LIB\libgc.dll" name "gc_GetMetaEvent";



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

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

Наверх




Память: 0.48 MB
Время: 0.024 c
3-1100246373
a_tereshin
2004-11-12 10:59
2004.12.12
Как получить список доступных алиасов


1-1101506237
Pips
2004-11-27 00:57
2004.12.12
Меню


9-1091815630
Антон
2004-08-06 22:07
2004.12.12
[GLScene]: TMemoryStream


1-1101585715
GanibalLector
2004-11-27 23:01
2004.12.12
C: Windows Шаблоны Normal.dot


1-1101369450
Maverick
2004-11-25 10:57
2004.12.12
как убрать иконку из border a вообще или не отображать?