Q&A

  • VarArrayOf, VarToStr 이 안돼요!
델파이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'

3  COMMENTS
  • Profile
    머슴 2002.04.06 22:21

    델파이 6에서는  컴파일러에서 핵심적 변화가 있었고 런타임 라이브러리에
    상당한 변화에 따른 기존의 시스템 함수나 프로시저가 전면적으로 개정
    되었답니다..(저도 요즘 6을 쓸라고 준비 중이거든요...)

    그중에 몇몇 함수들이 System함수들이 Variants 유닛으로 옮겨간것이
    있습니다...

    이것때문에 에러가 나는 것 입니다..

    따라서

    uses에  Variants를 추가 해서 컴파일 해보세요...
  • Profile
    한주영 2002.04.06 22:09
    uses 에 Variants를 추가하세요

  • Profile
    이동진 2002.04.06 22:16

    모든 님들 정말 감사합니다.
    기존의 코드에는 Variants가 모두 빠져 있군요!

    그 이유가 뭔지 궁금하군요. 코딩에서 사용했다면 추가해서 사용했을텐데
    말이죠!

    버전의 차이 같기도 하구...

    아무튼 한주영님의 도움으로 일단은 해결했습니다. 다시한번 감사드립니다.