Irish Borland User Group (iBug) Meeting 6th May, 1999
-----------------------------------------------------

Files from Brian Long's talks:

CarsApp.dpr - Sample project showing a hierarchy of classes in use
CarsMainFormU.pas - main form unit, which constructs and uses objects from other unit
CarsClassU.pas - unit implementing hiearchy of three classes

CarsCompApp.dpr - Sample project showing a hierarchy of classes in use
CarsCompsMainFormU.pas - main form unit
CarsComponentU.pas - unit implementing hiearchy of three component classes, used on the form

InterfaceTest.dpr - Sample project that attempts to use interfaces in a non-COM scenario
InterfaceTestMainFormU.pas - main form unit
InterfaceTestIntfU.pas - unit defining a pair of interfaces
InterfaceTestImplU.pas - unit defining some classes that implement the interfaces in the previous unit

Server.dpr - Application acting as a COM server. To register, either run it, then close it, or alternatively run it with the /regserver command-line switch (/unregserver unregisters it)
ServerFormU.pas - main form unit - does nothing
ServerClassU.pas - class implementing the COM interface defined in the following unit. Class is automatically typed in by the type library editor (View | Type Library)
Server_TLB.pas - Pascal version of the COM server's type library. Generated by the type library editor. One point is that since this is a server implementing a COM object (rather than an Automation object) it is a requirement to check the OLE Automation checkbox in the type library editor, when the interface is selected, to ensure the COM marshaling works for standard Automation types like TDateTime

Client.dpr - Application acting as a simple COM client
ClientFormU.pas - main form unit - calls simple utility class to get a reference to the server's interface