안녕 하세요? 하나 물어 볼게 있어서 이렇게 글을 올립니다?
* DLL에서 버튼 클릭시 아래와 같이 DLL을 로드 했읍니다.
근데 DLL이 로드 된지 모르고 또 버튼을 클릭시 또 DLL이 로드되는데(DLL 메인폼이
두개가 되는데) 만약에 로드되어 있으면 이 DLL 메인폼을 Show할수 있는 방법좀
알으켜 주세요.
procedure TForm1.Button1Click(Sender: TObject);
begin
tmpLibHandle := LoadLibrary('Eta01.dll');
if tmpLibHandle = 0 then Exit;
try
if tmpLibHandle = HINSTANCE_ERROR then
raise EDLLLoadError.Create('DLL을 로드 할수 없습니다.');
@LoadChildWindow:= GetProcAddress(tmpLibHandle,'LoadChildWindow');
if @LoadChildWindow <> nil then
tmpWindowHandle:=LoadChildWindow(application.Handle,THandle(self),'Etao1.dll')
else
begin
FreeLibrary(tmpLibHandle);
Exit;
end;
except
Exit;
end;
end;