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

Приведение типов.   Найти похожие ветки 

 
ququq   (2007-07-22 20:29) [0]

Заинтересовал вопрос: можно ли в таком случае передать в процедуру _x значение переменной Integer и как это сделать?

procedure TForm1.Button1Click(Sender: TObject);
type
 PxInteger = ^xInteger;
 xInteger = type Integer;
var
 xInt: xInteger;
 Int: Integer;

 procedure _x(Val: PxInteger);
 begin
   ShowMessage(IntToStr(Val^));
 end;

begin
 xInt := 1;
 Int := 2;
 _x(Int);
end;


 
Однокамушкин   (2007-07-22 21:15) [1]

_x(PxInteger(@Int)^);


 
begin...end ©   (2007-07-22 21:18) [2]

Можно, конечно. Используя то самое приведение типов: _x(PxInteger(Int)).
Только ведь внутри _x переданный параметр нужно будет рассматривать как указатель...


 
begin...end ©   (2007-07-22 21:20) [3]

Мда. Похоже, мой телепатор своё уже отслужил...


 
ququq   (2007-07-22 21:47) [4]


> Можно, конечно. Используя то самое приведение типов: _x(PxInteger(Int)).
> Только ведь внутри _x переданный параметр нужно будет рассматривать
> как указатель...


Да, запутался я что-то. Сделал приведением типов. Но теперь не пойму, почему, что бы получить уже значение переданное в _x, нужно приводить к Integer, ведь я передаю PxInteger. Мне казалось, что должно было быть ...IntToStr(Integer(Val^)..

?

 procedure _x(Val: PxInteger);
 begin
   ShowMessage(IntToStr(Integer(Val)));
 end;

begin
 xInt := 1;
 Int := 2;
 _x(PxInteger(Int));
end;


 
Virgo_Style ©   (2007-07-22 22:15) [5]

ququq   (22.07.07 21:47) [4]
почему, что бы получить уже значение переданное в _x, нужно приводить к Integer, ведь я передаю PxInteger. Мне казалось, что должно было быть ...IntToStr(Integer(Val^)..


Потому что ты передаешь Integer, приведенный к Pointer, а не указатель на Integer, как, наверное, следовало бы по логике функции



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

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



Память: 0.46 MB
Время: 0.017 c
15-1184934392
Vlad Oshin
2007-07-20 16:26
2007.08.19
Спамер базы, надо удалится оттуда. Не знаю как занесло


4-1172889227
Khabibulin
2007-03-03 05:33
2007.08.19
Отследить воздействие на активном приложении


2-1185113973
Гость_1
2007-07-22 18:19
2007.08.19
проблема с числами или у меня :)


4-1172903020
Зм1й
2007-03-03 09:23
2007.08.19
Приём сообщений


15-1185274700
StrangerMX
2007-07-24 14:58
2007.08.19
Подскажите есть ли RXLIB для BDS 2006 .Net




   Наверх