자유롭게 질의 및 응답을 할 수 있는 게시판입니다. 개발자 여러분의 답변이 큰 도움이 됩니다. 
  • 제품설치/등록 오류 문의: 설치/등록 Q&A 이용 (제품 구매 고객 한정)

Tokyo 10.2.1에서 동적생성된 TFrame를 해제할 때 오류가 발생합니다.

베를린까지는 전혀 문제가 없었는데 Tokyo에서는 오류 또는 먹통이 되네요...

 

TFrame 생성/해재 테스트를 위해 간단히 만들어 봤습니다..

(원래는 프레임 생성/해제 관리 클래스를 만들어 사용하는데 하도 오류가 발생해서 원인 분석차 간단히 만들어 보았는데

역시 오류가 발생합니다.)

 

// 메인 유닛...

 

2017-10-14_15-48-01.png

 

unit Unit3;

........
  private

  public
    fr: TFrame1;

.....

procedure TForm3.btnFrameTestClick(Sender: TObject);

begin

   // 프레임 생성 버튼을 누르면 프레임을 동적생성한다....
    fr := TFrame1.Create(Self);
    fr.Parent := Self;
    fr.Align := TAlignLayout.Client;
end;

 

// 종료 버튼...

procedure TForm3.btnCloseClick(Sender: TObject);
begin
    Close;
end;

 

// 백버튼이 눌렸을 시 처리...

procedure TForm3.FormKeyUp(Sender: TObject; var Key: Word; var KeyChar: Char; Shift: TShiftState);
begin
    if Key = vkHardwareBack then
    begin
        Key := 0;

        if Assigned(fr) then
        begin

            // 여기에서는 전혀 문제가 발생하지 않는다..
            fr.DisposeOf;
            Exit;
        end;

        Close;
    end;
end;

end.

 

// 프레임 유닛 (Unit4)

2017-10-14_15-48-16.png

 

//  '해제' 버튼을 눌렀을 때 프레임을 해제한다.

procedure TFrame1.btnFrameFreeClick(Sender: TObject);
begin

    DisposeOf;

   // Form3.fr.DisposeOf;  //  메인폼에 있는 변수를 이용해 해제. 먹통....

   // FreeOnRelease;         // 해제 안됨...

   // Release;                  // 먹통...

    // 첫 번째로 버튼을 눌렀을 때는 해제가 되는데 두 번째부터 버튼을 누르면 오류 또는 먹통이 된다..

    // 오류 메시지: Project Project2.apk raised exception class Segmentation fault(11).

    // 여기에서 DisposeOf 대신 어떤 방법으로 프레임을 해제해야 하는지요?

 

   // 베를린에서는 Release; 를 해주면 아무 문제없이 잘 작동한다.

   // 도쿄에서는 Release가 deprecated가 돼서 사용할 수가 없고 사용해도 먹통이 된다...
end;
 

 

ToKyo에서 프레임을 사용하시는 분들은 프레임 위에서 '닫기' 버튼을 눌렀을 때 어떻게 프레임을 해제하는지

궁금합니다..

혼자 여러가지로 궁리를 해 보다가 이해가 안돼서 질문을 올려 봅니다..

 

감사합니다..

번호 제목 글쓴이 날짜 조회 수
공지 [프로그래밍 강의] 2021.6~2021.12 관리자 2015.01.22 39640
공지 유용한 관련 사이트 관리자2 2014.03.20 79142
1152 볼랜드포럼에서 논의가 되고 있는 C++11 32비트의 Exception코드 문제 [1] 더스틴 2015.09.16 790
1151 EListError with message "Duplicates not allowed" [3] file 화이부동 2016.09.21 791
1150 Delphi 10.3 Rio 에서 bpl 프로젝트 설치 문제. [2] 대마왕 2018.12.24 791
1149 파이어몽키 ListBox에서 목록 삭제 방법 문의 [1] 김태윤 2016.04.29 792
1148 파이어몽키 mms 장문문자+이미지파일및 첨부파일 전송?? [1] kerry 2017.12.07 793
1147 not enough space 어떻게해결하나요 [2] 봉봉봉 2015.12.30 795
1146 Cannot resolve Unit name Winapi.Windows, Winapi.Message 문제 [1] 미스터리 2019.04.11 796
1145 [질문] 델파이 XE8에서 샘플 프로그램에 있는 WebBrowser 실행 (2차) [2] 델사냥 2015.04.14 796
1144 현재 회사에서 xe2를 사용 중인데 동일 PC에 도쿄버전을 같이 설치하여 사용해도 괜찮나요? zenojm 2017.12.05 797
1143 Apple healthkit 사용법에 대해 도움 요청 드립니다. [2] 지병철 2021.06.18 797
1142 폰에 존재하는 call log(즉 수발/발신) 목록 가져오기 [1] 솔루피온 2015.02.16 798
1141 [질문] 개발자 Q/A에 있는 QR/바코드 스캐너 앱 샘플코드(ZXing, TFrameStand 사용) 설치하여 10.2 Tokyo 모바일에서실행하니 첨부파일같이 오류가 납니다 [5] file delphi 2018.01.11 798
1140 ## Windows10 최근 업데이트후 TWebbrowser 심각한 문제.. [2] 가을이다 2015.12.31 798
1139 아이폰 진동효과를 내는 방법문의 [2] silkroad99 2015.12.10 798
1138 Delphi XE3로 개발한 VCL 프로그램의 배포에 관해서 [4] manyoo 2015.06.05 799
1137 TwineCompile 에러가 발생 했는데, 수정은 어떻게 하나요? 하루 2021.01.19 800
1136 Delphi 10.2 버전에 DevExpress 18.1.6 버전 설치 관련 문의사항입니다. [1] 비사걸 2018.10.22 801
1135 키보드HOOK에 관하여.... [1] kdocs 2017.02.24 801
1134 delphi XE8에서 Paradox 연결 [1] file 써니 2015.06.26 802
1133 [VIP세미나] 앱테더링이 VPN 환경에서 사용할 수 있나요? 험프리 2016.11.10 802