델파이6으로 작업을 하는데요 기존에는 잘 됐다고 하던데요,
코딩에는 아무런 이상이 없는데요, 컴파일을 하면
VarArrayOf 부분과 VarToStr부분에만 에러가 납니다.
어떠한 폼이든지 코딩에 위의 부분에서 에러 발생합니다.
델파이 버전 문제인지, 코딩의 실수인지 정말 모르겠습니다.
여러분들의 도움이 꼭 필요합니다.
(예제 코드)
gvLoct : Integer;
dt : TDateTime;
x1 : String;
n1 : Integer;
IPGODATAQT.Locate('IPLOCT;IPDATE;IPCUST;IPITMS', VarArrayof([gvLoct,dt,x1,n1]) ,[]);
if VarToStr(IPGODATATT.FieldByName('IPUNIT').OldValue) <> '' then
UPDTIPGOTT.FieldByName('IPUNIT').AsString := IPGODATATT.FieldByName('IPUNIT').OldValue;
(에러 메세지)
[Error] BESTM1203P.pas(269): Undeclared identifier: 'VarArrayof'
[Error] BESTM1203P.pas(269): Incompatible types: 'Integer' and 'TDateTime'
[Error] BESTM1203P.pas(1808): Undeclared identifier: 'VarToStr'
델파이 6에서는 컴파일러에서 핵심적 변화가 있었고 런타임 라이브러리에
상당한 변화에 따른 기존의 시스템 함수나 프로시저가 전면적으로 개정
되었답니다..(저도 요즘 6을 쓸라고 준비 중이거든요...)
그중에 몇몇 함수들이 System함수들이 Variants 유닛으로 옮겨간것이
있습니다...
이것때문에 에러가 나는 것 입니다..
따라서
uses에 Variants를 추가 해서 컴파일 해보세요...