자유롭게 질의 및 응답을 할 수 있는 게시판입니다. 개발자 여러분의 답변이 큰 도움이 됩니다. 
  • 제품설치/등록 오류 문의: 설치/등록 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 15767
공지 유용한 관련 사이트 관리자2 2014.03.20 54582
공지 본 게시판은 개발자 여러분들의 질문과 답변을 공유하는 공간입니다. 관리자 2012.01.10 97993
554 mousedown 에서의 shift상태 [1] 100jk 2018.12.27 158
553 TListBox 내 TListItem 삭제 [2] 공수래 2021.03.10 158
552 안드로이드 버젼에 따른 문제점 희망나라 2017.08.03 159
551 스크롤 박스 잠그기 100jk 2019.07.08 159
550 안드로이드를 선택할 경우 run이 비활성화 되었습니다 [2] 조르디 2018.03.21 161
549 [XE8] IDE 에디터 사용법 문의 [4] 가을이다 2015.09.14 164
548 [MACOS] TEdit Password 기능 오류 [1] 라운지 2015.09.30 164
547 bundle id 기재 방법 datare 2016.01.28 165
546 안녕하세요 혹시 베를린에서 안드로이드 누가는 지원안하나요? [4] Vincent 2017.09.29 165
545 FMX Linux 에서 화면캡쳐 100jk 2019.09.02 165
544 fmx TEDIT에 스케너로 입력시 속도개선방법문의드립니다. file 오바라미 2017.03.10 165
543 안드로이드 개발시 선굵기가 제각기로 나오는 이유(현상) [1] file delphiman 2020.11.17 165
542 안드로이드 앱 Signing 여부를 어떻게 알수 있습니까? [1] file 푸른솔 2016.09.09 166
541 아래 1658번 박정희씨 내용과 동일한 오류입니다. [1] 어려워 2016.10.25 166
540 IOS 배포버전 컴파일시 오류 문의 입니다. vastia 2019.01.24 166
539 TstringList Addobject 질문입니다. [1] 희망나라 2017.03.17 166
538 VirtualKeyboard 관련 질문있습니다. 신우 2017.11.10 168
537 IOS, OSX용으로 만들어진앱 [1] 100jk 2020.03.11 168
536 Xe5에서 SDK 삭제후 재 설치 할 수 있나요? [1] 농가사랑 2016.05.12 168
535 sqlconnection 문제 [1] bursil 2017.11.02 169