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

Вниз

Размер массива, переданного как ссылка.   Найти похожие ветки 

 
anbezr   (2003-02-13 14:34) [0]

Привет!
D5 ругается, когда я пытаюсь объявить:
property P1: array of word;
говорит, что ей нужен тип, но найдено: array... поэтому приходится передавать array of word след. образом:
.....
var Arr: array[0..110] of word;
.....
MyClass.P1 := @Arr;

и св-во описано как:
type
TArray = array of word;
.....
property P1: TArray;

как компонент может определить размер массива, переданного как pointer, или может есть другой способ объяснения св-ва...
Спасибо!


 
han_malign ©   (2003-02-13 14:48) [1]

а Arr: TArray - не судьба?
а вообще, большие данные принято передавать через методы, свойство тут смысла не имеют, все равно без дополнительных извратов ни в поток, ни в ObjectInspector, ни в COM интерфейс - не пролезут, а именно для этого они и существуют...


 
anbezr   (2003-02-13 15:00) [2]

даже если ч\з метод, то возможно написать только
procedure Load(Arr: array of word);
и вопрос об определении длинны Arr не снимается, или я что-то упускаю?




 
han_malign ©   (2003-02-13 15:48) [3]

Length/Low/High


 
Романов Р.В. ©   (2003-02-13 16:06) [4]

High(Arr)+1


 
anbezr   (2003-02-13 16:15) [5]

выдает какое-то $447640, хотя
Arr: array[0..3] of word;


 
anbezr   (2003-02-13 16:28) [6]

хотя при передаче в процедуре - работет нормально
Спасибо!


 
Романов Р.В. ©   (2003-02-13 16:29) [7]

У меня все нормально выдает. Код покажи.


 
han_malign ©   (2003-02-13 16:37) [8]

При передаче в качестве параметра функции, размер открытого массива опредляется на этапе компиляции. А когда в свойство прописывается у казатель, то естественно, что по нему нельзя определит размер.
Причем:
Do not apply the dereference operator (^) to a dynamic-array variable or pass it to the New or Dispose procedure.
- при присваиваивании динамическому массиву указателя, нарушается нормальная работа менеджера памяти, в лучшем случае засирается память, в худшем Access Violation...


 
anbezr   (2003-02-13 17:02) [9]

Спасибо - полная ясность



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

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

Наверх




Память: 0.48 MB
Время: 0.012 c
3-75763
nikkie
2003-02-05 00:00
2003.02.24
редактирование результатов join-запроса (ADO, MS SQL)


3-75784
stone
2003-02-05 16:31
2003.02.24
Вывод сообщений MSSQL


1-75859
race1
2003-02-13 16:07
2003.02.24
mask


14-76155
Anatoly Podgoretsky
2003-02-07 07:41
2003.02.24
Именинники 7 февраля


4-76222
SLON_2k
2003-01-11 12:41
2003.02.24
диалер