Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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.46 MB
Время: 0.009 c
6-76069
OlegV
2002-12-30 12:57
2003.02.24
Процессы на удаленных компьютерах


1-75926
LT
2003-02-14 16:14
2003.02.24
Caption


4-76224
XAli
2003-01-11 11:05
2003.02.24
Как програмно без сообщений запустить regsvr32.exe hasp32.ocx


1-75876
blackman
2003-02-13 21:01
2003.02.24
Почему не читаются строки 0 длины ?


14-76121
Дремучий
2003-02-05 23:14
2003.02.24
Какие проги умеют записывать иконки в длл?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский