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

Вниз

"Тонкости" применения Variant   Найти похожие ветки 

 
DeepProg   (2005-06-15 17:32) [0]

Приложение консольное.
Вот процедура, которая работает некорректно:

type Waste = array of array of variant;
...
procedure MakeRep(wItems:Waste;WLength:integer;var report: string);
var i:integer;
begin
for i := 0 to WLength do report:=report+#10#13+ wItems[i,0];
end;

wItems[i,0] - это строка
Программа вылетает с ошибкой, когда я ее запускаю уже вне IDE.
(модно я дамп памяти приводить не буду?)
Если debug-ить по шагам в IDE, то почему-то пропускаются все 3 процедуры writeln (вывод двух строковых констант и, собственно, содержимого report), идущие после выполнения MakeRep, но зато выполняется последняя read. И при этом report заполнена правильно - watch позволяет ее увидеть.
Мне удобно использовать variant в Waste - второе поле integer, которое используется ранее.
Проблема явно с ним, но что я сделал не так или здесь особенности применения variant?


 
ferr ©   (2005-06-15 17:37) [1]

Я не понял зачем Variant?


 
Digitman ©   (2005-06-15 18:00) [2]


> особенности применения variant


variant он и в африке variant.
никаких особенностей.


 
DeepProg   (2005-06-22 07:58) [3]

Модеры, sorry за flood, но пусть народ развлечется
Перенесите это в треп :)))
Хорошо, что Подгорецкий этого пока не видел
Угадайте почему программа приходит в последнюю точку пропуская несколько операторов после выполнения вышеозначенной процедуры?
Подсказка: ошибка Access Violation в этой процедуре.

ЗЫ Снимаю с себя ответсвенность за смерть некоторых товарищей от смеха
ЗЗЫ В итоге Variant оказался не нужен


 
Rule ©   (2005-06-22 09:57) [4]

DeepProg   (22.06.05 7:58) [3]
помоему жестоковато ты отвечаешь, не дай бог чтоб ты чему то учился и вместо того чтоб тебе подсказать, на тебя так нападали ....


 
Rule ©   (2005-06-22 09:58) [5]

DeepProg   (15.06.05 17:32)
а зачем тебе вариант ? аргуменитируй ...


 
ЮЮ ©   (2005-06-22 10:00) [6]

>а зачем тебе вариант ? аргуменитируй ...

Чтобв не только AV получать, но и Ошибки преобразования типов :)


 
Anatoly Podgoretsky ©   (2005-06-22 10:03) [7]

DeepProg   (22.06.05 07:58) [3]
Ошибаешься видел


 
evvcom ©   (2005-06-22 14:17) [8]


> Подсказка: ошибка Access Violation в этой процедуре.

Скорее Range Checking Error

> DeepProg
Зачем тебе WLength? Используй Length(wItems) и не забудь 1 отнять.


 
DeepProg   (2005-06-22 14:54) [9]

Будем считать, что отгадали
Победа за [b]eevcom (с)[/b]
[i]>не забудь 1 отнять[/i]
2 [b]ЮЮ[/b]
[i]>Ошибки преобразования типов[/i]
аргументируй


 
ЮЮ ©   (2005-06-23 09:57) [10]

>аргументируй

Если переменная Variant, то в ней успешно может храниться и число.

И что в этом случае получишь на
 report := report+#10#13+ wItems[i,0] ?


 
DeepProg   (2005-06-24 13:29) [11]

see top
> wItems[i,0] - это строка
Ладно. Хватит препираться.
Тема закрыта.


 
Anatoly Podgoretsky ©   (2005-06-24 14:56) [12]

DeepProg   (24.06.05 13:29) [11]
Не имеешь права.



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

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

Наверх




Память: 0.49 MB
Время: 0.078 c
8-1110120806
Sam Stone
2005-03-06 17:53
2005.07.11
Рисование огня


8-1109878979
capkoh
2005-03-03 22:42
2005.07.11
PNG на форме...


14-1118524157
u-12
2005-06-12 01:09
2005.07.11
Помогите разобраться с датакабелем Самсунга


6-1112698256
SAI
2005-04-05 14:50
2005.07.11
Отправка IP-пакет


8-1106649051
Son
2005-01-25 13:30
2005.07.11
Координаты картинки в TImage