Главная страница
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.013 c
4-76235
Matolch.
2003-01-12 12:54
2003.02.24
Как отработать ButtonUp левой на заголовке формы?


1-75856
DmitryMN
2003-02-13 16:02
2003.02.24
Ошибка после вывода в Excel


14-76188
Шоломицкий
2003-02-08 13:58
2003.02.24
Не знаете где можно скачать клипы группы


4-76232
Владимир
2003-01-11 05:21
2003.02.24
function SetThreadIdealProcessor


3-75843
Виталий Панасенко
2003-02-07 12:25
2003.02.24
ADO