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

Вниз

Invalid pointer operation при закрытии. Почему???   Найти похожие ветки 

 
Луарвик   (2004-10-25 14:34) [0]

А еще, если юзать application.Destroy то вродь ошибок нет. Хотя в хелпе написано, чтоб "Never call Application.Destroy!!!"


 
Pentium133 ©   (2004-10-25 14:37) [1]

х.з.
твоя программа ты и разбирайся. неизвестно что у тебя там творится!


 
Johnmen ©   (2004-10-25 14:41) [2]

Обращение по несуществующему указателю.
И ещё.
Если установлен знак "Проезда нет. Впереди обрыв", то ты конечно можешь на него наплевать...


 
clickmaker ©   (2004-10-25 14:42) [3]


>  Луарвик   (25.10.04 14:34)
> А еще, если юзать application.Destroy

лучше юзать Halt()


 
Pentium133 ©   (2004-10-25 14:51) [4]


> лучше юзать Halt()

Ага, сразу после Application.Initialize - ошибка должна исчезнуть.


 
Johnmen ©   (2004-10-25 14:57) [5]

>Ага, сразу после Application.Initialize - ошибка должна
>исчезнуть.

Не надо путать Halt и Application.Terminate


 
clickmaker ©   (2004-10-25 15:28) [6]


> [5] Johnmen ©   (25.10.04 14:57)
> >Ага, сразу после Application.Initialize - ошибка должна
>
> >исчезнуть.
>
> Не надо путать Halt и Application.Terminate

Чиста реальные пацаны юзают только Halt. Быстро и безболезненно


 
Pentium133 ©   (2004-10-25 15:31) [7]

Ага! Halt-гитлер!


 
Луарвик   (2004-10-25 23:01) [8]

Гм. (...не обращая внимания на издевки...)

procedure TForm1.FormCreate(Sender: TObject);
var i:integer;
begin
for i:=0 to Stringgrid1.Rowcount do his[i]:=TStringList.Create;
end;

Че то с этой строкой. Если убрать - ошибки нет.


 
Cobalt ©   (2004-10-25 23:50) [9]

Мне так думается, что как раз в другом месте - там, где с этим  his работают и в конце-концов освобождают.

К сожалению, телепаты всё ещё в отпуске, поэтому сказать, что не так в работе с этой загадочной переменной
<telepat mode=on>
Это массив!
<telepat mode=off>

сказать не могу :(


 
Луарвик   (2004-10-26 00:14) [10]

if Cobalt.clever:=true then begin
скажи, как освободить массив из TStrings, потому что
his:=nil;
close;
не пашет!
end;


 
Defunct ©   (2004-10-26 00:55) [11]

> Луарвик   (26.10.04 00:14) [10]

Хамить здесь не нужно. В вашем посте проглядывается ирония в адрес Cobalt, как-будто он что-то не то сказал. На самом деле вы задали очень широкий ворос, и на удивление Cobalt все-таки как-то телепатически конкретизировал ваш вопрос, хотя мог бы просто промолчать или послать по адресу "как правильно задавать вопросы".

Массив из TStrings можно освободить так:

Table : Array of TString;

For I:=0 To Length(Table)-1 Do Table[i].Free;
Table := Nil;


 
Defunct ©   (2004-10-26 07:48) [12]

продолжу идею.

конечно же, после his:=nil происходят еще какие-то события, в обработчиках которых возможно есть обращения к освобожденному массиву. Вот и возникает исключение.


 
Alx2 ©   (2004-10-26 08:19) [13]

>Луарвик   (25.10.04 23:01)

for i:=0 to Stringgrid1.Rowcount-1 do his[i]:=TStringList.Create;


 
Alx2 ©   (2004-10-26 08:22) [14]

Вдогонку Alx2 ©   (26.10.04 08:19) [13]
Конечно, если Length(his) = Stringgrid1.Rowcount


 
AlexKocharin ©   (2004-10-26 08:35) [15]


>For I:=0 To Length(Table)-1 Do Table[i].Free;
>Table := Nil;


А я бы сделал так:

for i:=0 to high(Table) do Table[i].Destroy;
setlength(Table,0);


 
begin...end ©   (2004-10-26 09:21) [16]

А я бы сделал так:

for I := 0 to High(Table) do
 FreeAndNIL(Table[I])


 
Johnmen ©   (2004-10-26 10:43) [17]

Хм... А надо так

for I := Low(Table) to High(Table) do
 FreeAndNIL(Table[I])



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

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

Наверх




Память: 0.48 MB
Время: 0.038 c
14-1097830210
AlexG
2004-10-15 12:50
2004.11.07
Мультизагрузка, WinXP и Win2000...


11-1082613842
Falcon
2004-04-22 10:04
2004.11.07
свойство Position в KolMPEGPlayer


1-1098439910
JaoDa
2004-10-22 14:11
2004.11.07
Можно ли вытащить версию exe файла?


8-1091859907
k-sergey
2004-08-07 10:25
2004.11.07
Загружаю в TImage Gif-картинку прога вылетает....


14-1098411951
Leaner
2004-10-22 06:25
2004.11.07
Преимущества сервиса





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