자유롭게 질의 및 응답을 할 수 있는 게시판입니다. 개발자 여러분의 답변이 큰 도움이 됩니다. 
  • 제품설치/등록 오류 문의: 설치/등록 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 20034
공지 유용한 관련 사이트 관리자2 2014.03.20 58944
공지 본 게시판은 개발자 여러분들의 질문과 답변을 공유하는 공간입니다. 관리자 2012.01.10 102557
1939 Rest 파라미터 한글 문제...? 헨씀히포 2017.10.11 785
1938 안드로이드에서 파일을 열고 싶습니다. Vincent 2017.10.10 235
1937 pc 에선 작동 되는데 안드로이드에선 오류 [1] file 도담 2017.10.04 167
1936 안녕하세요 혹시 베를린에서 안드로이드 누가는 지원안하나요? [4] Vincent 2017.09.29 179
1935 델파이 XE7에서 안드로이드로 실행시.apk raised exception class segmentation fault (11). 오류 (미해결중입니다) [6] delphi 2017.09.28 1204
1934 윈도우10에서 콤보박스 한글처리시 문제...? [3] 헨씀히포 2016.06.30 4240
1933 REST Application 작성시 세션 유지.. [2] file 가나당 2017.09.21 279
» StringGrid 초기화 방법에 대해서 궁금합니다. [2] Vincent 2017.09.27 825
1931 restrequest, restclient를 이용한 fcm notification 보내기 [1] 슈퍼맨 2017.09.28 593
1930 델파이 6 소스 컴파일 및 빌드 오류 건 문의드립니다. [1] 다니엘 2017.09.14 789
1929 안녕하세요 컨트롤들을 일정하게 정렬시키려고 하는데요. [2] file Vincent 2017.09.25 991
1928 Delphi 7 에서 .NET DLL 참조 관련 [1] Joon 2017.09.25 430
1927 RAD Studio 평가판 기간이 만료되었습니다. [3] file 땅콩맨 2017.09.24 707
1926 XE10.1 FMX로 멀티다바이스에서 UI구현방법 [2] Vincent 2017.09.22 176
1925 Access Violation Error 관련 [1] Joon 2017.09.25 448
1924 안드로이드 MediaPlayer 에서 wav재생 [3] 가을이다 2017.09.23 1856
1923 가상 키보드 크기가 정상적으로 넘어오지 않습니다. [1] file 쿠리 2017.09.25 449
1922 멀티디바이스 기본 MasterDetail 템플릿에서 데이터들은 어디서 가져오나요? [2] Vincent 2017.09.22 139
1921 답변이 없으셔서 다시 문의 합니다.(Rest 컴포넌트 관련) [3] 제트콜 2017.09.15 368
1920 델파이 사용중 문의 드립니다. 씨엠 2017.09.21 131