Q&A

  • COM DLL객체의 인스턴스화..
안녕하세요..



질문 먼저..



Java로 만들 Library를 J++에서 COM DLL로 만들고 난후



델파이에서 쓰려고 하고 있습니다....만...



ClassFactory에서 지원되지 않스비다란 에러가 뜨는군요...



참고로...



생성된 DLL의 경우 듀얼 인터페이스가 아닌

Disp-Interface만을 지원합니다..



이러한 경우에, 델파이에서 사용 가능한지 알고 싶습니다.

참고로 사용하고 있는 델파이의 버젼은 4.0입니다.



---------------------------------------------------------------

unit MedBank_TLB;



// ************************************************************************ //

// WARNING //

// ------- //

// The types declared in this file were generated from data read from a //

// Type Library. If this type library is explicitly or indirectly (via //

// another type library referring to this type library) re-imported, or the //

// 'Refresh' command of the Type Library Editor activated while editing the //

// Type Library, the contents of this file will be regenerated and all //

// manual modifications will be lost. //

// ************************************************************************ //



// PASTLWTR : $Revision: 1.11.1.62 $

// File generated on 2000-10-05 오전 10:38:04 from Type Library described below.



// ************************************************************************ //

// Type Lib: D:Pubclient.dll

// IIDLCID: {2388EA1E-6F46-4096-8CED-5D84D128FCC1}

// Helpfile:

// HelpString: MedBank ClientModule

// Version: 1.0

// ************************************************************************ //



interface



uses Windows, ActiveX, Classes, Graphics, OleCtrls, StdVCL;



// *********************************************************************//

// GUIDS declared in the TypeLibrary. Following prefixes are used: //

// Type Libraries : LIBID_xxxx //

// CoClasses : CLASS_xxxx //

// DISPInterfaces : DIID_xxxx //

// Non-DISP interfaces: IID_xxxx //

// *********************************************************************//

const

LIBID_MedBank: TGUID = '{2388EA1E-6F46-4096-8CED-5D84D128FCC1}';

DIID_ClientModule_Dispatch: TGUID = '{F2EF3CD3-99F2-11D4-B1D0-0050DA935ADF}';

CLASS_ClientModule: TGUID = '{C48D724F-4A14-41DD-B5AC-27AA7B5FF015}';

type



// *********************************************************************//

// Forward declaration of interfaces defined in Type Library //

// *********************************************************************//

ClientModule_Dispatch = dispinterface;



// *********************************************************************//

// Declaration of CoClasses defined in Type Library //

// (NOTE: Here we map each CoClass to its Default Interface) //

// *********************************************************************//

ClientModule = ClientModule_Dispatch;





// *********************************************************************//

// DispIntf: ClientModule_Dispatch

// Flags: (4096) Dispatchable

// GUID: {F2EF3CD3-99F2-11D4-B1D0-0050DA935ADF}

// *********************************************************************//

ClientModule_Dispatch = dispinterface

['{F2EF3CD3-99F2-11D4-B1D0-0050DA935ADF}']

function send(const _B8C5B0B3BAAFBCF60: WideString; const _B8C5B0B3BAAFBCF61: WideString;

const _B8C5B0B3BAAFBCF62: WideString): WideString; dispid 100;

function wait(var _B8C5B0B3BAAFBCF60: OleVariant; var _B8C5B0B3BAAFBCF61: OleVariant): OleVariant; dispid 101;

function KSC5601ToUS8859(const _B8C5B0B3BAAFBCF60: WideString): WideString; dispid 102;

function searchPost(const _B8C5B0B3BAAFBCF60: WideString): WideString; dispid 103;

function searchUser(const _B8C5B0B3BAAFBCF60: WideString): WideString; dispid 104;

function login(const _B8C5B0B3BAAFBCF60: WideString; const _B8C5B0B3BAAFBCF61: WideString;

const _B8C5B0B3BAAFBCF62: WideString): Integer; dispid 105;

function hashCode: Integer; dispid 106;

function keepAlive(const _B8C5B0B3BAAFBCF60: WideString; const _B8C5B0B3BAAFBCF61: WideString): Integer; dispid 107;

function US8859ToKSC5601(const _B8C5B0B3BAAFBCF60: WideString): WideString; dispid 108;

function getProfile(const _B8C5B0B3BAAFBCF60: WideString): WideString; dispid 109;

function toString: WideString; dispid 110;

function equals(const _B8C5B0B3BAAFBCF60: IDispatch): WordBool; dispid 111;

function receive(const _B8C5B0B3BAAFBCF60: WideString; const _B8C5B0B3BAAFBCF61: WideString): WideString; dispid 112;

function register(const _B8C5B0B3BAAFBCF60: WideString): Integer; dispid 113;

function logout(const _B8C5B0B3BAAFBCF60: WideString): Integer; dispid 114;

procedure notify; dispid 115;

function getStatus(const _B8C5B0B3BAAFBCF60: WideString): Integer; dispid 116;

function getClass: IDispatch; dispid 117;

procedure notifyAll; dispid 118;

function undoSend(const _B8C5B0B3BAAFBCF60: WideString; const _B8C5B0B3BAAFBCF61: WideString): Integer; dispid 119;

function refreshProfile(const _B8C5B0B3BAAFBCF60: WideString): Integer; dispid 120;

end;



CoClientModule = class

class function Create: ClientModule_Dispatch;

class function CreateRemote(const MachineName: string): ClientModule_Dispatch;

end;



implementation



uses ComObj;



class function CoClientModule.Create: ClientModule_Dispatch;

begin

Result := CreateComObject(CLASS_ClientModule) as ClientModule_Dispatch;

end;



class function CoClientModule.CreateRemote(const MachineName: string): ClientModule_Dispatch;

begin

Result := CreateRemoteComObject(MachineName, CLASS_ClientModule) as ClientModule_Dispatch;

end;



end.

0  COMMENTS