Delphi Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
델파이 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
FreePascal/Lazarus
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
델마당
볼랜드포럼 광고 모집

델파이 Q&A
Delphi Programming Q&A
[14866] Re:Autoit과 Delphi간의 메세지를 주고 받는데 데이터가 깨져서 들어옵니다.
kylix [] 2161 읽음    2013-11-26 17:04
AutoIt(?)과 델파이의 문자셋(character set)을 확인해보시고 두개를 같이 맞춰주세요.

UTF-8로 보냈는데 Ansi로 읽거나 하면 당연히 그런 현상이 생깁니다.

하두고 님이 쓰신 글 :
: AutoIt은 스크립트언어로 http://AutoitScript.com 에서 무료로 제공되고 있습니다.
:
: AuotIt에서 메세지를 전송하고 델파이에서 이 메세지를 받으려 하는데요.
:
: 아래는 메세지를 전송하는 AutoIt 소스코드입니다.
:
: ;================================================================
: #include <SendMessage.au3>
: Global Const $StructDef_COPYDATA = "dword var1;dword var2;ptr var3"
: Global Const $WM_COPYDATA = 0x4A
:
:
: $TextToSend = "SendMessage"
: $CDString = DllStructCreate("char var1[255]")
:
: DllStructSetData($CDString,1,$TextToSend)
: $pCDString = DllStructGetPtr($CDString)
:
: $vs_cds = DllStructCreate($StructDef_COPYDATA)
: DllStructSetData($vs_cds, "var1", 0)
: DllStructSetData($vs_cds, "var2", StringLen($TextToSend) + 1)
: DllStructSetData($vs_cds, "var3", $pCDString)
: $pStruct = DllStructGetPtr($vs_cds)
: _SendMessage(WinGetHandle("Server"), $WM_COPYDATA, 0, $pStruct)
:
: $vs_cds = 0
: $CDString = 0
: ;=================================================================
:
:
: 다음은 메세지를 수신하는 델파이 소스코드입니다.
:
: //=================================================================
:   private
:     { Private declarations }
:     procedure WMCopyData(var Msg: TWMCopyData); message WM_COPYDATA;
: ...
: ...
: ...
: procedure TForm1.WMCopyData(var Msg: TWMCopyData);
: var
:   sText: array[0..255] of Char;
:
: begin
:   case Msg.CopyDataStruct.dwData of
:     0: //we are being sent a string
:       begin
:         StrLCopy(sText, Msg.CopyDataStruct.lpData, Msg.CopyDataStruct.cbData);
:         Edit1.Text := sText;
:       end;
:
:   end;
: end;
: //=====================================================================
:
:
: 이 소스코드를 실행하면 델파이의 폼에 있는 Edit1에 전송된 데이터가
:
: SendMessage
:
: 이렇게 나와야 하는데
:
: 潓敭桴湩⁧潦⁲獵琠桳畯⁴扡畯ⅴ
:
: 이렇게 깨져서 보입니다.
:
: 어디를 어떻게 고쳐야 할지 모르겠습니다.
:
: 도움 부탁드립니다.

+ -

관련 글 리스트
14865 Autoit과 Delphi간의 메세지를 주고 받는데 데이터가 깨져서 들어옵니다. 하두고 2213 2013/11/26
14866     Re:Autoit과 Delphi간의 메세지를 주고 받는데 데이터가 깨져서 들어옵니다. kylix 2161 2013/11/26
14869         Re:Re:Autoit과 Delphi간의 메세지를 주고 받는데 데이터가 깨져서 들어옵니다. 하두고 2084 2013/11/27
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.