Q&A

  • socket dll에서 dll을 호출한 프로그램으로 값을 전송할려면.
질문 그대로입니다.

TCP/IP socket 전송용 dll을 하나 만들었습니다. 그런데, 이것이 dll을 호출한 다음 socket으로 값을 전송하면, 아주 잘 값니다.



여기까지는 좋았는데, 서버에서 socket으로 들어온 값을 dll을 호출한 프로그램으로 전송할려고 하니 막막하더군요.



도대체 어찌해야 될까요. 도와주십쇼. 행님,...

3  COMMENTS
  • Profile
    최용일 2000.09.16 03:45
    안녕하세요. 델파이세상(http://www.freechal.com/delphiworld)의 최용일입니다.



    프로그램의 핸들을 저장했다가 그 핸들로 메세지를 보내는 방법이 좋을듯 하네요...



    ^^ 항상 즐코하세요.



    종상이 wrote:

    > 질문 그대로입니다.

    > TCP/IP socket 전송용 dll을 하나 만들었습니다. 그런데, 이것이 dll을 호출한 다음 socket으로 값을 전송하면, 아주 잘 값니다.

    >

    > 여기까지는 좋았는데, 서버에서 socket으로 들어온 값을 dll을 호출한 프로그램으로 전송할려고 하니 막막하더군요.

    >

    > 도대체 어찌해야 될까요. 도와주십쇼. 행님,...

  • Profile
    종상이 2000.09.16 00:11
    용일님에 답변에 감사드립니다.



    근데여, 조금만 더 자세히 알려주세요.

  • Profile
    최용일 2000.09.16 00:39
    헐~ 더이상 설명할게 없는데... 대강 아래와 같이 하시면 됩니다...



    DLL에서 Program으로

    var

    // 프로그램의 OnCreate이벤트같은곳에서 DLL함수를 호출해서 핸들을 설정하시구요...

    ProgramHandle: THandle;

    cosnt

    WM_MYMSG = WM_USER + $1000;

    procedure SendToProgram;

    begin

    ...

    SendMessage(ProgramHandle, WM_MYMSG, 0, 0);

    // lParam, wParam에 자료를 넣어서 보내두 되구요...

    end;



    Program에서...

    const

    WM_MYMSG = WM_USER + $1000;

    type

    TForm1 = class(TForm)

    ...

    protected

    procedure WmMyMsg(var AMsg: TMessage); message WM_MYMSG;

    end;



    procedure TForm1.WmMyMsg(var AMsg: TMessage);

    begin

    // 여기에서 원하는 처리를 하시면 됩니다.

    // DLL에서 lParam, wParam에다가 자료를 넣어보냈다면

    // AMsg.lParam, AMsg.wParam을 참조하시면 됩니다.

    end;



    종상이 wrote:

    > 용일님에 답변에 감사드립니다.

    >

    > 근데여, 조금만 더 자세히 알려주세요.