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
[15503] WMCopyData로 데이터를 전송하면 5글자까지만 나옵니다.
첫눈 [hadugo] 3825 읽음    2015-04-24 16:06
================================= 전송부 ============================
var
  copyDataStruct: TCopyDataStruct;
  sendString : String;
begin
  sendString := '1234567890';

  copyDataStruct.dwData := 0;
  copyDataStruct.cbData := Length(sendString) + 1;
  copyDataStruct.lpData := PChar(sendString);

  RemoteHWND := FindWindow('TForm1','TestWin');
  SendMessage(RemoteHWND, WM_COPYDATA, Application.Handle, Integer(@copyDataStruct)) ;
end;


================================= 수신부 ============================
private
    procedure WMCopyData(var Msg: TMessage); message WM_COPYDATA;

....

procedure TForm1.WMCopyData(var Msg: TMessage);
var
  copyDataStruct : PCopyDataStruct;
  dwData : Integer;
  DataLength : Integer;
  getData : String;
begin
  copyDataStruct := Pointer(Msg.LParam);
  dwData  := copyDataStruct.dwData;
  DataLength := copyDataStruct.cbData;
  getData := PChar(copyDataStruct.lpData);
  ShowMessage(getData);  <============= 여기서 '1234567890'이 아닌 '12345'까지만 나옵니다.
end;


보낼때는 '1234567890'이라고 보냈는데 받을때는 '12345'까지만 받고 가끔씩 데이터의 뒷부분이 이상한 글자로 나올때도 있습니다.

어디가 잘못된건가요?

설마 OS가 Win7 64Bit라 그런건 아니겠죠?

+ -

관련 글 리스트
15503 WMCopyData로 데이터를 전송하면 5글자까지만 나옵니다. 첫눈 3825 2015/04/24
15504     Re:자답과 추가 다른 질문 첫눈 2547 2015/04/24
15506         Re:Re:자답과 추가 다른 질문 civilian 2517 2015/04/24
15505         Re:Re:자답과 추가 다른 질문 정영훈 2625 2015/04/24
15507             Re:Re:Re:두분의 친절한 답변 감사합니다. 첫눈 2429 2015/04/25
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.