|
서나 님이 쓰신 글 :
: 리스트 뷰에서 선택된 행에 대한 내용을 처리하는데요.(MultiSelect속성 = true)
:
: 잘 되다가 가끔식 실행 에러가 납니다.
:
: 에러 내용은
: Access violation at address 40109BA8 in module 'vcl60.bpl'.
: Read of address 0000000009 입니다.
:
: 혹시 코드에 이상이 있는건지 궁금합니다.
:
: if(lstvwVersionFiles->SelCount != 0)
: {
: for(int i=0; i < lstvwVersionFiles->Items->Count; i++)
: {
: if(lstvwVersionFiles->Items->Item[i]->Selected)
: {
: // 리스트뷰에서 선택된 행에 대한 내용 처리
** //-- 선택된곳아이템이 선택되지 않도록 하는 코딩이 있어야 함
: }
: }
: }
: else
: {
: ShowMessage("선택된 내용이 없습니다.");
: }
:
: 꼭~~~ 알려주세요...^^*
://-----------------------------------------------------------------
안녕하세요 잘되다가 가끔 에러가 난다고 하셨죠?
저도 그런 경험을 해봤는데 혹시 OnDragDrop이벤트에서 잡으신건지요?
그런경우에 멀티로 셀렉트해서 셀렉트된곳에 drop해버리면은
위와같은 에러가 나가든요..
즉 선택된곳에 Drop을 하면 에러가 나죠
그럴경우에 선택된곳에 Drop이 들어올경우에 return을 해버려야 합니다.
아래코딩참조하세요 ^^
if(DestList->DropTarget->Index >= nSelIndex && DestList->DropTarget->Index <= nSelIndex + nSelCount - 1)
return; //-- 여기서 리턴해버리면 에러가 안날겁니다.
if(DestList->Items->Item[nSelIndex+i]->Selected) {
//-- 사용자 코딩
}
|