![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как задать тип элемента переданного в 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.
то есть?