program Publisher;
uses
Forms,
PublisherForm in 'PublisherForm.pas' ,
MdComEvents_TLB in 'MdComEvents_TLB.pas';
begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.Run;
end.
|
unit PublisherForm;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, MdComEvents_TLB;
type
TForm1 = class(TForm)
Button1: TButton;
Edit1: TEdit;
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
Inform: IMdInform;
public
end;
var
Form1: TForm1;
implementation
procedure TForm1.Button1Click(Sender: TObject);
begin
Inform.Informs (20, Edit1.Text);
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
Inform := CoMdInform.Create;
end;
end.
|
unit MdComEvents_TLB;
interface
uses ActiveX, Classes, Graphics, StdVcl, Variants, Windows;
const
MdComEventsMajorVersion = 1;
MdComEventsMinorVersion = 0;
LIBID_MdComEvents: TGUID = '{F4A80A55-914B-49EF-93B1-B42EE5E37711}';
IID_IMdInform: TGUID = '{202D2CC8-8E6C-4E96-9C14-1FAAE3920ECC}';
CLASS_MdInform: TGUID = '{0C7A44A5-CC67-4B97-9051-BFE92328EB6B}';
type
IMdInform = interface;
IMdInformDisp = dispinterface;
MdInform = IMdInform;
IMdInform = interface(IDispatch)
['{202D2CC8-8E6C-4E96-9C14-1FAAE3920ECC}']
procedure Informs(Code: Integer; const Message: WideString); safecall;
end;
IMdInformDisp = dispinterface
['{202D2CC8-8E6C-4E96-9C14-1FAAE3920ECC}']
procedure Informs(Code: Integer; const Message: WideString); dispid 1;
end;
CoMdInform = class
class function Create: IMdInform;
class function CreateRemote(const MachineName: string): IMdInform;
end;
implementation
uses ComObj;
class function CoMdInform.Create: IMdInform;
begin
Result := CreateComObject(CLASS_MdInform) as IMdInform;
end;
class function CoMdInform.CreateRemote(const MachineName: string): IMdInform;
begin
Result := CreateRemoteComObject(MachineName, CLASS_MdInform) as IMdInform;
end;
end.
|