IPB
ЛогинПароль:

> ВНИМАНИЕ!

Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.

 
 Ответить  Открыть новую тему 
> Указатель на Public переменную в классе
сообщение
Сообщение #1


Бывалый
***

Группа: Пользователи
Сообщений: 160
Пол: Мужской
Реальное имя: Серый

Репутация: -  0  +


Вопрос: есть определенный класс, у него есть св-во (public) Single типа. Можно ли присвоить указателю адрес этого св-ва, а затем менять ? У меня не получается...

Пример:
Код

var P:Pointer;

P:=@Engine.Items[3].X;
Single(P):=0; // Не работает...


Если так нельзя, то может быть есть другой способ ?


--------------------
Все в жизни ботва... Кроме пчел!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Гость






Разыменовать указатель не пробовал? Как ты хочешь Pointer привести к типу Single?

Либо
P:=@Engine.Items[3].X;
Single(P^):=0;

либо (что более вероятно)
P:=@Engine.Items[3].X;
PSingle(P)^ := 0;
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Бывалый
***

Группа: Пользователи
Сообщений: 160
Пол: Мужской
Реальное имя: Серый

Репутация: -  0  +


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;


??? Если можно, объясни... Я обычно использовал первый вариант и все работало... Может, второй лучше ?


--------------------
Все в жизни ботва... Кроме пчел!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 




- Текстовая версия 21.08.2017 9:46
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"