Форум: "Основная";
Текущий архив: 2003.02.24;
Скачать: [xml.tar.bz2];
ВнизРазмер массива, переданного как ссылка. Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.007 c