Q&A 게시판

취소
다음에 대한 결과 표시 
다음에 대한 검색 
다음을 의미합니까? 
응답

타입정의와 강제변환점

해결 완료!
솔루션으로 이동

안녕하세요.

같은 디자인의 컨트롤이 여러개 사용될 때, 디자인 편집의 용이성을 위해 "타입정의" 라는 기능을 사용해 왔습니다.

컨트롤을 하나하나 이미지를 입혀서 편집하는 불편함을 덜고,

타입 정의된 컨트롤 하나만 디자인을 편집하면(*.ctl 파일을 수정하면), 같은 타입의 나머지 컨트롤들은 자동으로 새로운 디자인이 입혀졌기 때문이죠.

 

그러나 이 기능을 사용하다 궁금증이 생겼습니다.

 

단순히, 디자인 편집의 용이성을 위해 타입정의라는 기능을 사용하고 있었는데

상수나 어떤 값을 연결하면, 아래와같이 빨간색의 "강제변환" 점이 생겨 굉장히 신경쓰이게 되더라구요.

(강제변환이라는 것이 결국, 쓸데없는 버퍼를 할당하여 메모리 및 성능 저하를 야기시킨다고 알고있기 때문에)

 

type.png

 

디자인 편집의 용이성 때문에 사용했던 "타입정의", 그러나 강제변환점을 야기시키는 이러한 문제점을 해결하기 위해 어떤 방안이 있을까요?

F 라는 기본 불리언 상수와, 왼쪽 귀퉁이에 까만 삼각형이 생성된 타입 정의된 불리언 상수는 어떻게 다른걸까요...

이를 어떻게 적절하게 사용해야 좋은 프로그램이 될 수 있을까요..!?

 

감사합니다.

0 포인트
1/4 메시지
235 조회수
솔루션
주제 작성자 Mineng이(가) 승인함
01-10-2019 06:33 PM

안녕하세요.

기본적으로, 타입정의된 컨트롤/인디케이터와 타입정의 되지 않은 컨트롤/인디케이터는 다른 것으로 인식하여 강제변환점이 생기는 것입니다.

 

Mineng님께서 강제변환점이 생기는 것이 불편하시다면, 타입정의 된 불리언을 가지고 상수를 만들면 까만 삼각형이 상수에도 생성되면서 강제변환점을 없애실 수 있습니다.

2019-01-04 오전 10-52-27.jpg

 

이 내용이 조금 불편하시게 느껴지실 수는 있으나, 이후에 불리언 정도의 컨트롤이나 인디케이터가 아닌 아래와 같은 다양한 내용이 담긴 상수와 컨트롤을 계속해서 생성하게 된다면, 중간에 언젠가는 상수의 순서때문에 틀어지는 경우가 생길 수 있어 이 다른 부분을 표시할 수 있도록 나오는 것으로 보입니다.

2019-01-04 오전 10-56-14.jpg2019-01-04 오전 10-55-57.jpg

 

따라서, 불편하시더라도 타입정의 된 아이들을 연결하기를 원하신다면 타입정의 된 상수로 생성하시고 타입정의된 컨트롤, 인디케이터로 연결하셔서 사용하시는 것이 유용한 방법이라 생각됩니다.

 

2/4 메시지
208 조회수

별다른 방법은 없고 타입정의된 상수를 타입정의된 인디케이터 값에 연결해줘야겠네요...ㅠㅠ

 

혹시 비교구문, 예를들어

1.png

다음과 같이 비교구문에서 나오는 값은 타입정의될 수 없기때문에 강제변환점이 생기기 마련인데, 이는

2.png

이렇게 타입캐스트를 사용하여 해결하면 되는건지, 다른 방법이 있는지 궁금합니다.

감사합니다.

0 포인트
3/4 메시지
186 조회수

타입캐스트 사용하시는 방법 말고는 다른 방법은 없는 것 같습니다ㅠㅠ

불리언 하나 때문에 계속 타입캐스트를 사용하는 것도 번거롭긴 할 것 같은데.. 지금 딱히 생각 나는 다른 방법은 없는 것 같네요ㅠ_ㅠ

 

0 포인트
4/4 메시지
159 조회수