FireMonkey Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
FireMonkey 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
델마당
볼랜드포럼 광고 모집

FireMonkey Q&A
[199] Re:object lock not owned. 오류가 나는 원인이 뭔가요?? [자답]
김시환 [godson2] 84 읽음    2018-08-03 17:10
VCL 사용법과 FMX 사용법이 차이가 있어서 막히는 부분이 많네요..

일단 해결 방법은 아래 사용된 Map_Draw(TImage* Map_Image) 함수를 호출하기 전에
파라메타로 전달되는 TImage 의 Bitmap 멤버의 객체를 생성해 주어야 합니다.

Image1->Bitmap = new TBitmap(Image1->Width, Image1->Height) ;
Map_Draw(Image1) ;



김시환 님이 쓰신 글 :
: 파이어몽키로 앱 개발 공부를 좀 해 볼까 하여 간단한 프로그램을 하나 해 보고 있습니다.
:
: TImage 컴포넌트에 Map 형태로 스프라이트 이미지를 뿌려 보려고 하는데
: "object lock not owned." 이라는 에러가 아래 소스의 Map_Image->Bitmap->Canvas->EndScene() ;  에서 발생합니다.
:
: 하나 특이한건 빌더 XE4 버젼에서 파이어 몽키로 돌리면 정상적으로 동작을 하는데
: 빌더 10.2 도쿄 커뮤니티 버젼에서만 해당에러가 발생합니다.
: 서로 다른 PC에 각각 XE4 와 10.2 도쿄 버젼이 설치되어 있는데 도쿄 버젼에서만 에러가 발생합니다.
:
: 구글링을 해 봐도 뚜렷이 원인에 대한 해결책이 별로 보이지가 않네요..
:
: void __fastcall GameMap::Map_Draw(TImage* Map_Image)
: {
:     TBitmap* imagefile1 = new TBitmap(32,32) ;
:     TBitmap* imagefile2 = new TBitmap(32,32) ;
:
:     Load_Image_From_Resource(imagefile1, L"Bitmap_1") ;
:     Load_Image_From_Resource(imagefile2, L"Bitmap_2") ;
:
:     try
:     {
:         Map_Image->Bitmap->Canvas->BeginScene() ;
:
:         for(int row=0 ; row<10 ; row++)
:         {
:             for(int col=0 ; col<10 ; col++)
:             {
:                 switch(Mapping_Data[col][row])
:                 {
:                     case 1: Map_Image->Bitmap->Canvas->DrawBitmap(imagefile1, TRect(0,0,32,32), TRect(col*32,row*32,(col*32)+32,(row*32)+32), 1, true) ;      break ;
:                     case 2: Map_Image->Bitmap->Canvas->DrawBitmap(imagefile2, TRect(0,0,32,32), TRect(col*32,row*32,(col*32)+32,(row*32)+32), 1, true) ;      break ;
:                 }
:             }
:         }
:     }
:     __finally
:     {
:         delete imagefile1 ;
:         delete imagefile2 ;
:
:         Map_Image->Bitmap->Canvas->EndScene() ;         // 해당오류가 나는 위치 입니다.
:     }
: }
:

+ -

관련 글 리스트
198 object lock not owned. 오류가 나는 원인이 뭔가요?? 김시환 49 2018/08/03
199     Re:object lock not owned. 오류가 나는 원인이 뭔가요?? [자답] 김시환 84 2018/08/03
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.