做DCOM很容易的/
第一步:新建一个 ActiveX Library 在ActiveX 中 保存为Zmsmq
第二步:新建一个 Type Library 新建接口iqueue(前面一定要加i) 再建一个类MSMQ,在接口中定义方法,然后定义参数 ,可以定义很多方法和参数,这根据你的需要(注:定义的类一定要应用上面你定义的接口)
第三步:新建一个 Unit 引用Zmsmq_TLB单元
下面是我Unit的筐架 (Zmsmq_TLB)
unit Unit1;
interface
uses
ComObj, ActiveX, AxCtrls, Classes, Zmsmq_TLB, StdVcl,dialogs,windows,unit2,Grids;
Type
TMSMQ = class(TAutoObject, IConnectionPointContainer, iQueue) (iqueue就是你干才定义的接口,TMSMQ就是上步定义的类)
private
{ Private declarations }
FConnectionPoints: TConnectionPoints;
FConnectionPoint: TConnectionPoint;
public
protected
{ Protected declarations }
property ConnectionPoints: TConnectionPoints read FConnectionPoints
implements IConnectionPointContainer;
///////////////////////////////////////
//这里你可以拷Tmsmq_TLB中 Interface1 = interface(IDispatch)
下面的函数申明
function IncQueue(const Name: WideString;
const Password: WideString): WideString;
safecall;
end;
var
implementation
function TMSMQ.IncQueue(const Name: WideString;
const Password: WideString): WideString;
begin
end;
initialization
TAutoObjectFactory.Create(ComServer, TMSMQ, Class_MSMQ, //这里也要写上/
ciMultiInstance, tmApartment);
end.
大致的框架就这些啦/
上面的MSMQ是我定义的类 iqueue是接口,你可以参照
做完以后在导入到组件管理器中/
这样一个DCOM就完成啦/
我说的不是很清楚/
你自己摸索摸索/
不怎么难/
祝你好运/