자유롭게 질의 및 응답을 할 수 있는 게시판입니다. 개발자 여러분의 답변이 큰 도움이 됩니다.
- 제품설치/등록 오류 문의: 설치/등록 Q&A 이용 (제품 구매 고객 한정)
Firemonkey IdHttp 대체 NetHTTPClient 관련하여..
2017.04.11 01:14
본 게시판 사용시 당부 사항
* 이 게시판은 자유롭게 질문을 올리고 자발적으로 답변을 공유하는 게시판입니다.
* 어느 누구도 답변을 달아야만 하는 책임은 없습니다.
* 따라서 질문을 올리실 때에는 최대한 자세하고 정중하게 질문을 올려 주세요.
* 최대한 질문을 자세히 올려야 답변도 자세히 올라 옵니다.
* 본 질문에 답변을 주시는 여러 개발자님들께 미리 감사드립니다.
-----------------------------------------------------------------------------------------------
10.1 Berlin Update2 으로 간단한 테스트를 하던중에 이상한점이 발견되어 질문드립니다.
IdHttp는 ssl 문제가 있어서, NetHTTPClient 를 사용하려 합니다.
NetHTTPClient 이벤트중 아래 이벤트만 사용하면 "안드로이드"에서 먹통이 됩니다.
procedure TForm1.NetHTTPClient1ReceiveData(const Sender: TObject;
AContentLength, AReadCount: Int64; var Abort: Boolean);
begin
end;
PC와 IOS에서는 정상적으로 동작하는데 안드로이드에서 실행하면, 먹통이 됩니다.
안드로이드 4.4와 6.0 모두 해보았지만 먹통입니다. (버튼을 누르면 아무동작안하고 이벤트가 먹통됩니다)
위 이벤트를 안쓰면 정상적으로 동작됩니다.
그런데 파일 다운로드 모듈이라,, 진행률을 알려주려면, 위 이벤트가 필요한데..
어떻게 해야할지 모르겠네요..
해결점이 있을까요?
Firemonkey IdHttp 대체 NetHTTPClient 관련하여..
2017.04.11 01:14
본 게시판 사용시 당부 사항
* 이 게시판은 자유롭게 질문을 올리고 자발적으로 답변을 공유하는 게시판입니다.
* 어느 누구도 답변을 달아야만 하는 책임은 없습니다.
* 따라서 질문을 올리실 때에는 최대한 자세하고 정중하게 질문을 올려 주세요.
* 최대한 질문을 자세히 올려야 답변도 자세히 올라 옵니다.
* 본 질문에 답변을 주시는 여러 개발자님들께 미리 감사드립니다.
-----------------------------------------------------------------------------------------------
10.1 Berlin Update2 으로 간단한 테스트를 하던중에 이상한점이 발견되어 질문드립니다.
IdHttp는 ssl 문제가 있어서, NetHTTPClient 를 사용하려 합니다.
NetHTTPClient 이벤트중 아래 이벤트만 사용하면 "안드로이드"에서 먹통이 됩니다.
procedure TForm1.NetHTTPClient1ReceiveData(const Sender: TObject;
AContentLength, AReadCount: Int64; var Abort: Boolean);
begin
end;
PC와 IOS에서는 정상적으로 동작하는데 안드로이드에서 실행하면, 먹통이 됩니다.
안드로이드 4.4와 6.0 모두 해보았지만 먹통입니다. (버튼을 누르면 아무동작안하고 이벤트가 먹통됩니다)
위 이벤트를 안쓰면 정상적으로 동작됩니다.
그런데 파일 다운로드 모듈이라,, 진행률을 알려주려면, 위 이벤트가 필요한데..
어떻게 해야할지 모르겠네요..
해결점이 있을까요?
혹시 CallInUIThread가 힌트가되지 않을까요?
http://blog.hjf.pe.kr/102
안드로이드 타겟인 경우 CallInUIThread은 자바UI가 쓰레드기반으로 동작해 자바 UI에서 동작하는 코드는
해당 메소드 안에서 동작해야 합니다.(10.2 도쿄에서는 CallInUIThread 없이 동작합니다.)
동기화 등으로 문제를 찾아보시기 바랍니다.
그리고, 기본 샘플 중 HttpDownload 샘플도 참고해보시기 바랍니다.
C:\Users\Public\Documents\Embarcadero\Studio\19.0\Samples\Object Pascal\RTL\HttpDownload