![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
param as array of variant [D5]
serikoff © (2002-12-25 19:44:00)Здравствуйте.
Код вызывает "invalid variant operation".
Почему?
По логике ветка с ShowMessage(p[0]);
вообще не выполняется.
procedure func(p: array of variant);
begin
if high(p) = -1 then begin
ShowMessage("!")
end else begin
ShowMessage(p[0]);
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
func([]);
end;
Спасибо.
ps. Delphi 5.
serikoff (2002-12-25 20:08:00) [1]Спасибо, помогло.
А собственно почему?
ps. "Казалось-бы, причем тут Л$#ков?"(c) ;-)
Clickmaker (2002-12-25 20:03:00) [2]Все дело в волшебном слове "const":
procedure func(const p: array of variant);
serikoff (2002-12-25 19:56:00) [3]procedure func(p: array of variant);
begin
if high(p) = -1 then begin
ShowMessage(inttostr(high(p)))
end else begin
//ShowMessage(p[0]);
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
func([]);
end;
Выдает "-1"
Anatoly Podgoretsky (2002-12-25 19:52:00) [4]Ты проверил чему равен high(p) при входе в функцию?