Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.10.10;
Скачать: [xml.tar.bz2];

Вниз

Динамический массив   Найти похожие ветки 

 
Дмитрий ©   (2004-09-23 14:23) [0]

У меня есть динамический массив типа record. Присваиваю ему длину функцией Setlenght. При закрытии программы возникают системные ошибки. Пробовал применительно к массиву Finalize, присваивал ему значение nil, присваивал нулевой размер функцией Setlenght. История повторяется.. Подскажите, пожалуйста, в чем проблема.


 
Суслик ©   (2004-09-23 14:25) [1]


>  Подскажите, пожалуйста, в чем проблема.

в том, что ты не привел ни строчки кода.
1) Описание массива
2) Установку дланы
3) Пример работы с массивом.


 
Defunct ©   (2004-09-23 15:17) [2]

> Подскажите, пожалуйста, в чем проблема

Ошибка в программе


 
Linco   (2004-09-23 15:36) [3]

Возможно неправильное распределение памяти при выделении. надо выделять setlength(recarray,sizeof(rec)*countarrayelements). Должно все работать.


 
Суслик ©   (2004-09-23 15:39) [4]


>  [3] Linco   (23.09.04 15:36)

не надо мозги туманить людям :))))


 
KSergey ©   (2004-09-23 15:41) [5]

> [3] Linco   (23.09.04 15:36)
> надо выделять setlength(recarray,sizeof(rec)*countarrayelements).

Чего-чего??? Сам-то понял что сказал??


 
TUser ©   (2004-09-23 15:42) [6]


> надо выделять setlength(recarray,sizeof(rec)*countarrayelements).

К Остеру.


 
Linco   (2004-09-23 15:44) [7]

Что не так?


 
Linco   (2004-09-23 15:44) [8]

Удалено модератором


 
Суслик ©   (2004-09-23 15:46) [9]


> Что не так?

Облажался, вот что


 
Linco   (2004-09-23 15:52) [10]

Тьфу!! Бес попутал! Не то имел ввиду :) Сори


 
Erik1 ©   (2004-09-23 16:04) [11]

Наверное в record используеш тип String?


 
Суслик ©   (2004-09-23 16:34) [12]


> Наверное в record используеш тип String?

а не все ли равно?


 
Sandman25 ©   (2004-09-23 16:35) [13]

[12] Суслик ©   (23.09.04 16:34)

А если в DLL?


 
Суслик ©   (2004-09-23 16:51) [14]


>  [13] Sandman25 ©   (23.09.04 16:35)

А если на с++?
Зачем гадать? Пусть автор соизволит ответить.

:)


 
Sandman25 ©   (2004-09-23 16:52) [15]

[14] Суслик ©   (23.09.04 16:51)

присваивал ему значение nil

Никакого C++ :)
Как обычно, "Автора!" :)


 
GanibalLector ©   (2004-09-24 01:41) [16]

От того,что ты сделал  setlength и закрыл его nil-ом у тебя программа НИКОГДА системные ошибки выдавать не будет.ИМХО,ты его просто не верно заполняешь.
Проверь
for i:=0 to length(твоймассив)-1 do ...


 
TUser ©   (2004-09-24 07:47) [17]


> Подскажите, пожалуйста, в чем проблема.

Могу сказать только
1. Такие ошибки трудно находить. Особенно нам, т.к. не видели мы ни кода, ни ошибки, ни строчки, где она происходит.
2. Часто оказывается, что дело вовсе не в том, о чем ты думал изначально. Очень даже может быть, что д.м. здесь не при чем.


 
П7   (2004-09-24 09:40) [18]

Ага, классно автор пошутил над вами!!! (:Вы тут уже тучу постов наплодили, а он так и не появлился...
Ну и чтобы Модератор не удалил этот пост, как флуд (с него станется):
Ошибка ТОЧНО не в том, в чём ты её предполагаешь!!! TUser правильно сказал. Я половину жизнь так с дин.массивами работаю и ничего!!! (:


 
Anatoly Podgoretsky ©   (2004-09-24 09:44) [19]

П7   (24.09.04 09:40) [18]
Ты ошибаешься, он не пошутил, а ему просто стыдно.


 
VMcL ©   (2004-09-24 09:49) [20]

>>П7   (24.09.04 09:40) [18]

>Я половину жизнь так с дин.массивами работаю и ничего!!!

Дин. массивы появились, AFAIR, в Delphi 4, который, если не ошибаюсь, вышел не раньше 1997 года. То есть тебе 14 лет, и с Delphi ты работаешь где-то с 7-ми лет?


 
TUser ©   (2004-09-24 09:50) [21]


> Ошибка ТОЧНО не в том, в чём ты её предполагаешь!!!

Откуда нам знать с целой ни одной строчкой кода?


 
Суслик ©   (2004-09-24 11:28) [22]

Очень часто ошибка в дин. массивах бывает потому, что не включен range checking error - вылезаешь за границы, а программа это тихо хавает.


 
П7   (2004-09-24 14:20) [23]


> То есть тебе 14 лет, и с Delphi ты работаешь где-то с 7-ми
> лет?

Товарищь, не нужно путать реальную жизнь и жизнь программерскую... (:


> Откуда нам знать с целой ни одной строчкой кода?

Ну дык и круто!!! Программа не имеющая ни одной строчки коди никогда не поимеет ошибок от динамических массивов!!! (:


> Суслик ©   (24.09.04 11:28) [22]

Ну и в чём ошибки-то проявятся? Ну вернёт она тебе arr[-1] := 934545764567 ну и чё? В чём у тебя "системные ошибки".

И вообще, "системные ошибки" - это ошибки системы, под которой работает прога. Программиста это иметь не должно. Пусть пользователи ставят нормальную систему... (:



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

Форум: "Основная";
Текущий архив: 2004.10.10;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.49 MB
Время: 0.04 c
14-1095850099
dr Tr0jan
2004-09-22 14:48
2004.10.10
Террористы не дремлют, млин


11-1081335922
nsvi
2004-04-07 15:05
2004.10.10
StatusBar


4-1094582189
hgd
2004-09-07 22:36
2004.10.10
Кто знает как работать с fireware?


1-1096264614
Никита
2004-09-27 09:56
2004.10.10
Поиск в строке


4-1091205205
ASd
2004-07-30 20:33
2004.10.10
состояние лотка у CD





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский