Вниз
Скачать: CL | DM;

Передача данных в DLL   Найти похожие ветки 

 
StarCon   (2003-03-19 12:21) [0]

DLL написана на С++, в качестве параметра нужен указатель на структуру, например
typedef struct {
char enq_type[10];
long enqid;
} GEN_ENQ;
пробовал сделать такой же record и передать указатель на него - не получилось. Причем если используется структура из одних char-ов - подходит просто указатель на string. Внимание вопрос: как передать структуру, содержащую разные типы данных (хотя бы char и long)


 
Clickmaker ©   (2003-03-19 12:25) [1]

#pragma pack(1)
typedef struct {
char enq_type[10];
long enqid;
} GEN_ENQ;
#pragma pack()

type TGenEnq = packed record
enq_type: array[0..9] of char;
enqid: longint;
end;

Это чтобы не зависеть от настроек выравнивания структур компиляторов


 
StarCon   (2003-03-19 12:31) [2]

хм, вот оно как бывает.... :))
спасибо! буду пробовать.


 
REA ©   (2003-03-19 12:46) [3]

А вот еще неизвестно какое там выравнивание стоит...


 
StarCon   (2003-03-25 07:30) [4]

что-то работает не совсем правильно...
а что насчет выравнивания?
как это можно проверить или поменять?



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

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.012 c
6-19736
Junior
2003-02-16 10:41
2003.04.07
Не отправляется строка через TCP


1-19582
Tornado
2003-03-28 13:25
2003.04.07
ДОС-команда


7-19891
Stan
2003-02-11 00:33
2003.04.07
Работа с реестром


1-19515
Вова
2003-03-26 14:06
2003.04.07
Как спрятать кнопку проги на панели пуск


1-19626
Step[B.M.]
2003-03-23 03:26
2003.04.07
DLL. Проблемы с строковыми типами.




   Наверх