자유롭게 질의 및 응답을 할 수 있는 게시판입니다. 개발자 여러분의 답변이 큰 도움이 됩니다.
- 제품설치/등록 오류 문의: 설치/등록 Q&A 이용 (제품 구매 고객 한정)
Firemonkey 이미 존재하는 데이터 타입이나 클래스에 Helper가 존재하는지 체크방법
2018.10.05 16:35
본 게시판은 개발자들이 자유롭게 질문과 답변을 공유하는 게시판입니다.
* 따라서 최대한 정중하게 질문을 올려 주세요.
* 질문을 상세히 작성해 주실 수록 좋은 답변이 올라 옵니다.
* 다른 분들도 참고할 수 있도록 결과 댓글 필수(또는 감사 댓글)
(결과 댓글을 달지 않는 경우 다음 질문에 대한 답변이 달리지 않는 불이익이 있을 수 있습니다.)
-----------------------------------------------------------------------------------------------
제가 string에 helper를 달아 쓰려고 보니
helper는 한개만 적용된다고 하네요.
그런데 string helper는 이미 있는듯하구요.
내 소스에 helper를 정의하면 미리 정의 되어있는 helper가 안먹는거같습니다.
그래서 이미 helper가 있는 클래스나 타입은 helper 사용을 자제해야 할것같은데
이미 있는 클래스나 타입에 helper가 존재하는지 여부를 아는 방법같은건 없을까요?
댓글 3
-
김원경
2018.10.08 09:48
-
험프리
2018.10.08 09:54
말씀하신대로 Helper는 한개만 적용 가능합니다.
이미 Helper가 존재하는지 여부는, 이미 진행해보신 본바와 같이 Helper를 만들어 컴파일 해보셔야 할 것 같습니다.
참고로, 기본 데이터 타입은 대부분 Helper가 적용되어 있습니다.
델파이 RTL 소스코드 중 System.SysUtils, System.Classes를 살펴보시면 이미 정의되어 있는 Helper를 확인하실 수 있으니 미리 살펴보시면 도움이 될것입니다.
-
100jk
2018.10.08 17:51
아 직접 소스에서 찾아보는 수뿐이 없나보네요.
답변 감사드립니다.
Firemonkey 이미 존재하는 데이터 타입이나 클래스에 Helper가 존재하는지 체크방법
2018.10.05 16:35
본 게시판은 개발자들이 자유롭게 질문과 답변을 공유하는 게시판입니다.
* 따라서 최대한 정중하게 질문을 올려 주세요.
* 질문을 상세히 작성해 주실 수록 좋은 답변이 올라 옵니다.
* 다른 분들도 참고할 수 있도록 결과 댓글 필수(또는 감사 댓글)
(결과 댓글을 달지 않는 경우 다음 질문에 대한 답변이 달리지 않는 불이익이 있을 수 있습니다.)
-----------------------------------------------------------------------------------------------
제가 string에 helper를 달아 쓰려고 보니
helper는 한개만 적용된다고 하네요.
그런데 string helper는 이미 있는듯하구요.
내 소스에 helper를 정의하면 미리 정의 되어있는 helper가 안먹는거같습니다.
그래서 이미 helper가 있는 클래스나 타입은 helper 사용을 자제해야 할것같은데
이미 있는 클래스나 타입에 helper가 존재하는지 여부를 아는 방법같은건 없을까요?
댓글 3
-
김원경
2018.10.08 09:48
-
험프리
2018.10.08 09:54
말씀하신대로 Helper는 한개만 적용 가능합니다.
이미 Helper가 존재하는지 여부는, 이미 진행해보신 본바와 같이 Helper를 만들어 컴파일 해보셔야 할 것 같습니다.
참고로, 기본 데이터 타입은 대부분 Helper가 적용되어 있습니다.
델파이 RTL 소스코드 중 System.SysUtils, System.Classes를 살펴보시면 이미 정의되어 있는 Helper를 확인하실 수 있으니 미리 살펴보시면 도움이 될것입니다.
-
100jk
2018.10.08 17:51
아 직접 소스에서 찾아보는 수뿐이 없나보네요.
답변 감사드립니다.
기존의 클래스들은 RTTI에 등록되어
procedure TForm17.Button1Click(Sender: TObject);
var
ctx: TRttiContext;
t: TRttiType;
p: TRttiProperty;
a: TArray<TRttiMethod>;
m: TRttiMethod;
f: TRttiField;
n: string;
begin
ctx := TRttiContext.Create;
try
t := ctx.GetType(TButton);
ListBox1.Items.Add('Type: ' + t.Name);
ListBox1.Items.Add('Methods:');
a := t.GetMethods
이런식으로 정보를 가지올 수있으나 클래스 헬퍼는 현재 컴마일 영역에서만 적용되는 것이고 확장의 개념이떄문에 현재 컴파일 되는 소스들에서 검색으로 찾는 방법밖에 없을것 같습니다.