Form이 있는 DLL을 만든후
Compile할때 Options에서 Runtime Package로 Compile했습니다.
위와 같이 한 후 Loadlibrary('sample.dll') 하면
Load되지 않는 데 이유가 무었인지 아시는 분 부탁합니다.
Dll Sample
library SOK1000;
uses
SysUtils,
Classes,
SOK1010_UNIT in 'SOK1010_UNIT.pas' {SOK1010};
begin
end.
--------- Form pas -----------
unit SOK1010_UNIT;
interface
uses
........
type
TSOK1010 = class(TForm)
..................
end;
var
SOK1010: TSOK1010;
function F_LOADFORM_SOK1010(P_Param : Tiniparam) : integer;
exports
F_LOADFORM_SOK1010;
implementation
{$R *.DFM}
function F_LOADFORM_SOK1010(P_Param : Tiniparam) : integer;
begin
SOK1010 := TSOK1010.Create(application);
SOK1010.ShowModal;
RESULT := SOK1010.Handle;
end;
먼저 DLL의 경로가 제대로 됐는가를 살펴보시구요...
GetLastError함수를 써서 왜 로드가 안됐는가 확인하세요...
이재호 wrote:
> Form이 있는 DLL을 만든후
> Compile할때 Options에서 Runtime Package로 Compile했습니다.
>
> 위와 같이 한 후 Loadlibrary('sample.dll') 하면
> Load되지 않는 데 이유가 무었인지 아시는 분 부탁합니다.
>
>
> Dll Sample
>
> library SOK1000;
>
> uses
> SysUtils,
> Classes,
> SOK1010_UNIT in 'SOK1010_UNIT.pas' {SOK1010};
>
> begin
>
> end.
>
>
>
> --------- Form pas -----------
> unit SOK1010_UNIT;
>
> interface
>
> uses
> ........
> type
> TSOK1010 = class(TForm)
> ..................
> end;
>
> var
> SOK1010: TSOK1010;
> function F_LOADFORM_SOK1010(P_Param : Tiniparam) : integer;
> exports
> F_LOADFORM_SOK1010;
>
> implementation
>
>
> {$R *.DFM}
>
> function F_LOADFORM_SOK1010(P_Param : Tiniparam) : integer;
> begin
> SOK1010 := TSOK1010.Create(application);
> SOK1010.ShowModal;
> RESULT := SOK1010.Handle;
> end;
>
>