MDI parent에서 특정 버튼을 눌러서 DLL로 만든 MDI Child를 실행시켰습니다. 그런데...버튼을 또 누르면 또 다시 MDI Child가 생성되네여... Dll로 하기 전에는 FindComponent를 이용해서 해당 폼이 있으면 BringToFront하면 됐는데... D...
지나가는사람
•
2001.10.19 22:58
var
GetDiskInfo:TGetDiskInfo;
begin
if SysLibHandle 0 then Exit; // SysLibHandle은 폼생성...
지나는이
•
2001.10.19 09:22
용이 wrote:
> MDI parent에서 특정 버튼을 눌러서 DLL로 만든 MDI Child를 실행시켰습니다.
> 그런데......
정성훈
•
2001.10.19 22:12
지나는이 wrote:
> 용이 wrote:
> > MDI parent에서 특정 버튼을 눌러서 DLL로 만든 MDI Child를 실행시...
GetDiskInfo:TGetDiskInfo;
begin
if SysLibHandle <> 0 then Exit; // SysLibHandle은 폼생성시 초기화
StrPCopy(DLLName,Dir+'DLLSystemInfo.Dll'); //로드할 DLL화일이름
//사용할 Dll을 메모리에 적재한다.
try
SysLibHandle:=LoadLibrary(DLLName); //DLL을 로드한다.
if SysLibHandle = HINSTANCE_ERROR then //에러가 발생한면
raise EDLLLoadError.Create('"SystemInfo.DLL"을 열수가 없습니다.');
@GetDiskInfo:=GetProcAddress(SysLibHandle,'GetDiskInfo'); //GetDiskInfo함수의 메모리번지를 구한다.
if @GetDiskInfo <> nil then GetDiskInfo(true)
else
raise EDLLLoadError.Create('"SystemInfo.DLL"을 볼수 없습니다. 에러:'+IntToStr(GetLastError));
finally
FreeLibrary(SysLibHandle); //DLL을 해제한다.
end;
SysLibHandle:=0;
용이 wrote:
> MDI parent에서 특정 버튼을 눌러서 DLL로 만든 MDI Child를 실행시켰습니다.
> 그런데...버튼을 또 누르면 또 다시 MDI Child가 생성되네여...
> Dll로 하기 전에는
> FindComponent를 이용해서 해당 폼이 있으면 BringToFront하면 됐는데...
> Dll로 하니 안되네여?
> Cjild 폼이 있으면 그 폼을 맨 앞에 보여주고 아니면 생성할려고 합니다.
> 어찌 해결해야 하는지여?
>
>