![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как скопировать массив в массив? [D6]
ArhAngel2 © (2002-08-15 21:48:00)Создаю свой класс:
(Класс)=class
....
arr1: array of word;
....
public
....
procedure add;
....
end;
procedure (Класс)Add;
var
...
arr2: array of word;
begin
...
arr2:=arr1;
....
end;
Delphi говорит: Incompatible types Почему так
Заранее благодарен.
ArhAngel2 (2002-08-16 09:26:00) [1]Спасибо, теперь буду знать.
Геннадий (2002-08-15 22:44:00) [2]Дело в том, что если несколько переменных объявлены в разных строчках кода, то они считаются разными по типу. То есть:
var
A : array of word;
B : array of word; // Разные типы (хотя структура одна)
и
var
A, B : array of word; // один и тот же тип
не одно и то же!
Если структура одинакова, то вообще-то можно делать приведение типов. Но удобнее делать так, как подсказал AlexSV ©. Объявить тип, а затем использовать его имя при объявлении переменных, тогда они считаются одного и того же типа.
AlexSV (2002-08-15 22:07:00) [3]Сперва объяви тип:
type
WordArray: array of word;
а потом:
(Класс)=class
....
arr1: WordArray;
....
public
....
procedure add;
....
end;
procedure (Класс)Add;
var
...
arr2: WordArray;
begin
...
arr2:=arr1;
....
end;