Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как задать тип элемента переданного в array of const


@!!ex ©   (2009-09-30 17:16:00) 

Передаю так:
X:integer;
Y:Pointer;
[X,Y]
Y тоже определяется как integer.


@!!ex   (2009-09-30 17:33:00) [1]

> [3] Медвежонок Пятачок ©   (30.09.09 17:30)
> Test([1,Pointer(1)]);

Хм. Срабатывает. И на POinter и на Class...


Медвежонок Пятачок   (2009-09-30 17:32:00) [2]

<-Не срабатывает никогда

Потому что твой код вызова написан так, что передается не пойнтер а интежер


Медвежонок Пятачок   (2009-09-30 17:30:00) [3]

Y тоже определяется как integer.

А не врешь?

procedure Test(A : array of const);
begin
ShowMessage(IntToStr(A[0].VType) + ' ' + IntToStr(A[1].VType));
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
Test([1,Pointer(1)]);
end;


@!!ex   (2009-09-30 17:25:00) [4]

for i := 0 to Length(Params) - 1 do
 case Params[i].VType of
   vtInteger:; <-Срабатывает и на Pointer, и на Class и на все остальное
   vtPointer:; <-Не срабатывает никогда
   vtClass:;  <-Не срабатывает никогда
 end;


clickmaker   (2009-09-30 17:22:00) [5]

> Y тоже определяется как integer.

то есть?


Наверх

Титульная страница Поиск, карта сайта Написать письмо