Форум: "Основная";
Текущий архив: 2004.12.12;
Скачать: [xml.tar.bz2];
ВнизЕсть описание фукции на С++, как правильно описать на 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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.035 c