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

Вниз

очистить массив, удалить или еще чего с ним   Найти похожие ветки 

 
bash77   (2012-03-15 11:01) [0]

вот код:

Type Ttest = Record
Stranica   : boolean;
ID_voprosa : String;
Voprosik   : String;
Otvetik    : Array [1..6] of String;
Validik    : Array [1..6] of boolean;
Pravilno   : Array [1..6] of boolean;
end;

var
Testik:array of Ttest;

когда первый раз работаю с массив все норм, но когда мне надо его использовать повторно, так я его очистить не могу (

это не помогает:
SetLength(Testik,0);
и это:
Testik:=nil;
и циклом не получается:(

for i:=low(Testik) to higt(Testik) do
begin
.......
for j:=1 to 6 do
 begin
 Testik[i].Validik[j]:=false;
 .....
 end;
end;

причем как-то странно... значение validik не очищается тока у Testik[максимум]
в остальном чисто все. Дельфа ХЕ
помогите плиз


 
Сергей М. ©   (2012-03-15 11:13) [1]


> это не помогает:
> 1
>  
> SetLength(Testik,0);


У меня "помогает". Что я делаю неправильно ?


 
bash77   (2012-03-15 11:16) [2]

дак вот я сам в шоке...


 
Anatoly Podgoretsky ©   (2012-03-15 11:23) [3]

> Сергей М.  (15.03.2012 11:13:01)  [1]

Ну ты наверно используешь динамические массивы?


 
bash77   (2012-03-15 11:28) [4]

само собой динамический массив.
после использования, мне его надо очистить (унижтожить..... и т.д.)
чтобы после установить его длину и заново считывать и заполнять


 
Anatoly Podgoretsky ©   (2012-03-15 11:32) [5]


> bash77   (15.03.12 11:28) [4]
> само собой динамический массив.

Ну тогда покажи реальный код, в данном нет динамических массивов.


 
bash77   (2012-03-15 11:37) [6]

Testik -  а это не динамический ???
но проблему я решил так - принудительно теперь заполняю заранее.
но все равно не ясно... массив валидик помнил прежнее значение...
даже после прогона по циклу с выставление значений.. странно все это как-то


 
Jeer ©   (2012-03-15 11:38) [7]


> Otvetik    : Array [1..6] of String;
> Validik    : Array [1..6] of boolean;
> Pravilno   : Array [1..6] of boolean;


И это динамические массивы ?


 
bash77   (2012-03-15 11:40) [8]

опачки, затуп, сорри


 
Сергей М. ©   (2012-03-15 12:10) [9]


> после использования, мне его надо очистить (унижтожить..
> ... и т.д.)


Он сам уничтожится, если он объявлен локальной переменной.


 
han_malign   (2012-03-15 12:25) [10]

For a long-string or dynamic-array variable, SetLength reallocates the string or array referenced by S to the given length. Existing characters in the string or elements in the array are preserved, but the content of newly allocated space is undefined.


 
icWasya ©   (2012-03-15 14:05) [11]

Если в элементе массива (в Вашем случае Ttest) есть поля с управляемыми типами - строки, динамические массивы или интерфейсы, то при выделении памяти они будут проинициализированы нулевыми указателями, но поля всех остальных типов, как уже сказано выше, будут иметь неопределённое значение.


 
bash77   (2012-03-15 14:29) [12]

ок, спасибо ребят, не ожидал такого (как обычно у меня нету времени лазать по форумам)... но терь и сам тут пропишусь ! )


 
begin...end ©   (2012-03-15 15:59) [13]

> han_malign, icWasya

Господа, это только в Delphi XE так? В D7 в случае динамических массивов (но не строк) выделенная под новые элементы память заполняется нулями вне зависимости от типа элементов, несмотря на аналогичное предупреждение в справке. См. System.DynArraySetLength.


 
bash77 ©   (2012-03-15 16:55) [14]

походу вернусь на Д7 впоследствии... просто проект IW писал под XE последним, думал и останусь тут... но Д7 непобедима походу )))


 
sniknik ©   (2012-03-15 17:21) [15]

> Господа, это только в Delphi XE так?
судя по всему "заслуга" FastMM, который в последних дельфях стал основным.



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

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

Наверх





Память: 0.48 MB
Время: 0.065 c
2-1334139178
Jimmy
2012-04-11 14:12
2013.03.22
Обработка 32-битного PNG с помощью ScanLine


15-1342301646
silver
2012-07-15 01:34
2013.03.22
icfpc 2012


15-1345527113
ProgRAMmer Dimonych
2012-08-21 09:31
2013.03.22
Можно ли запретить CryptoAPI лезть в сеть?


2-1339054794
Pcrepair
2012-06-07 11:39
2013.03.22
Видимость переменных в разных модулях


1-1302154341
Дмитрий Белькевич
2011-04-07 09:32
2013.03.22
Разбудить спящий поток





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