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

1. TAniIndicator ( 로딩중 표시 )

2. TListBox Addobjcet로 동적으로 약 오천개 입력


버튼 1 ) 

AniIndicator1.Visible := true;

AniIndicator1.Enabled := true;

listbox.BeginUpdate;

Application.ProcessMessages;

for i := 1 to 26 do

begin 

  listboxGroupHeader = TListBoxGroupHeader.Create(listbox);

  listboxGroupHeader.Height := 40;

  listboxGroupHeader.Text := inttostr(i) + ' Header';

  listbox.AddObject(listboxGroupHeader);

  for j := 1 to 200 do

  begin

      listboxitem := TListBoxItem.Create(listbox);

      listboxitem.Height := 40;

      listboxitem.Text := inttostr(i) + ' / ' + c;

      listboxitem.ItemData.Accessory := TListBoxItemData.TAccessory(i mod 3);

      listbox.AddObject(listboxitem); 

  end;

 end;

 listbox.EndUpdate;


 aniIndicator1.Visible := false;

 AniIndicator1.Enabled := false;


----> 버튼 클릭시 폼이 얼어버리는 현상 ( 안드로이드 응답없음 및 대기상태에 있으면 조회됨 )


버튼2) 쓰레드를 사용하니 더 느려짐 ㅠㅠ;; ( 응답없음은 나오지 않으나 제가 뭘 잘못했는지 초보라서 ㅜㅜ;; )


# 클래스정의 ( 쓰레드 )


TLoadThread = class(TThread)

 public

  Config: Boolean;

  FLoopValue : integer;

  FChar : char;

  constructor Create(const aConfig: Boolean); reintroduce;

 protected

  procedure DoProcessing;

  procedure DoProcessing2;

  procedure Execute; Override;

 end;


# 버튼클릭 프로시져 (아래)

 zLThread:= TLoadThread.Create(True);

 zLThread.OnTerminate := ThreadTerminated;

 zLThread.Start;

 Loading := True;

 AniIndi.Visible := True;

 AniIndi.Enabled := True;


# Execute 프로시져


procedure TLoadThread.Execute;

var cc : char;

    i  : integer;

begin

 FreeOnTerminate:= true;

 Form1.lbxList.Clear;

 Form1.lbxList.BeginUpdate;

 for cc := 'a' to 'z' do

 begin

   FChar := cc;

   Synchronize(DoProcessing);  -- Header 입력

   for i := 1 to 200 do

   begin

     FLoopValue := i;

     Synchronize(DoProcessing2); -- Detail 입력 

   end;

 end;

 Form1.lbxList.EndUpdate;

end;

   

procedure TForm1.ThreadTerminated(Sender: TObject);

begin

  zLThread := nil;

  Loading := False;

  AniIndi.Enabled := False;

  AniIndi.Visible := False;

end;  


# 하고자하는 요점은 리스트 박스에 일부 데이터 입력 , 입력시 로딩이미지 사용자 대기상태 , 리스트 박스에 표시 후 로딩이미지 중지를 구현 하려다 보니깐 ... 잘 안됩니다.  ㅠㅠ;;

번호 제목 글쓴이 날짜 조회 수
공지 [프로그래밍 강의] 2021.6~2021.12 관리자 2015.01.22 15803
공지 유용한 관련 사이트 관리자2 2014.03.20 54605
공지 본 게시판은 개발자 여러분들의 질문과 답변을 공유하는 공간입니다. 관리자 2012.01.10 98039
339 MediaPlayer 지원 코덱 [1] godkdi 2014.04.01 3501
338 [XE6] VCL 리스트뷰 사용법 [1] 가을이다 2014.08.29 3563
337 ios에서 classic bluetooth 로 통신하려면 [1] jojo 2016.03.04 3584
336 Delphi XE5, XE6 에서의 한글 문제 (TFDConnection, TFDQuery) [2] shocks 2014.06.08 3612
335 데브기어 강의 - 2016년 5월 file 관리자 2015.01.22 3619
334 빌더 XE4 리모트 디버거 사용시 에러문제 [1] godson2 2014.02.07 3702
333 좌측에서 슬라이드 나오는 메뉴 클릭시 문의 [1] file 김하나 2014.03.20 3707
332 "80070002 지정된 파일을 찾을수 없습니다" 라는 에러 발생 [5] 하루 2018.04.01 3767
331 델파이 xe4 세션 관련 문의입니다. [1] file 좋은사람 2014.02.12 3782
330 ImageEN의 OCR 샘플로 헤매고 있어요 ㅠ.ㅠ 아크나톤 2014.06.17 3784
329 WebBrowser focus 부분 문의드립니다. [1] file 김하나 2014.05.14 3872
328 애플 인증서 오류 관련하여 문의드립니다. [3] file delphiman 2021.05.11 3873
327 Firemonkey Mobile Application 실행시 "Unable to create process" 에러발생 [2] 박재현 2014.05.23 3906
326 [질문]문장에서 원하는 단어 검색 하는 방법이 궁금합니다 [6] delphi 2016.06.02 3927
325 코딩창에서 여러줄을 한꺼번에 들여쓰기 기능이 있는지 ? [2] file 라빌레나 2020.07.16 3943
324 Win7 버전과 Delphi 버전의 호환성 [3] 호나리 2014.03.04 3963
323 필드명을 동적으로 사용하는 방법 [1] 아폴로 2016.07.08 3972
322 모발일 Sqlite 데이터베이스를... 김다니엘 2020.05.07 3990
321 [dcc32 error] E1026 File Not Found : 'controls.res' 에 대하여... [1] 카니로스 2014.04.04 4014
320 [FireMonkey] TWebBrowser 에서 javascript 사용하기 [3] godkdi 2014.02.25 4048