Главная страница
    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.45 MB
Время: 0.007 c
1-75849
Flashas
2003-02-13 09:03
2003.02.24
Kak v Delphi sdelanoj programe sdelat Skin`y?......


14-76103
anton2v
2003-02-04 13:21
2003.02.24
лишние модули


1-75952
stas_a
2003-02-12 10:05
2003.02.24
SMS рассылка


3-75815
Andrushk
2003-02-06 15:02
2003.02.24
Как сделать сортировку в DBGrid е


1-75850
Ahmad K
2003-02-13 14:34
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский