我的com+组件怎么调用不了?(100分)

  • 主题发起人 主题发起人 mj_hc
  • 开始时间 开始时间
M

mj_hc

Unregistered / Unconfirmed
GUEST, unregistred user!
只注册不安装com+包时本机调用正常(当然别的机子不能调用),但install com+ 包后
本地都调用不了了,长时间的没反应,什么原因呢?还要做什么工作么?还需要什么dll?
或者还需要注册什么dll?
 

Creating and Installing COM+ Events
Creating a COM+ Event
To Create and install a COM+ Event first create a new ActiveX Library.
Next create a COM+ Event object.
Add to the COM+ Event Object interface the methods along with parameters that will be passed to the subscriber.
Save the project and compile it.
NOTE:do
not implement the methods for the generated object.
Installing a COM+ Event
Create a new COM+ Application in Component Services. You get to Component Services by going to Start, Settings, Control Panel, Administrative Tools, Component Services.
To create the application, in the tree view on the left go to Computers, My Computer, COM+ Applications.

Right click on COM+ Applications choose New, Application. Click Next, and Create an empty application.

Give the application a name. I suggest using all the defaults.

Now that you have the COM+ application created add the event. Expand the application and select Components. Right click on Components and choose New, Component.

Click Next and Choose Install new event class(es). Browse for the DLL that contains your COM+ Event Object and click Next and Finish.

The COM+ Event Object will now be visible in the Component Services.

Creating and Installing COM+ Subscriptions
Creating a COM+ Subscription
To Create and install a COM+ Subscription first create a new ActiveX Library.
Next create a COM Object and browse for the interface created for the COM+ Event.
Implement the generated methods that this object will subscribe to.
Save the project and compile it.
Subscribing to a COM+ Event
Expand the application and select Components. Right click on Components and choose New, Component.
Click Next and Choose Install new component(s).

Browse for the DLL that contains your COM Subscription Object and click Next and Finish.

Click on Subscriptions under the COM Subscription Object and right click and choose New, Subscription.

All COM+ Events will be shown in the dialog, choose the methods or entire object you want to subscribe to and click Next.

Now choose the COM+ Event object you are going to subscribe to and click Next.

Enter a Subscription name, click Enable this subscription immediately, and click Next.

The COM+ Subscription will now be visible in the Component Services.


Creating COM+ Publishers
To trigger the COM+ Event, in your application Choose Project, Import Type Library.
Add the added file to your uses clause or includes.
Create an instance of the COM+ Event Object’s interface and assign the object created by the constructor of the Co class to it, and to trigger the event call the method. COM+ will look up the subscriptions for you. So for example:
procedure TMainForm.Timer1Timer(Sender: TObject);
var
Event: IClockEvent;
Hour, Minute, Second: Integer;
begin
Event := CoClockEvent.Create;
Hour := StrToInt(FormatDateTime('h', Now()));
Minute := StrToInt(FormatDateTime('n', Now()));
Second := StrToInt(FormatDateTime('s', Now()));
TimeLabel.Caption := IntToStr(Hour) + ':' +
IntToStr(Minute) + ':' +
IntToStr(Second);
Event.HourChange(Hour);
Event.MinuteChange(Minute);
Event.SecondChange(Second);
end;
 
怪事
怎么让中间层的ADOCONNECTION为true就不动了?如果不让它为true,调用里面的其他方法没事
 
最好用windows2000的组件服务对COM+进行注册
 
还要对该COM+的角色进行定义和权限分配.
 
还需要copy或者注册什么dll文件么(我只是注册了system32/madis.dll)?
 
多人接受答案了。
 
后退
顶部