Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.48 MB
Время: 0.009 c
2-1237898311
Андрей (начинающий)
2009-03-24 15:38
2009.05.03
Отображение ListView с большим количеством строк


15-1236070491
Ega23
2009-03-03 11:54
2009.05.03
Можно ли открыть все юниты в Project Group


15-1235882735
KilkennyCat
2009-03-01 07:45
2009.05.03
Чтой-то было тут, пока я спал ? О_0


2-1237293422
ivanoff
2009-03-17 15:37
2009.05.03
как получить список дней недели от Windows (на его языке)


2-1237449117
немо2
2009-03-19 10:51
2009.05.03
ADO в MSSQL2000. Как получить ответ в мемо




   Наверх