자유롭게 질의 및 응답을 할 수 있는 게시판입니다. 개발자 여러분의 답변이 큰 도움이 됩니다.
- 제품설치/등록 오류 문의: 설치/등록 Q&A 이용 (제품 구매 고객 한정)
Firemonkey object lock not owned. 오류가 나는 원인이 뭔가요??
2018.08.03 15:20
본 게시판은 개발자들이 자유롭게 질문과 답변을 공유하는 게시판입니다.
* 따라서 최대한 정중하게 질문을 올려 주세요.
* 질문을 상세히 작성해 주실 수록 좋은 답변이 올라 옵니다.
* 다른 분들도 참고할 수 있도록 결과 댓글 필수(또는 감사 댓글)
(결과 댓글을 달지 않는 경우 다음 질문에 대한 답변이 달리지 않는 불이익이 있을 수 있습니다.)
-----------------------------------------------------------------------------------------------
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() ; // 해당오류가 나는 위치 입니다.
}
}
댓글 0
Firemonkey object lock not owned. 오류가 나는 원인이 뭔가요??
2018.08.03 15:20
본 게시판은 개발자들이 자유롭게 질문과 답변을 공유하는 게시판입니다.
* 따라서 최대한 정중하게 질문을 올려 주세요.
* 질문을 상세히 작성해 주실 수록 좋은 답변이 올라 옵니다.
* 다른 분들도 참고할 수 있도록 결과 댓글 필수(또는 감사 댓글)
(결과 댓글을 달지 않는 경우 다음 질문에 대한 답변이 달리지 않는 불이익이 있을 수 있습니다.)
-----------------------------------------------------------------------------------------------
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() ; // 해당오류가 나는 위치 입니다.
}
}