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

Вниз

Конструктор массива   Найти похожие ветки 

 
MBo ©   (2009-03-03 06:42) [0]

Прочитал вот про фичу. Не знал, делюсь ;)
в 2006 работает

type
 TMyArray = array of Integer;
var
 A: TMyArray;
begin
 A := TMyArray.Create(0, 1, 2);
 Caption := IntToStr(A[2]);


 
Дуб ©   (2009-03-03 07:02) [1]

Ага. Подчеркивает красным. Говорит, что такого нет и работает. :)


 
brother ©   (2009-03-03 07:15) [2]

жаль, в 6 не работает(


 
MBo ©   (2009-03-03 07:36) [3]

>в 6 не работает
Видимо, ноги растут из дотнета.

В реальных задачах, как мне кажется,  нечасто можно будет это использовать, а вот для тестов, примеров - вполне может оказаться удобно.


 
test ©   (2009-03-03 07:37) [4]

Delphi 7 не работает


 
test ©   (2009-03-03 07:38) [5]

MBo ©   (03.03.09 07:36) [3]
Они видимо не обьявление типа при крутили, а объект что грозит трудностями в дальнейшем.


 
test ©   (2009-03-03 07:44) [6]

var
A: TMyArray;
begin
A :=TMyArray(GetMemory(sizeof(integer)*3));
a[0] := 1;
a[1] := 2;
a[2] := 3;
Caption := IntToStr(A[2]);
Вот так работает, только удалить его не могу.
Как его во FreeMemory передать и надо ли?


 
MBo ©   (2009-03-03 07:46) [7]

>test
Нет, генерируемый код близок к тому, что делается в конструкторе открытого массива-параметра процедур (DynArraySetLength + DynArrayAsg)


 
MBo ©   (2009-03-03 07:48) [8]

>test ©   (03.03.09 07:44) [6]
А зачем ты смешиваешь управляемый тип - динамический массив, и ручное управление памятью?

В моем примере в эпилоге процедуры FinalizeArray вызывается, как и должно быть.


 
brother ©   (2009-03-03 07:49) [9]

> процедуры FinalizeArray вызывается, как и должно быть.

откуда такая уверенность?


 
MBo ©   (2009-03-03 07:54) [10]

>откуда такая уверенность?
из ассемблерного кода - Alt-Ctrl-C на точке останова


 
brother ©   (2009-03-03 07:57) [11]

а) жаль не видно мне, тк 6)


 
test ©   (2009-03-03 08:01) [12]

MBo ©   (03.03.09 07:48) [8]
Да просто поизвращяться, естейственно такое я в своем коде делать не буду ))


 
MBo ©   (2009-03-03 08:20) [13]

>жаль не видно мне, тк 6)
В 6 тоже есть показ ассемблерного кода


 
brother ©   (2009-03-03 08:23) [14]

> В 6 тоже есть показ ассемблерного кода

[2] не билдится(


 
Итого   (2009-03-03 10:30) [15]


> В реальных задачах, как мне кажется,  нечасто можно будет
> это использовать, а вот для тестов, примеров - вполне может
> оказаться удобно.


Использую сея конструкцию - часто.
В основном там, где метод принимает массив, а мне нужно передать несколько фиксированных значений значений.


 
test ©   (2009-03-03 10:42) [16]

Итого   (03.03.09 10:30) [15]
Что то мне подсказывает что это уже не массив...



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

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

Наверх




Память: 0.5 MB
Время: 0.01 c
2-1237890783
alexander-rsh
2009-03-24 13:33
2009.05.03
Системное время


2-1237419179
Новичок
2009-03-19 02:32
2009.05.03
Программное добавление полей в ADOTable1


8-1193561865
kas86
2007-10-28 11:57
2009.05.03
Вопрос по JPEG из DLL


3-1220428975
GanibalLector
2008-09-03 12:02
2009.05.03
FireBird стартует "с опозданием"


2-1237352448
DmitriyR
2009-03-18 08:00
2009.05.03
Регулярные выражения