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;