![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Помогите портировать с С++ на 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;