procedure TfrmMdiForm.asPortTriggerAvail(CP: TObject; Count: Word);
var btDatas : array of byte;
begin
SetLength(btDatas,Count);
asPort.GetBlock(btDatas[0], Count);
end;
밑에 AsyncPro에 대해 질문한 사람입니다.
근데 btDatas[0]랑 btDatas랑 차이가 뭐죠?
제 생각으로는 배열의 시작주소는 배열명이 가지고 있는거 아닌가요?
C랑 비슷하다고 알고 있는데..
btDatas[0] 이러게 넘기면 배열포인터가 아니라 배열의 첫번째 값만 넘어가지 않나요?
제가 가지고 있는 책을 보니깐 이런 내용이 전혀 없어서
질문드립니다.ㅋㅋ
다음은 GetBlock에 대한 함수선언입니다.
var
Block : array[0..127] of Char;
................
procedure GetBlock(var Block; Len : Word);
var
A : array[0..100] of char;
B : array of char;
s : string;
begin
SetLength(B, 20);
fillchar(A, 101, 0);
A := 'ABCDEF';
move(A, B[0], 20);
s := strpas(@B[0]);
caption := s;
end;
만약 move(A, B, 20); 이렇게 하면 에러 납니다..
동적배열은 배열변수의 포인터 입니다.