Главная страница
    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.099 c
15-1351694777
Handler
2012-10-31 18:46
2013.03.22
как будет на английском


15-1353837763
dummy_user
2012-11-25 14:02
2013.03.22
Вставка текста из .pas в .txt.


15-1353500246
ЕщеОдинКакжеНадоели
2012-11-21 16:17
2013.03.22
Документация к программе.


15-1329149378
Pit
2012-02-13 20:09
2013.03.22
.NET dll


2-1339072906
простофан
2012-06-07 16:41
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский