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

Как строку short *s=(short*)buffer можно перевести на делфи?   Найти похожие ветки 

 
Dr.Andrew   (2009-05-20 20:45) [0]

Добрый вечер,

Как эту конструкцию можно перевести на делфи?

void *buffer
short *s=(short*)buffer;


Спасибо.


 
Сергей М. ©   (2009-05-20 21:06) [1]

var
 buffer: Pointer;
 s: PSmallInt;
..
 s := buffer;


 
palva ©   (2009-05-20 21:07) [2]

Может, так заработает:

var
   buffer: Pointer;
   s: PSmallInt;
...
begin
...
   s := PSmallInt(buffer);


 
palva ©   (2009-05-20 21:09) [3]

Это да, преобразовывать не нужно. Пойнтеры друг друга и так поймут.


 
Сергей М. ©   (2009-05-20 21:10) [4]


> palva ©   (20.05.09 21:07) [2]


Оба типа - указательные, явное приведение типа тут ни к чему, компилятор сам сообразит.


 
Dr.Andrew   (2009-05-20 21:18) [5]

Так все же правильно - s := PSmallInt(buffer); или просто s := buffer;?

Спасибо.


 
Сергей М. ©   (2009-05-20 21:20) [6]


> Dr.Andrew   (20.05.09 21:18) [5]


И так и сяк правильно.
Но приведение типа здесь лишнее телодвижение.


 
Dr.Andrew   (2009-05-20 21:25) [7]

Спасибо за помощь.



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

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



Память: 0.46 MB
Время: 0.008 c
15-1241426831
Student
2009-05-04 12:47
2009.07.12
Контроль версий


2-1242845683
MQIndrik
2009-05-20 22:54
2009.07.12
Вывод результатов


15-1241607255
serg_new_
2009-05-06 14:54
2009.07.12
GSM modem


15-1241821510
Johnnnn
2009-05-09 02:25
2009.07.12
Тема по предыдущей теме таскбар в XP


15-1242208823
PEAKTOP
2009-05-13 14:00
2009.07.12
Поддержи Firebird !




   Наверх