Главная страница
    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.47 MB
Время: 0.042 c
1-1118405219
WondeRu
2005-06-10 16:06
2005.07.11
Как передать динамическую структуру из DLL в программу?


3-1117611788
AlexeyMir
2005-06-01 11:43
2005.07.11
Как проги работают с IB и FB


8-1110699990
Tirex
2005-03-13 10:46
2005.07.11
Сглаживание изображения (tbitmap)


1-1118820155
Crow
2005-06-15 11:22
2005.07.11
Перевод курсора в конец Edit


3-1117603888
_Max
2005-06-01 09:31
2005.07.11
Слияние полей в MDB





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский