Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Помогите портировать с С++ на Delphi [D6, D7, Win2k, WinXP]


П7 ©   (2004-11-12 13:29:00) 

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

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?


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

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

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


Romkin   (2004-11-12 14:10:00) [2]

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


Digitman   (2004-11-12 13:59:00) [3]


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


тады уж THandle ..

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


Romkin   (2004-11-12 13:52:00) [4]

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


Digitman   (2004-11-12 13:40:00) [5]

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

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:00) [6]

Может, так?

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;


Наверх

Титульная страница Поиск, карта сайта Написать письмо