델파이 문법두 모르는 넘이 지금 무지하게 헤메고 있습니다...
C로 만든 DLL의 함수를 호출 하는데 델파이 프로그램 쪽에서
윈도우 핸들(HWND)을 넘겨줘야 함니다....
대충 다른 소스들을 보구 도움말을 찾아 보니 델파이 프로그램에서
Handle 이라는 프로퍼티가 있어서 이걸 인자로 C 함수를 호출해서
이게 윈도우가 맞는지 확인해보니 자꾸 아니라구 하네여...
DLL 쪽에서 델파이 프로그램 쪽으로 메시지를 보내야 하기 때문에
이 핸들이 꼭 필요한데...어케 하는지를 모르겠습니다.
델파이 프로그램에서는 OnCreate 이벤트 핸들러에서 C 함수를 호출 했구여
아래와 같이 했는데...보시구 답변 좀 부탁드리겠습니다.....(꾸우벅)
// 요건 함수 선언 부분 임다.....
function SetWnd(wndMain:Windows.HWND):integer; far; external 'TestDll.dll'
// OnCreate 이벤트 핸들러 임다....
procedure TForm1.FormCreate(Sender: TObject);
var
MainWnd:Windows.HWND;
begin
MainWnd := Handle;
SetWnd(MainWnd); // 이게 DLL에 있는 함수 임당
end;
님께서 요구하시는 윈도우핸들은 Handle: HWnd로 TWinControl에 선언되어 있는게 맞구요..... 실제로 윈도우핸들이 맞습니다. 만약 확인을 하시고 싶다면 VS의 Spy++같은 것을 이용해보시면 아실 수 있겠죠... 즐코하세여..