Вниз
Скачать: 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.018 c
15-1184958222
Tab
2007-07-20 23:03
2007.08.19
в какой кодировке сохранить тхт файл


2-1184908355
ssss
2007-07-20 09:12
2007.08.19
VK_ в Delphi...


15-1184836226
icms
2007-07-19 13:10
2007.08.19
Версия delphi для flash


2-1185386389
Alexey_k
2007-07-25 21:59
2007.08.19
Сворачивание формы


2-1185515172
Кирей
2007-07-27 09:46
2007.08.19
Ошибка при добавлении записи в таблицу




   Наверх