안녕하세요. 까막입니다.
프로시저를 선언했습니다. 인수는 열린 배열로...
procedure TFRM_Trans.UDP_GetFileNext(var FBuffer : array of Char); --> 열린 배열.
begin
나름대로의 처리... ^^
end;
그리고, 이 프로시저를 호출을 하는데요.
procedure TFRM_Trans.UDP_RemoteReceive(RFlag : integer);
var
FHandle : integer;
ReceiveCount : integer; // 파일 수신 횟수.
FileBuffer : array of Char; --> 동적 배열 선언.
begin
SetLength(FileBuffer,iConfig.FileLength); --> 크기 지정.
FillChar(SendBuffer,iConfig.TransLength,#0);
FillChar(FileBuffer,iConfig.FileLength ,#0);
case RFlag of
GETINFO :
begin // 파일 정보 일치시 다음 파일 정보 요구.
if GetFileInfo() then UDP_GetFileNext(FileBuffer) --> 여기서 에러 발생.
에러 메세지.
Incompatible types: 'Array' and 'dynamic array'
열린 배열로 인수를 만들면 일반 정적 배열이나 동적 배열 모두 인수로 사용할 수 있는거 아닌가요?
그렇게 알고 있는데요.
델파이 6 시작 그리고 완성 에서도 그렇게 나와 있고요.
쓰고 있는 델파이 버젼은 델파이 6 입니다.
혹시 컴파일 옵션등에 따라 변할 수도 있나요? 특별히 건드린 것은 없는데...
도움 바랍니다.
위대한 단군혼이 살아있는 나라.... 대한민국.
Type
TTestArrayChar : array of Char;
var
a : TTestArrayChar;
begin
//DoSomeThing..
UDP_GetFileNext(a);
호출되는 프로시져에선..
procedure TFRM_Trans.UDP_GetFileNext(FBuffer : TTestArrayChar);
음.. 게임방이라서 막적었는데,
이렇게 하심 될거 같네여..
그럼~ 항상 즐거운 프로그래밍 하시길~~