Q&A

  • DLL 폼관련.. 꼭 답변 부탁드립니다..
DLL을 사용해서 프로그램을 만들고 있는데

문제가 생겨 질문을 드립니다...



문제가 뭐냐면..

AForm : MDIFORM (메인폼입니다)



CFORM : DLL을 사용해서 폼을 만듬



프로그램을 실행시키고 DLL을 사용해서 만든 폼을 호출하여 화면에 띄우는

거 까지는 되는데.. 문제는,,,

DLL폼이 화면에 활성화되어 있는 상태에서 메임폼을 닫아버리면 에러나 뜹니다.









function Showsisulselectform: pchar; stdcall;



var

Frm_sisulselect: TFrm_sisulselect;



implementation



{$R *.DFM}

//폼이 한번만 나타나도록...

function Showsisulselectform: pchar;

begin

If Frm_sisulselect = nil then

begin

Frm_sisulselect := TFrm_sisulselect.Create(Application);

try

Frm_sisulselect.Show;

finally

end;



end else begin

Frm_sisulselect.Show;

end;

.

.

.

//FormClose...

procedure TFrm_sisulselect.FormClose(Sender: TObject;

var Action: TCloseAction);

begin

Frm_sisulselect := nil;

action := cafree;

end;



<메인폼의 코딩 내용>



//DLL 폼을 부른다.

function Showsisulselectform : PChar; stdcall;

external 'sisulselectDLL.dll';



//클릭 했을때 DLL폼이 뜬다.

procedure TFrm_main.N_NewUpClick(Sender: TObject);

begin

Showsisulselectform;

end;



메인폼이 닫길때 DLL폼을 메모리에서 해제시켜주는 방법

말고 다른 방법 아시는분 꼭 답변 부탁드립니다..

0  COMMENTS