자유롭게 질의 및 응답을 할 수 있는 게시판입니다. 개발자 여러분의 답변이 큰 도움이 됩니다. 
  • 제품설치/등록 오류 문의: 설치/등록 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 17156
공지 유용한 관련 사이트 관리자2 2014.03.20 56024
공지 본 게시판은 개발자 여러분들의 질문과 답변을 공유하는 공간입니다. 관리자 2012.01.10 99456
1939 앱 재실행 관련 문의드립니다. [1] 우정 2017.02.11 294
1938 MS-SQL DB에 smalldatetime type 일자저장시 data overflow (status = 6h) 에러 [2] delphi 2018.04.23 294
1937 컴포넌트 아이콘 표시가 안나올때 [1] file 건들다맞지 2018.06.14 294
1936 프로젝트그룹(ProjectGroup)의 여러 프로젝트가 한꺼번에 빌드 됨 [2] file 미스터몽키 2015.09.15 294
1935 [마이그레이션 세미나] 소스파일은 없고, 실행파일만 있을 때 실행파일 만으로 소스코드를 불러올 수 있는 프로그램이 있을까요? 험프리 2015.11.24 294
1934 XE8 JSON통신 오류 [2] file 똘귀아빠 2021.03.10 294
1933 XE8 TAniIndicator 문제 [1] 가을이다 2015.09.30 295
1932 한번에 개발하는 안드로이드ios 앱 델파이 책내용에 관한 질문입니다. [2] youngdel 2016.04.19 296
1931 Konopka Signature VCL Controls, FireMonkey Premium Styles Pack 시용 및 설정방법 [6] 화이부동 2016.08.11 296
1930 [XE8 출시세미나] 파이어몽키로 만들지 않은 안드로이드 앱을 델파이에서 로딩하고 데이터를 주고 받을 수 있나요? [1] 관리자 2015.04.30 296
1929 TCppWebBrowser 컴포넌트를 폼에 올리면 Access violation 오류가 발생합니다. file 험프리 2016.01.11 296
1928 컴퍼넌트 등록관련 질문드립니다. [1] 투덜이스머프 2019.05.09 297
1927 로딩화면 관련해서 질문드립니다. [1] 델마당쇠 2020.03.02 297
1926 XE7 안드로이드 9-patch image기번 스플래쉬화면 [1] 빨리빨리 2016.03.15 297
1925 [시작하는 사람들을 위한 델파이 프로그래밍] 모듈 9 - Exercise 4 [1] file 관리자 2016.05.02 298
1924 안드로이드 앱에서 사진을 찍어 FPT로 올릴 경우의 문제입니다. [4] 노력짱 2018.03.22 298
1923 TParallel.For 코어 사용 이게 맞나요? [2] file 아크나톤 2019.09.30 298
1922 본인 인증 문의 [1] 사랑남 2015.09.15 299
1921 [XE8] 갤럭시 탭 10.1 모바일 관련 문의 [1] kyung 2015.08.19 300
1920 IBLite 다운받는 순서에서 질문입니다. [3] youngdel 2016.04.20 300