Extract the files by restoring the folder structure. This zip file consists of 3 main folders: 1.Intf\ - contains the client and server code for the hand-coded callback interface manager implementation 2.Cp\ - contains the client and server code for the connection points implementation 3.CpDisp\ - contains an enhanced version of the server connection points implementation that allows a Visual Basic 5 client to connect to it using IDispatch binding. Also, I have included the code for a VB5 version of the chat client. Notes: There is a bug in the earlier version of Delphi 3 where a Delphi COM server does not run properly when automation objects are registered as ciInternal. ChatChannel is registered as ciInternal for all ChatServer versions so if you have not applied any patches to your copy of Delphi 3, a workaround is to go into ChatChannel.pas and change the line: TAutoObjectFactory.Create(ComServer, TChatChannel, Class_ChatChannel, ciInternal); to TAutoObjectFactory.Create(ComServer, TChatChannel, Class_ChatChannel, ciMultiInstance); Also, there is another bug in the earlier version of Delphi 3 that would cause the TConnectionPoint class to return the same Cookie (Connection Id) for all clients. In this case, only 1 client will seem to properly broadcast chat messages no matter how many clients are connected. In order to fix this problem, you must apply the latest Delphi 3 patches.