Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Указатель на dynamic array [D5]


WAM ©   (2001-12-27 11:27:00) 

type
byte_array = array of BYTE;

Как мне хранить указатель на массив? Каким образом инициализировать его в функции, передавая массив снаружи?


WAM   (2001-12-27 12:30:00) [1]

Спасибо, это в другом месте шалило.


Alx2   (2001-12-27 12:23:00) [2]

Бр-р-р!
Нужно бы:
Описание типа config_array
Инициализация config, идущего как параметр в ...Create
И что такое config_buffer?
Правильно ли я понял, что ошибка именно в
input_threshold.Position := config_buffer[43]; // TComboBox
Если да, то тогда поподробнее про config_buffer pls...


WAM   (2001-12-27 12:16:00) [3]

constructor esu3_channel_mode.Create(Tag: Integer; config: config_array;
mode_box, echo_box, input_box, output_box: TComponent);
begin
.........
self.config := config;
.........
end;

.......
procedure TfrmESU03.set_mode;
begin
input_threshold.Position := config_buffer[43]; // TComboBox


Alx2   (2001-12-27 12:09:00) [4]

Код?


WAM   (2001-12-27 12:05:00) [5]

Это зашибись, только вызывает исключение при попытке считать X[n] (индекс корректный)


Виктор Щербаков   (2001-12-27 12:01:00) [6]

If X and Y are variables of the same dynamic-array type, X :=Y points X to the same array as Y. (There is no need to allocate memory for X before performing this operation.) Unlike strings and static arrays, dynamic arrays are not automatically copied before they are written to.


WAM   (2001-12-27 11:52:00) [7]

Инициализация указателя на массив через функцию нужна!.
Объект-хозяин имеет динамический массив и подчиненный объект.
Так последний должен иметь возможность ковыряться в хозяйском массиве.


Alx2   (2001-12-27 11:36:00) [8]

Type
TByteArray = Array of byte;
Var
A : TByteArray;

A - и есть указатель.
Инициализация из функции - через var-параметр.
procedure init(Var Data : TByteArray);
Begin
SetLength(Data, 100);
End;


Наверх

Титульная страница Поиск, карта сайта Написать письмо