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

Вниз

array of shortint   Найти похожие ветки 

 
trotski   (2003-01-16 17:59) [0]

Не пойму в чем дело. Использую динамический массив a:array of shortint, в Form1Create пишу SetLength(Form1.a,size), работаю, все нормально. Но после закрытия проги вылетает "Недопустимую операцию и будет закрыто"? В Form1Destroy пробовал SetLength(Form1.a,0) и Form1.a:=nil, ничего не помогает. Пошаговая отладка тоже ничего не дает.


 
Smithson   (2003-01-16 18:03) [1]

Где описан массив? В форме или в модуле? Если в модуле - в каком?


 
mrcat   (2003-01-16 18:22) [2]

trotski (16.01.03 17:59)

Код в студию!


 
Chubais   (2003-01-16 18:51) [3]

в студию входит КОТ....


 
Andrey V.   (2003-01-17 08:13) [4]

Не далее как вчера (посмотри сабж "dynamic array")
я задавал похожий вопрос.
Все вылечилось отказом от массива и использованием вместо него
TStringList.


 
MBo   (2003-01-17 08:24) [5]

Да нет особых проблем и с дин. массивами


 
Smithson   (2003-01-17 09:00) [6]

Просто если массив объявлен в модуле, то он создается при инициализации модуля и удаляется при его финализации и после этого (например, в деструкторе главной формы) может уже отсутствовать.


 
Думкин   (2003-01-17 09:18) [7]

а у тебя массив при использовании никуда не может залезть на чужое?


 
Думкин   (2003-01-17 09:28) [8]

Подобное проходит, но последствия ....
SetLength(a,5);
a[6]:= 1;


 
han_malign   (2003-01-17 09:34) [9]

Думкин (17.01.03 09:28) - поддерживаю
скорее всего
for i:=1 to Size do ...
вместо
for i:=0 to Size-1 do ...

They are always zero-based. The first element is 0, the second element is 1, and so forth. The standard Low and High functions return 0 and Length – 1, respectively.


 
Чих-пых   (2003-01-17 16:32) [10]

А лучше вообще забыть про for i:=0 to Size-1 do
и всегда использовать вот это:
for i:=Low(Arr) to High(Arr) do
...


 
bogachev   (2003-01-17 17:09) [11]

TForm1 = class(TForm)
private
a : array of ShortInt;
{ Private declarations }
public
{ Public declarations }
end;

Попробуй так. У меня на D6 работает без проблем.


 
trotski   (2003-01-17 23:47) [12]

В том-то и дело. В одной проге описано там где Form1:TForm1 в другой в private и там тоже все работает. А в данной в private, самое смешное, что ошибка вылезла после того, как я написал код в процедуре отрисовки for i:=0 to 255 do ... В понедельник до работы доберусь, попробую через Low и High. Кода приветси не могу, дома его нет. И еще вопрос : как понять где ошибка, если выдают только номер? Окном ЦПУ?


 
Моисей   (2003-01-19 11:46) [13]

а может у тебя чего-то перерисовывается, когда массив уже издох (в смысле -- освободился)? так может получиться, если евент приходит в тот момент когда форма освобождается.
ты попробуй, для проверки, перед тем как перерисовывать, сам массив проверить, типа if assign..., а еще проще try/except



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

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

Наверх




Память: 0.47 MB
Время: 0.01 c
1-86866
BigBadMutuh
2003-01-17 19:04
2003.01.27
Не получается писать в файл.


1-86945
Zeratul
2003-01-17 01:29
2003.01.27
Cобытие FormKeyPress


1-86776
Бук
2003-01-16 07:26
2003.01.27
Иконки для формы


3-86628
andsm
2003-01-09 14:51
2003.01.27
BDE и General SQL Error


14-87063
Driverrr
2003-01-08 16:14
2003.01.27
Открылся новый раздел...





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