1. 개요
DelphiXE로 넘어오면서 프로젝트 작성시 만들어서 등록해서 사용하던 프레임(TFrame)들이 어느 순간엔가 사용할 수 없게 되는 경우가 발생한다. 폼 위에 프레임을 올리려고 하면 "No frames are available to insert. New frames may be created ...".라는 당황 스러운 메시지와 함께 잘 사용 했던 프레임을 하나도 쓸 수 없을 뿐만 아니라. 기존에 올려져 있던 프레임들도 수정된 프레임을 사용할 수 없는 단계까지 이르게 된다. 이것은 DelphiXE의 버그로도 보이는데 XE3 ~ XE Seatle 버전까지 그대로 남아 있음을 확인 하였다. 이를 재인식 시키는 방법을 알아보자.
2. ProjectXXX.dproj 파일 직접 편집(일반 에디터 이용)
.dproj 파일을 열면 프로젝트 구성 내용이 XML 타입으로 작성되어 있는 것을 볼 수 있는데 프레임으로 작성한 유닛 부분을 찾는다.
Frame으로 작성된 유닛에는 "<DesignClass>TFrame</DesignClass>" 로 선언된 서브 노드가 반드시 존재하므로 검색어를 "TFrame"으로 검색하면 수월하게 해당 유닛을 찾을 수 있겠다.
원하는 TFrame 유닛 부분을 찾으면 다음과 같이 해당 유닛이 dfm으로 작성된 유닛을 등록해 주면 DelphiXE에서 해당 프로젝트를 다시 열때 기존에 등록했던 Frame 유닛들을 정상적으로 사용할 수 있다..
적용 예)
Change:
to:
<DCCReference Include="x\y\z\myFrame.pas">
<Form>frameMy</Form>
<DesignClass>TFrame</DesignClass>
</DCCReference>
to:
<DCCReference Include="x\y\z\myFrame.pas">
<Form>frameMy</Form>
<FormType>dfm</FormType>
<DesignClass>TFrame</DesignClass>
</DCCReference>
'프로그래밍 > Delphi' 카테고리의 다른 글
[Delphi/Tip] 프로그램간 메시지 전송 (1) | 2018.09.27 |
---|---|
DelphiXE 10 Seatle IDE가 느려지는 현상 개선 (0) | 2016.10.06 |
페이스북(Facebook) Feed 읽어들이기 (0) | 2016.07.20 |
[Delphi-Tip]지정된 프로그램이 실행중인지 체크 (1) | 2016.03.17 |
[델파이] 바람직한 주석(Comment)달기 (0) | 2015.10.07 |