자유롭게 질의 및 응답을 할 수 있는 게시판입니다. 개발자 여러분의 답변이 큰 도움이 됩니다.
- 제품설치/등록 오류 문의: 설치/등록 Q&A 이용 (제품 구매 고객 한정)
Delphi 윈도우 Postmessage를 대신할 수 있는 안드로이드 기술은요?
2016.08.26 18:33
본 게시판 사용시 당부 사항
* 이 게시판은 자유롭게 질문을 올리고 자발적으로 답변을 공유하는 게시판입니다.
* 어느 누구도 답변을 달아야만 하는 책임은 없습니다.
* 따라서 질문을 올리실 때에는 최대한 자세하고 정중하게 질문을 올려 주세요.
* 최대한 질문을 자세히 올려야 답변도 자세히 올라 옵니다.
* 본 질문에 답변을 주시는 여러 개발자님들께 미리 감사드립니다.
-----------------------------------------------------------------------------------------------
소켓쓰레드에서 다른 폼에게 메세지를 보내야 합니다.
이럴려면 다른 폼의 핸들에다가 메세지를 보낼수 있어야 합니다.
윈도우에서는 Postmessage를 사용했는데, 안드로이드나 iOS에서는 어떻게 하는가요.
검색해서 찾아보니 소소를 받아서 해보았는데 컴파일이 되질 않습니다.
댓글 5
-
마일드몽키
2016.08.30 09:36
추천:1 댓글
-
화이부동
2016.09.01 07:46
먼저 감사드립니다.
자료를 읽어봤습니다.
일단 구현을 해보고 나서 결과를 알려드리겠습니다.
-
화이부동
2016.09.02 09:58
첨부파일 올렸습니다.
메인UI쓰레드에서만 이 TMessageManager를 실행할 수 있다고 하네요.
사용법은 참 편한데 첨부파일 보시면 메인UI에서 별개로 쓰레드 유닛을 만들었고,
이 쓰레드에 인디소켓을 사용하고 있습니다.
서버와 교신한 내용을 처리하는데 여기다가 이 TMessageManager를 선언하고 사용할려니 허락을 해주지 않네요.
-
마일드몽키
2016.09.05 13:03
지금 하시려는 의도가, ChatClientthread에서 수신된 데이터를 메인쓰레드로 넘기려고 하는 것 같은데요,
그럼, Thread.Queue를 사용하시면, 금방 문제가 해결될 것으로 보이네요.
"Thread.Queue : Asynchronously executes a method call within the main thread."
-
화이부동
2016.09.05 15:03
큐는 화상통신 만들때 사용한적이 있어서 익숙한 편인데요. 이번 일에는 적합치 않다고 판단되어서요.
안드로이드 메세지를 이용해서 처리했습니다.
도움주셔서 감사합니다.
Delphi 윈도우 Postmessage를 대신할 수 있는 안드로이드 기술은요?
2016.08.26 18:33
본 게시판 사용시 당부 사항
* 이 게시판은 자유롭게 질문을 올리고 자발적으로 답변을 공유하는 게시판입니다.
* 어느 누구도 답변을 달아야만 하는 책임은 없습니다.
* 따라서 질문을 올리실 때에는 최대한 자세하고 정중하게 질문을 올려 주세요.
* 최대한 질문을 자세히 올려야 답변도 자세히 올라 옵니다.
* 본 질문에 답변을 주시는 여러 개발자님들께 미리 감사드립니다.
-----------------------------------------------------------------------------------------------
소켓쓰레드에서 다른 폼에게 메세지를 보내야 합니다.
이럴려면 다른 폼의 핸들에다가 메세지를 보낼수 있어야 합니다.
윈도우에서는 Postmessage를 사용했는데, 안드로이드나 iOS에서는 어떻게 하는가요.
검색해서 찾아보니 소소를 받아서 해보았는데 컴파일이 되질 않습니다.
댓글 5
-
마일드몽키
2016.08.30 09:36
추천:1 댓글
-
화이부동
2016.09.01 07:46
먼저 감사드립니다.
자료를 읽어봤습니다.
일단 구현을 해보고 나서 결과를 알려드리겠습니다.
-
화이부동
2016.09.02 09:58
첨부파일 올렸습니다.
메인UI쓰레드에서만 이 TMessageManager를 실행할 수 있다고 하네요.
사용법은 참 편한데 첨부파일 보시면 메인UI에서 별개로 쓰레드 유닛을 만들었고,
이 쓰레드에 인디소켓을 사용하고 있습니다.
서버와 교신한 내용을 처리하는데 여기다가 이 TMessageManager를 선언하고 사용할려니 허락을 해주지 않네요.
-
마일드몽키
2016.09.05 13:03
지금 하시려는 의도가, ChatClientthread에서 수신된 데이터를 메인쓰레드로 넘기려고 하는 것 같은데요,
그럼, Thread.Queue를 사용하시면, 금방 문제가 해결될 것으로 보이네요.
"Thread.Queue : Asynchronously executes a method call within the main thread."
-
화이부동
2016.09.05 15:03
큐는 화상통신 만들때 사용한적이 있어서 익숙한 편인데요. 이번 일에는 적합치 않다고 판단되어서요.
안드로이드 메세지를 이용해서 처리했습니다.
도움주셔서 감사합니다.
System Library Help를 찾아보세요.
"Sending and Receiving Messages Using the RTL"
TMessageManager 클래스를 보시면 잘 나와있는 것 같습니다.
만약 비동기로 처리하려면, 별도의 쓰레드를 추가로 구현하여, 구독된 메시지를 처리해야하지 싶네요..
TThread.queue도 잘 살펴보아야 하겠지요..