Пример:
Код
var P:Pointer;
P:=@Engine.Items[3].X;
Single(P):=0; // Не работает...
Если так нельзя, то может быть есть другой способ ?
Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.
Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.
![]() ![]() |
![]() |
AlienEmperor |
![]()
Сообщение
#1
|
![]() Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 160 Пол: Мужской Реальное имя: Серый Репутация: ![]() ![]() ![]() |
Вопрос: есть определенный класс, у него есть св-во (public) Single типа. Можно ли присвоить указателю адрес этого св-ва, а затем менять ? У меня не получается...
Пример: Код var P:Pointer; P:=@Engine.Items[3].X; Single(P):=0; // Не работает... Если так нельзя, то может быть есть другой способ ? -------------------- Все в жизни ботва... Кроме пчел!
|
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
Разыменовать указатель не пробовал? Как ты хочешь Pointer привести к типу Single?
Либо P:=@Engine.Items[3].X; либо (что более вероятно) P:=@Engine.Items[3].X; |
AlienEmperor |
![]()
Сообщение
#3
|
![]() Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 160 Пол: Мужской Реальное имя: Серый Репутация: ![]() ![]() ![]() |
2Volvo: Спасибо за быстрый ответ! Ты, конечно, прав: надо писать Single(P^):=0 ... Я ошибся когда писал. Но дело было не в этом! Весь глюк был в том, что св-во Х - Double !!! На этом я и "погорел". Сейчас поставил Double(P^):=0 и все работает.
P.S. Честно говоря, не понимаю: есть ли разница между записями: Код P:=@Engine.Items[3].X; Single(P^):=0; и Код P:=@Engine.Items[3].X; PSingle(P)^ := 0; ??? Если можно, объясни... Я обычно использовал первый вариант и все работало... Может, второй лучше ? -------------------- Все в жизни ботва... Кроме пчел!
|
![]() ![]() |
![]() |
Текстовая версия | 2.06.2023 1:52 |