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

Вниз

Помогите перевести из C в Delphi   Найти похожие ветки 

 
Виктор007   (2007-09-22 16:58) [0]

Помогите перевести структуры чтобы их размер и смещения полей были такими же. Это их примера из DDK:
typedef enum {
   IRP_BASED ,
   EVENT_BASED
} NOTIFY_TYPE;

typedef struct _REGISTER_EVENT
{
   NOTIFY_TYPE Type;
   HANDLE  hEvent;
   LARGE_INTEGER DueTime; // requested DueTime in 100-nanosecond units

} REGISTER_EVENT , *PREGISTER_EVENT ;


 
DVM ©   (2007-09-22 17:06) [1]


 NOTIFY_TYPE = (IRP_BASED, EVENT_BASED);

 _REGISTER_EVENT = record
   _Type: NOTIFY_TYPE;
   hEvent: THandle;
   DueTime: LARGE_INTEGER; (* requested DueTime in 100-nanosecond units*)
 end;
REGISTER_EVENT = _REGISTER_EVENT;
PREGISTER_EVENT = ^_REGISTER_EVENT;


 
Виктор007   (2007-09-22 17:19) [2]

Спасибо!

У меня там дальше опять проблемка:
UINT type = EVENT_BASED;

Как вот это правильно написать?


 
Leonid Troyanovsky ©   (2007-09-22 17:21) [3]


> DVM ©   (22.09.07 17:06) [1]

Переводилкой сделано?
А какой, если не секрет?

--
Regards, LVT.


 
DVM ©   (2007-09-22 17:25) [4]


> UINT type = EVENT_BASED;

Если в лоб, то само собой будет несоответствие типов. Может так?

_type: UINT = ORD(EVENT_BASED);


 
DVM ©   (2007-09-22 17:28) [5]


> Переводилкой сделано?

Да, чтобы не набивать вручную.
Частично переведено с2pas.exe, но enum она не поняла почему то.


 
DVM ©   (2007-09-22 17:32) [6]


> Виктор007   (22.09.07 17:19) [2]

а EVENT_BASED и IRP_BASED это что? константы? они где то описаны?

А то сдается мне что я неправильно написал


 
Виктор007   (2007-09-22 17:37) [7]

Нет, нигде кроме того места с enum они не описаны


 
Виктор007   (2007-09-22 17:41) [8]

Вставил в программу на С
printf("EVENT_BASED = %d \n", type);

и получил что EVENT_BASED это 1


 
DVM ©   (2007-09-22 17:44) [9]


> Нет, нигде кроме того места с enum они не описаны

вот еще вариант, но это то же, что и [4]

_type = UINT(EVENT_BASED);


 
DVM ©   (2007-09-22 17:45) [10]


> Вставил в программу на С
> printf("EVENT_BASED = %d \n", type);
>
> и получил что EVENT_BASED это 1

тогда вроде все правильно



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

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

Наверх




Память: 0.48 MB
Время: 0.024 c
2-1190074315
SerJaNT
2007-09-18 04:11
2007.10.14
PHP и MySQL


15-1189486959
vajo
2007-09-11 09:02
2007.10.14
На ноутбуке не открывается флэшка


15-1190041249
Cyrax
2007-09-17 19:00
2007.10.14
7-Zip: чем написан ?


2-1189655958
SQL +
2007-09-13 07:59
2007.10.14
Коннект к БД Interbase 7


1-1185729009
SkySpeed
2007-07-29 21:10
2007.10.14
Как можно определить Интернет-ссылки, к которым обращается пр-ма?