문자열 및 열거 형의 두 가지 추가 속성이있는 사용자 지정 TAction 형식을 만들었습니다.Delphi 2009 - 개체 검사기의 사용자 지정 열거 형 속성
문자열 값이 개체 관리자에서 잘 표시되지만 열거 형이 전혀 나타나지 않습니다. 개체 관리자에서 드롭 다운 속성 값으로 표시 할 사용자 지정 열거 형을 얻으려면 어떻게해야합니까?
문자열 및 열거 형의 두 가지 추가 속성이있는 사용자 지정 TAction 형식을 만들었습니다.Delphi 2009 - 개체 검사기의 사용자 지정 열거 형 속성
문자열 값이 개체 관리자에서 잘 표시되지만 열거 형이 전혀 나타나지 않습니다. 개체 관리자에서 드롭 다운 속성 값으로 표시 할 사용자 지정 열거 형을 얻으려면 어떻게해야합니까?
열거 형 속성은 기본 TEnumProperty 클래스를 사용하여 속성을 편집해야합니다.
RTTI 정보를 찾을 수없는 것 같습니다. 열거 형은 어디에 정의되어 있습니까? 구성 요소와 같은 파일에 있습니까?
그리고 당신은 같은 사용자 정의 값으로 열거 형을 사용하십시오
TMyEnum = (aA = 1, aB = 3);
설명 : 값 열거를 정의하면, 당신은 미리 정의 된 상수 부분 범위 타입을 만들 수 있습니다.
type
TMyEnum = 1..3;
const
aA : TMyEnum = 1;
aB : TMyEnum = 3;
이 같은 이상한 상황으로 이어질 수 : SUCC (AA) AB하지만 2 의 정보는 도움에 (언어 가이드) 단일 유형 [열거 유형되지 않도록 위는 것으로 해석 할 수있다 "명시 적으로 지정된 명령과 함께".
이것은 문제의 원인 일 수 있습니다.
그 밖의 모든 것이 실패하면 고유 한 속성 편집기를 만들 수 있습니다. 오브젝트 인스펙터에서 enum 속성을 변경할 수 있습니다. 일반적으로 기본 TEnumProperty를 사용할 수 있습니다. 하지만 충분하지 않으면 자신을 굴릴 수 있습니다.
1 단계, 속성 편집기를 가져옵니다. 귀하의 경우 아마도 TEnumProperty (Unit DesignEditors)가 거의 변경되지 않을 것입니다.
2 단계, GetValue 및 SetValue 메서드가 올바르게 작동하는지 확인하십시오. 문자열을 열거 형 속성으로 변환하고 다시 변환해야합니다.
3 단계, 실제 특수 편집을 원할 경우 편집 방법을 재정의해야합니다.
4 단계, eeditor 속성이 올바른지 확인하십시오.
5 단계, RegisterPropertyEditor를 사용하여 속성 편집기를 등록하십시오.
자세한 내용은 구성 요소 작성자 안내서를 참조하십시오.
안녕하세요, 감사합니다. 나는 사용자 정의 값으로 열거 형을 정의 했으므로 이것을 제거하고 컴파일러에서 값을 생성하도록했습니다. 그러나 나중에 참조 할 수 있도록 기본 개체 관리자의 열거 형 속성에 사용자 지정 값을 할당 할 수없는 이유를 알고 계십니까? – James
사용자 지정 값을 할당하면 더 이상 열거되지 않습니다 (도움말 파일의 어딘가). –
전체 설명을 추가했습니다. –