- Код: Выделить всё
Node.Data := TObject(17);
Компилятор, естественно, ругается:
- Код: Выделить всё
Hint: Conversion between ordinals and pointers is not portable
Или, при обратном преобразовании:
- Код: Выделить всё
if Integer(Node.Data) = 17 then
получаем уже предупреждение:
- Код: Выделить всё
Warning: Converting pointers to signed integers may result in wrong comparison results and range errors, use an unsigned type instead.
Собственно, вопрос: как вообще правильно передавать числовые данные через указатель? Выделять память, заносить туда число и присваивать указатель? Как-то громоздко получается, да и дополнительно потом отслеживать придётся при разрушении основного объекта, чтобы утечек не было...
Ну, или хотя бы, как отключить данные Warning и Hint? Хотя, конечно, хотелось бы разобраться в сути...
P.S. Прошу прощения за ламерский вопрос