Вниз
Скачать: CL | DM;

Динамические массивы в параметрах   Найти похожие ветки 

 
FA   (2006-04-08 20:23) [0]

Почему в качестве параметров функции, нельзя передавать динамические массивы, элементы которых типа Char?


 
Мефисто   (2006-04-08 21:11) [1]

type
 AF = array of char;

procedure Test(A: AF);
...


 
FA   (2006-04-08 21:23) [2]

Так работает, это понятно. Но почему если не объявлять тип, а писать array стразу в параметрах, то ошибка: incompatible types: array and dynamic array?
С другими типами ошибка не возникает.


 
Rial ©   (2006-04-08 21:24) [3]

Странно, но у меня, вопреки логике, вполне прекрасно работает следующее:

function Test(PC: Array of Char):Boolean;
begin
end;


> FA   (08.04.06 20:23)

Приведи пример, мне интересно, что у тебя таки не работает ?..


 
Мефисто   (2006-04-08 21:36) [4]

procedure xx(A: Array of Char);
begin
....
end;

....
xx(["s","b"]);


 
FA   (2006-04-08 21:53) [5]

procedure Test(a : array of Char);
begin

end;

procedure TForm1.Button1Click(Sender: TObject);
var
 a : array of Char;
begin

Test(a); // error: incompatible types: array and dynamic array?

end;


Изменить на Byte – работает.


 
FA   (2006-04-08 21:54) [6]


> Мефисто   (08.04.06 21:36) [4]

Вы не ответили на мой вопрос.


 
Мефисто   (2006-04-08 22:07) [7]

F1
Open array parameters


 
FA   (2006-04-08 22:18) [8]


> F1
> Open array parameters

Читал, все-равно не понимаю почему Байту можно, а Чару нельзя..
Никто не объяснит?


 
Anatoly Podgoretsky ©   (2006-04-08 22:18) [9]

FA   (08.04.06 21:23) [2]
Потому что это уже не динамический массив, а открытый.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.025 c
8-1132999209
Stany
2005-11-26 13:00
2006.04.23
Определение типа изображения путем сравнения


2-1144670546
std
2006-04-10 16:02
2006.04.23
AdoDataSet


15-1143896469
_duk
2006-04-01 17:01
2006.04.23
Защита


2-1144448650
ctudent
2006-04-08 02:24
2006.04.23
TreeView+база данных


6-1136735022
Цукор5
2006-01-08 18:43
2006.04.23
WSACleanup




   Наверх