2014-10-05 3 views
1

저는 학생이고 Delphi는 프로그래밍을위한 제 1 차 환경이 아닙니다. 나는 그것이 어떻게 작동하는지 그리고 그것의 레이아웃에 완전히 익숙하다는 것을 안다. 나는 최근 정수와 문자열을 통해 목록 상자에 배열을 나열하기 위해 배열을 사용해야하는 작업을 받았습니다. 아이디어는 매우 간단하며 프로그램 자체는 매우 쉽습니다.델파이에서 개인 선언문을 받아들이지 않는 이유는 무엇입니까?

개인이나 공개 상에 상수를 선언하려고 할 때 문제가 발생합니다. 'END'가 표시되지만 'CONST'을 (를) 찾을 수 없다는 오류 메시지가 표시됩니다. 저는 공공 및 사설 변수 및 상수를 사용하여 잠시 동안 작업했지만 실제로 어떤 일이 일어나는지 확실하지 않습니다. 다음과 같이

코드는 다음과 같습니다

type 
    TForm1 = class(TForm) 
    edtDateTime: TEdit; 
    lstListArrayValues: TListBox; 
    gbpIntegerArrayOptions: TGroupBox; 
    gbpStringArrayOptions: TGroupBox; 
    gbpListBoxOptions: TGroupBox; 
    btnInitializeIntArray: TButton; 
    btnAssignIntArray: TButton; 
    btnDoubleIntArray: TButton; 
    btnInitializeStrArray: TButton; 
    btnAssignStrArray: TButton; 
    btnCapitalStrArray: TButton; 
    btnDisplayArray: TButton; 
    btnClearListbox: TButton; 
    btnDeleteSelected: TButton; 
    XPManifest1: TXPManifest; 
    procedure FormCreate(Sender: TObject); 
    procedure btnInitializeIntArrayClick(Sender: TObject); 

    private 
    {Private Declarations} 
     Const 
     nItems = 5; 
     var 
     nBasicsIntArray : array [0..(nItems - 1)] of integer; 
     nBasicsStrArray : array [0..(nItems - 1)] of string; 
    public 
     { Public declarations } 
    end; 

내가 말하는 응용 프로그램을 실행

" 'END'예상하지만 'CONST'발견 '. Windows 7과 Delphi 7을 사용하고 있으며 이전에이 문제가 없었습니다.

솔직히 내가 바보 같은 것을 놓쳤을 수도 있지만 모든 것을 간과했기 때문에 문제의 원인을 찾을 수없는 것 같습니다.

+2

Delphi 7에서는 클래스 상수를 사용할 수 없습니다. 나중에 소개되었습니다. –

+0

[Delphi 프로그래밍에서 Enums vs Const 대 클래스 Const] (http://stackoverflow.com/q/382234/576719)를 참조하십시오. 클래스 상수는 D2005 또는 .NET D8에서 도입 된 것처럼 보입니다. –

+0

수정, BDS2006의 기능 매트릭스는'Delphi Win32! 클래스 변수/클래스 정적 데이터 '. –

답변

9

클래스 내에서 상수를 선언하는 기능은 Delphi 7에서 지원되지 않았습니다.이 언어 기능은 이후 릴리스에서 추가되었습니다.

클래스 외부에 상수를 선언하십시오.

var을 사용하는 경우도 마찬가지입니다. 이 구문은 Delphi 7에서 지원되지 않습니다. 클래스 선언에서 var 키워드 만 제거하면됩니다.

+3

또한'var' 키워드는 델파이 7의 클래스 선언에도 속하지 않습니다.'class var' 지원이 없었기 때문입니다. –

+0

@Ken 이것은 클래스 var가 아니라 인스턴스 var입니다. d7에서 유효한지 여부는 확실하지 않습니다. 확인하셔야합니다. –

+1

@David : 아니, Delphi 7이 아닙니다. 클래스 선언 내에'var'도없고'const'도없고'type'도 없습니다. 이것들은 .NET 컴파일러 용 Delphi 8과 네이티브 컴파일러 용 Delphi 2005 및 2006에 추가되었습니다. –