제가 만든 DLL을 사용하려고 하면 coinitialize를 호출할수 없습니다. 라는 에러메시지가 나옵니다...
아래의 소스는 DLL 관련된 부분만을 적어 놓은것입니다.
어떤 폼을 가진 DLL을 만들어서 사용하는 것인데요
소스에 문제가 있는건지 ... 잘 모르겠어요
도와주세요
library thirddll;
uses
SysUtils,
Classes,
third in 'third.pas' {Form1};
exports
fmJuminValid index 1;
begin
end.
-------------
var
Form1: TForm1;
procedure fmJuminValid; stdcall;
implementation
procedure fmJuminValid;
var
Form1 : TForm1;
begin
Form1 := TForm1.Create(Application);
Form1.ShowModal;
Form1.Free;
end;
-------------
implementation
procedure fmJuminValid; stdcall; external 'thirddll.dll';
{$R *.DFM}
procedure TForm1.Button1Click(Sender: TObject);
begin
fmJuminValid;
end;
소스에는 별 문제가 없는 것 같은데요... 혹시 폼에서 OLE를 사용하지 않으셨는지...
내용은 OLE관련에러인데.. 혹시 예외가 EOLESysError 아닌가요? OLE초기화를 안해주어
서 생기는 에러 같은데요... CoInitialize함수를 써서 초기화를 해주세요.
^^ 항상 즐코하세요.
이병웅 wrote:
> 제가 만든 DLL을 사용하려고 하면 coinitialize를 호출할수 없습니다. 라는 에러메시지가 나옵니다...
> 아래의 소스는 DLL 관련된 부분만을 적어 놓은것입니다.
> 어떤 폼을 가진 DLL을 만들어서 사용하는 것인데요
> 소스에 문제가 있는건지 ... 잘 모르겠어요
> 도와주세요
>
>
> library thirddll;
> uses
> SysUtils,
> Classes,
> third in 'third.pas' {Form1};
>
> exports
> fmJuminValid index 1;
>
> begin
> end.
>
>
> -----
> var
> Form1: TForm1;
>
> procedure fmJuminValid; stdcall;
>
> implementation
>
>
>
> procedure fmJuminValid;
> var
> Form1 : TForm1;
> begin
> Form1 := TForm1.Create(Application);
> Form1.ShowModal;
> Form1.Free;
> end;
>
>
>
> -------
> implementation
> procedure fmJuminValid; stdcall; external 'thirddll.dll';
> {$R *.DFM}
>
> procedure TForm1.Button1Click(Sender: TObject);
> begin
> fmJuminValid;
> end;
>
>
>
>
>