안녕하세요.
초보개발자 입니다.
해결이 안나서 재질문 드리게 되었습니다.
델파이에서 dll파일을 작성하였습니다.
이 dll은 폼을 가지고 있습니다.
c++에서 폼을 만들고 이 폼에는 panel과 버튼이 있습니다.
버튼을 클릭시 dll폼이 panel에 나타나게 하고자 합니다.
그냥 폼을 호출할땐 잘 되지만 parent / parentwindow를 넣으면
Access violation 에러가 떨어집니다.
dll소스 (델파이)
procedure Ftpshow2(pParent:TComponent); stdcall;
begin
frmFMS_S_1120 := TfrmFMS_S_1120.Create(nil);
frmFMS_S_1120.Parent := pParent; //에러발생부분
frmFMS_S_1120.ShowModal;
end;
exports //밖에 내보내다
Ftpshow2;
c++빌더 소스
HINSTANCE hDll = Null;
hDll = LoadLibraryA("nb21_ftp.dll");
if (hDll)
{
typedef void (__stdcall *TFtpshow)(TComponent *);
TFtpshow ftpshow;
ftpshow = (TFtpshow)GetProcAddress(hDll, "Ftpshow2");
ftpshow(this->Panel1);
FreeLibrary(hDll);
}
입니다.
어느곳을 잘못하고 있는 것일까요?
======================================
handle 을 넘겨줘야 하는 거였군요..
클래스를 넘기려고 하다 보니 에러가 발생하고 작동이 안되었습니다.
|