안녕하세요..
질문 먼저..
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.