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

본 게시판은 개발자들이 자유롭게 질문과 답변을 공유하는 게시판입니다.
* 따라서 최대한 정중하게 질문을 올려 주세요.
* 질문을 상세히 작성해 주실 수록 좋은 답변이 올라 옵니다.
* 바쁜 와중에도 답변을 주시는 분들께 감사 댓글 필수
-----------------------------------------------------------------------------------------------
안녕하세요.

기존에 볼랜드IDE에서 TMS AdvStringGrid를 사용하다가

모바일용으로 마이그레이션 중에 있는데요.

 

베를린에서 FMX TStringGrid를 이용해 개발할 때 안드로이드 환경에서

rowcount가 100일 때 사용자가 스트링그리드 스크롤을 최하단으로 내립니다.

그 상태에서 사용자가 버튼클릭을 함으로써 프로그램에서 rowcount를 2로 만듭니다.

그러면

 

function TStyledGrid.CellRect(const ACol, ARow: Integer): TRect;
var
  I, X, Y: Integer;
  HiddenFound: Boolean;
begin
  if (ACol < 0) or (ACol > ColumnCount) then
    raise EArgumentOutOfRangeException.CreateResFmt(@SInvalidColumnIndex, [ACol]);
  if (ARow < 0) or (ARow > RowCount) then
    raise EArgumentOutOfRangeException.CreateResFmt(@SInvalidRowIndex, [ARow]);

.

.

.

end;

 

여기에 걸려서 Exception을 뱉어냅니다.

 

디버그 해보았을 때

ARow = 82, RowCount = 2 입니다.

82라는 값은 제가 추측하길 디바이스에서 스크롤을 최하단으로 내렸을 때에 보였던 최상단 Row값인 것 같습니다

왜냐하면 스크롤이 최하단일 때는 제 실제 디바이스 환경(Nexus5)에서 Row가 18개가 보였습니다.

스크롤을 중간으로 해놓고 하면 Exception 걸릴 때 ARow값이 줄어듭니다.

Exception이 되는 케이스는 스크롤 내렸을 때의 마지막 화면의 시작 Row값이

새로 그릴 rowcount := 값보다 크면 위와 같은 Exception조건에 걸립니다.

 

왜 이런 문제가 발생할까요?

저는 현재 FMX StringGrid Columns를 초기화하는데는 StringGrid1.RemoveObject를 사용하고 있고

Rows를 초기화하는데는 Rowcount를 사용하고 있습니다.

스트링그리드초기화하는데 어떤 방법을 써야할까요?

아에 인스턴스를 없애고 다시 생성하는 게 나을까요?

윈도우모드에서는 같은 행위를 시도했을 때 문제가 없었습니다.

 

감사합니다.

 

 

번호 제목 글쓴이 날짜 조회 수
공지 [프로그래밍 강의] 2021.6~2021.12 관리자 2015.01.22 17263
공지 유용한 관련 사이트 관리자2 2014.03.20 56158
공지 본 게시판은 개발자 여러분들의 질문과 답변을 공유하는 공간입니다. 관리자 2012.01.10 99579
999 델파이의 intraweb은 ASP.NET과 비교해 어떤 장점이 있나요? [1] 베스트드레곤 2015.04.10 781
» StringGrid 초기화 방법에 대해서 궁금합니다. [2] Vincent 2017.09.27 782
997 혹시 LIN통신 해보신분 계신가요.. [1] 공감 2019.11.22 782
996 xe7 앱개발 [1] file 사랑남 2015.02.25 782
995 XE7에서는 개선이 되었는지 궁금합니다. [1] ScorpioM 2014.12.22 782
994 dll(.net assembley) 추가 [2] bugfix 2015.01.02 785
993 부팅시 자동실행(브로드캐스트 리시버)예제를 따라하니 앱이 강제 종료됩니다. [1] file 김태윤 2016.06.01 786
992 [질문] XE7에서 CPORT 컴파일 후 인스톨 시 에러 file 신지 2015.02.09 786
991 ToolBar Command Error(View) [2] file 우석이 2014.12.07 786
990 TBitmap.Savetofile 관련 질문 [1] hsson 2016.04.05 788
989 iphone 생성된 Provisioning profile 아이폰6에 등록 방법문의 file 사랑남 2015.05.15 790
988 글자 짤림문제 델펀맨 2016.09.20 791
987 델파이 7버전 다운로드 문의 [1] 정보개발팀 2017.06.26 791
986 배포시 borlndmm.dll 찾지못하는 문제때문에 문의 드려요. [2] 현수막 2017.10.25 791
985 [질문] 험프리님 말씀하신대로 제가 작성한 내용 댓글 붙였습니다. 어떻게 수정하면 원하는 결과가 나오는지요? 델파이 정규식에서 어떻게 검색조건을 줘야 원하는 결과가 나올까요? [3] delphi 2016.04.05 791
984 xe7로 DataSnap 사용하여 3티어로 작성 한 프로그램 remort error: Error reading servermethods2.clientheight: property clientheight does not exist오류가 납니다 [3] file delphi 2016.03.29 792
983 [bcc32c Error] GdiplusPath.h(146) reference to 'byte' is ambiguous [2] 하루 2019.11.15 793
982 coding in delphi 책 어디서 다운받을 수 있나요 [3] 해뜨는식당ㅋㅋ 2015.01.29 795
981 Delphi 10.3 Rio 를 통한 최초 Android 개발시 오류 [5] file 이치고 2019.04.24 797
980 C++builder 10.1 Berlin DLL에 vcl 테마 적용 방법 질문 [5] file gildong 2020.03.19 798