Форум: "Основная";
Текущий архив: 2005.07.11;
Скачать: [xml.tar.bz2];
Вниз"Тонкости" применения 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;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.036 c