Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.03.29;
Скачать: CL | DM;

Вниз

Глюк Дельфи7   Найти похожие ветки 

 
Четыре   (2009-01-24 23:24) [0]

Создаю такой Юнит:

unit Unit2;

interface

type
 PIntegers = ^PIntegers;
 TIntegers = array of Integer;

implementation

end.


Прописываю его в uses Unit1.pas основной программы, набираю в какой нибудь процедуре Unit2 и ставлю точку, после этого Дельфи7 мгновенно закрывается без каких-либо предупреждений.

Если закомментировать строчку "PIntegers = ^PIntegers;", то этого не происходит. Почему так? И как можно исправить?

Есть ли где-нибудь в Дельфи такой важный тип как array of Integer ?


 
@!!ex ©   (2009-01-24 23:26) [1]

PIntegers = ^PIntegers;
Это жесть. :))
Я понимаю почему он закрывается... Stack Overflow?


 
Anatoly Podgoretsky ©   (2009-01-24 23:35) [2]

> Четыре  (24.01.2009 23:24:00)  [0]

Даже если исправить ^PIntegers на ^ТIntegers;, то

Выписка из справки:

Dynamic-array variables are implicitly pointers and are managed by the same reference-counting technique used for long strings. To deallocate a dynamic array, assign nil to a variable that references the array or pass the variable to Finalize; either of these methods disposes of the array, provided there are no other references to it. Dynamic arrays are automatically released when their reference-count drops to zero. Dynamic arrays of length 0 have the value nil. Do not apply the dereference operator (^) to a dynamic-array variable or pass it to the New or Dispose procedure.

Сптай выделеное


 
Четыре   (2009-01-24 23:53) [3]


> @!!ex ©   (24.01.09 23:26) [1]
>
> PIntegers = ^PIntegers;
> Это жесть. :))
> Я понимаю почему он закрывается... Stack Overflow?


Никаких ошибок не указывает. А в чём жесть то? Если не ставить точку, то всё прекрасно работает.


 
Четыре   (2009-01-24 23:55) [4]


> Anatoly Podgoretsky ©   (24.01.09 23:35) [2]
>
> > Четыре  (24.01.2009 23:24:00)  [0]
>
> Даже если исправить ^PIntegers на ^ТIntegers;


А-а-а-а! Понял!
Это ошибка просто. Вылетать перестало.


 
Четыре   (2009-01-24 23:59) [5]


> Anatoly Podgoretsky ©   (24.01.09 23:35) [2]
> Do not apply the dereference operator (^) to a dynamic-array
> variable


Написано, что не использовать ^ для динамических массивов. А почему?


 
@!!ex ©   (2009-01-25 00:45) [6]

> [5] Четыре   (24.01.09 23:59)

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


 
Германн ©   (2009-01-25 01:13) [7]


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

Массив? Является указателем?
Переведи.


 
ketmar ©   (2009-01-25 01:23) [8]

>[7] Германн © (2009-01-25 01:13:00)
dynarray -- недоуказатель, да. WriteLn(size(dynarray));

---
All Your Base Are Belong to Us


 
Германн ©   (2009-01-25 02:40) [9]


> ketmar ©   (25.01.09 01:23) [8]
>
> >[7] Германн © (2009-01-25 01:13:00)
> dynarray -- недоуказатель, да. WriteLn(size(dynarray));
>

Это перевод на какой язык?
Но уж точно не на Дельфи!


 
TUser ©   (2009-01-25 09:39) [10]

Я, если честно, использовал ^ для динмассивов, все до сих пор работает, Д7, турбо и фрипаскаль.


 
ketmar ©   (2009-01-25 15:30) [11]

>[9] Германн © (2009-01-25 02:40:00)
может, sizeof. ну, забыл, да. устал, да и уж давненько на Delphi не писал.

---
All Your Base Are Belong to Us


 
Четыре   (2009-01-26 13:20) [12]

А вообще, то, что Дельфи вылетает ни слова не сказав - это не правильно. Должна была бы просто выводить сообщение об ошибке.


 
Плохиш ©   (2009-01-26 22:30) [13]


> Четыре   (26.01.09 13:20) [12]
>
> А вообще, то, что Дельфи вылетает ни слова не сказав - это
> не правильно.

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


 
Palladin ©   (2009-01-26 22:37) [14]

глюкофайндеры брейнфри...


 
Palladin ©   (2009-01-26 22:40) [15]

тоесть, брейнлесс имел я... ввиду :)



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

Текущий архив: 2009.03.29;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.03 c
2-1232453730
Riply
2009-01-20 15:15
2009.03.29
inline в Delphi 2009


2-1233618168
koha!
2009-02-03 02:42
2009.03.29
Вопрос по функции API Openfile()


2-1233341544
CodeMaster
2009-01-30 21:52
2009.03.29
Свойство Parent


15-1232743364
@!!ex
2009-01-23 23:42
2009.03.29
Удаленная работы бывает СТАБИЛЬНОЙ??


2-1234173614
Iriss
2009-02-09 13:00
2009.03.29
TObjectList.Assign