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

Вниз

Глюк Дельфи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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.48 MB
Время: 0.048 c
6-1201094893
Михаил (Питер)
2008-01-23 16:28
2009.03.29
Поиск в локальной сети


2-1233735843
npr2
2009-02-04 11:24
2009.03.29
Проверка в Grid


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


2-1233959281
GrieVeR-13
2009-02-07 01:28
2009.03.29
Цвета элементов на форме


15-1232265533
{RASkov}
2009-01-18 10:58
2009.03.29
Возможности вирусов заражать из сети





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