Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.01.09;
Скачать: CL | DM;

Вниз

param as array of variant   Найти похожие ветки 

 
serikoff ©   (2002-12-25 19:44) [0]

Здравствуйте.

Код вызывает "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.


 
Anatoly Podgoretsky ©   (2002-12-25 19:52) [1]

Ты проверил чему равен high(p) при входе в функцию?


 
serikoff ©   (2002-12-25 19:56) [2]

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"


 
Clickmaker ©   (2002-12-25 20:03) [3]

Все дело в волшебном слове "const":
procedure func(const p: array of variant);


 
serikoff ©   (2002-12-25 20:08) [4]

Спасибо, помогло.

А собственно почему?

ps. "Казалось-бы, причем тут Л$#ков?"(c) ;-)




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

Текущий архив: 2003.01.09;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.012 c
14-25016
sg78
2002-12-19 16:28
2003.01.09
Аспирантура


1-24911
Alexsys
2002-12-25 07:47
2003.01.09
Калькулятор для выражений с функциями и переменными???


3-24794
Андрей1
2002-12-16 18:07
2003.01.09
как организовать ссылочную целостность между таблицами


14-25062
Kotka
2002-12-19 21:25
2003.01.09
Мне интересно ваше мнение...


4-25160
3asys
2002-11-19 17:10
2003.01.09
Перемещение между окнами приложения