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

Помогите портировать с С++ на Delphi   Найти похожие ветки 

 
П7   (2004-11-12 13:29) [0]

Пытаюсь портировать заголовочный файл звуковой системы "Шквал". Возник вот такой вопрос:
Как вот такое

typedef unsigned int (__cdecl* squall_callback_open_t)      (const char* Name);
typedef int          (__cdecl* squall_callback_read_t)      (unsigned int Handle, void* Buffer, int Size);
typedef int          (__cdecl* squall_callback_seek_t)      (unsigned int Handle, int Position, int SeekMode);
typedef void         (__cdecl* squall_callback_close_t)     (unsigned int Handle);

перевести на Delphi?


 
Digitman ©   (2004-11-12 13:40) [1]

наверно, примерно так:

type

squall_callback_open_t = function(const Name: PChar): UINT; cdecl;

squall_callback_read_t = function(Handle: UINT; var Buffer; Size: Integer): Integer; cdecl;

squall_callback_seek_t = function(Handle: UINT; Position, SeekMode: Integer): Integer; cdecl;

squall_callback_close_t = procedure(Handle: UINT); cdecl;


 
Romkin ©   (2004-11-12 13:40) [2]

Может, так?

type
 squall_callback_open_t = function (const Name: PChar): cardinal; cdecl;
 squall_callback_read_t = function (Handle: Cardinal; var Buffer; Size: integer): integer; cdecl;
 squall_callback_seek_t = function (Handle: Cardinal; Position, SeekMode: integer): integer; cdecl;
 squall_callback_close_t = procedure (Handle: integer); cdecl;


 
Romkin ©   (2004-11-12 13:52) [3]

Нее, cardinal - лучше :))


 
Digitman ©   (2004-11-12 13:59) [4]


> Romkin ©   (12.11.04 13:52) [3]


тады уж THandle ..

мало ли каке хенделя существует, но всех их в Win можно не боясь окрестить как THandle ... куда уж понятней в таком случае, что параметр - это по логике имено хендель, а не фихзнаетчто именем Кардинала


 
Romkin ©   (2004-11-12 14:10) [5]

Да. Причем похоже, что первая функция именно THandle возвращает.
Тогда действительно, логичнее его. Кстати, это LongWord, также как и UINT.


 
П7   (2004-11-14 01:19) [6]

Ага, так это тип функции... (: Прикольно. Никогда бы не догадался... Ну, тогда дело пойдёт быстрее... (:

Спасибо за помощь... Если что, ещё чё-нибудь спрошу. (:



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

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



Память: 0.46 MB
Время: 0.023 c
4-1097144751
Delphi5.01
2004-10-07 14:25
2004.11.28
Может у кого есть пример как использовать ReadDirectoryChangesW?


3-1098990128
Vova
2004-10-28 23:02
2004.11.28
Query1.FieldCount всегда возвращает одно значение


4-1097664899
Дмитрий Ботвин
2004-10-13 14:54
2004.11.28
Экспорт функций


3-1099118308
GURU-RU@bk.ru
2004-10-30 10:38
2004.11.28
Автосохранение БД


4-1097840477
AngelFire
2004-10-15 15:41
2004.11.28
Получение макс.длины учетного имени




   Наверх