unit OutlookXP;

// ************************************************************************ //
// WARNING                                                                    
// -------                                                                    
// The types declared in this file were generated from data read from a       
// Type Library. If this type library is explicitly or indirectly (via        
// another type library referring to this type library) re-imported, or the   
// 'Refresh' command of the Type Library Editor activated while editing the   
// Type Library, the contents of this file will be regenerated and all        
// manual modifications will be lost.                                         
// ************************************************************************ //

// PASTLWTR : 1.2
// File generated on 6/19/2002 4:58:17 PM from Type Library described below.

// ************************************************************************  //
// Type Lib: h:\typelib\typelib\typelibraries\OfficeXP\msoutl.olb (1)
// LIBID: {00062FFF-0000-0000-C000-000000000046}
// LCID: 0
// Helpfile: h:\typelib\typelib\typelibraries\OfficeXP\VBAOL10.CHM
// HelpString: Microsoft Outlook 10.0 Object Library
// DepndLst: 
//   (1) v2.0 stdole, (C:\WINNT\System32\stdole2.tlb)
//   (2) v2.2 Office, (C:\Program Files\Common Files\Microsoft Shared\Office10\MSO.DLL)
// Errors:
//   Hint: Symbol 'Application' renamed to 'OutlookApplication'
//   Hint: Member 'Class' of 'Action' changed to 'Class_'
//   Hint: Parameter 'Class' of Action.Class changed to 'Class_'
//   Hint: Member 'Class' of '_Application' changed to 'Class_'
//   Hint: Parameter 'Class' of _Application.Class changed to 'Class_'
//   Hint: Parameter 'Object' of _Application.CreateObject changed to 'Object_'
//   Hint: Parameter 'Type' of _Application.GetNamespace changed to 'Type_'
//   Hint: Member 'Class' of '_NameSpace' changed to 'Class_'
//   Hint: Parameter 'Class' of _NameSpace.Class changed to 'Class_'
//   Hint: Symbol 'Type' renamed to 'type_'
//   Hint: Parameter 'Type' of _NameSpace.Type changed to 'Type_'
//   Hint: Member 'Class' of 'Recipient' changed to 'Class_'
//   Hint: Parameter 'Class' of Recipient.Class changed to 'Class_'
//   Hint: Symbol 'Type' renamed to 'type_'
//   Hint: Parameter 'Type' of Recipient.Type changed to 'Type_'
//   Hint: Symbol 'Type' renamed to 'type_'
//   Hint: Parameter 'Type' of Recipient.Type changed to 'Type_'
//   Hint: Member 'Class' of 'AddressEntry' changed to 'Class_'
//   Hint: Parameter 'Class' of AddressEntry.Class changed to 'Class_'
//   Hint: Symbol 'Type' renamed to 'type_'
//   Hint: Parameter 'Type' of AddressEntry.Type changed to 'Type_'
//   Hint: Symbol 'Type' renamed to 'type_'
//   Hint: Parameter 'Type' of AddressEntry.Type changed to 'Type_'
//   Hint: Member 'Class' of 'AddressEntries' changed to 'Class_'
//   Hint: Parameter 'Class' of AddressEntries.Class changed to 'Class_'
//   Hint: Parameter 'Type' of AddressEntries.Add changed to 'Type_'
//   Hint: Parameter 'Property' of AddressEntries.Sort changed to 'Property_'
//   Hint: Member 'Class' of '_Folders' changed to 'Class_'
//   Hint: Parameter 'Class' of _Folders.Class changed to 'Class_'
//   Hint: Parameter 'Type' of _Folders.Add changed to 'Type_'
//   Hint: Member 'Class' of 'MAPIFolder' changed to 'Class_'
//   Hint: Parameter 'Class' of MAPIFolder.Class changed to 'Class_'
//   Hint: Member 'Class' of '_Items' changed to 'Class_'
//   Hint: Parameter 'Class' of _Items.Class changed to 'Class_'
//   Hint: Parameter 'Type' of _Items.Add changed to 'Type_'
//   Hint: Parameter 'Property' of _Items.Sort changed to 'Property_'
//   Hint: Member 'Class' of '_Explorer' changed to 'Class_'
//   Hint: Parameter 'Class' of _Explorer.Class changed to 'Class_'
//   Hint: Member 'Class' of 'Panes' changed to 'Class_'
//   Hint: Parameter 'Class' of Panes.Class changed to 'Class_'
//   Hint: Member 'Class' of 'Selection' changed to 'Class_'
//   Hint: Parameter 'Class' of Selection.Class changed to 'Class_'
//   Hint: Member 'Class' of 'View' changed to 'Class_'
//   Hint: Parameter 'Class' of View.Class changed to 'Class_'
//   Hint: Member 'Class' of '_Views' changed to 'Class_'
//   Hint: Parameter 'Class' of _Views.Class changed to 'Class_'
//   Hint: Member 'Class' of 'AddressLists' changed to 'Class_'
//   Hint: Parameter 'Class' of AddressLists.Class changed to 'Class_'
//   Hint: Member 'Class' of 'AddressList' changed to 'Class_'
//   Hint: Parameter 'Class' of AddressList.Class changed to 'Class_'
//   Hint: Member 'Class' of 'SyncObjects' changed to 'Class_'
//   Hint: Parameter 'Class' of SyncObjects.Class changed to 'Class_'
//   Hint: Member 'Class' of '_SyncObject' changed to 'Class_'
//   Hint: Parameter 'Class' of _SyncObject.Class changed to 'Class_'
//   Hint: Member 'Class' of '_Inspector' changed to 'Class_'
//   Hint: Parameter 'Class' of _Inspector.Class changed to 'Class_'
//   Hint: Member 'Class' of '_Explorers' changed to 'Class_'
//   Hint: Parameter 'Class' of _Explorers.Class changed to 'Class_'
//   Hint: Member 'Class' of '_Inspectors' changed to 'Class_'
//   Hint: Parameter 'Class' of _Inspectors.Class changed to 'Class_'
//   Hint: Member 'Class' of 'Search' changed to 'Class_'
//   Hint: Parameter 'Class' of Search.Class changed to 'Class_'
//   Hint: Member 'Class' of '_Results' changed to 'Class_'
//   Hint: Parameter 'Class' of _Results.Class changed to 'Class_'
//   Hint: Parameter 'Property' of _Results.Sort changed to 'Property_'
//   Hint: Member 'Class' of '_Reminders' changed to 'Class_'
//   Hint: Parameter 'Class' of _Reminders.Class changed to 'Class_'
//   Hint: Member 'Class' of '_Reminder' changed to 'Class_'
//   Hint: Parameter 'Class' of _Reminder.Class changed to 'Class_'
//   Hint: Member 'Class' of 'Actions' changed to 'Class_'
//   Hint: Parameter 'Class' of Actions.Class changed to 'Class_'
//   Hint: Member 'Class' of 'PropertyPages' changed to 'Class_'
//   Hint: Parameter 'Class' of PropertyPages.Class changed to 'Class_'
//   Hint: Member 'Class' of '_AppointmentItem' changed to 'Class_'
//   Hint: Parameter 'Class' of _AppointmentItem.Class changed to 'Class_'
//   Hint: Parameter 'Type' of _AppointmentItem.SaveAs changed to 'Type_'
//   Hint: Member 'End' of '_AppointmentItem' changed to 'End_'
//   Hint: Parameter 'End' of _AppointmentItem.End changed to 'End_'
//   Hint: Parameter 'End' of _AppointmentItem.End changed to 'End_'
//   Hint: Member 'Class' of 'Attachments' changed to 'Class_'
//   Hint: Parameter 'Class' of Attachments.Class changed to 'Class_'
//   Hint: Parameter 'Type' of Attachments.Add changed to 'Type_'
//   Hint: Member 'Class' of 'Attachment' changed to 'Class_'
//   Hint: Parameter 'Class' of Attachment.Class changed to 'Class_'
//   Hint: Symbol 'Type' renamed to 'type_'
//   Hint: Parameter 'Type' of Attachment.Type changed to 'Type_'
//   Hint: Member 'Class' of 'FormDescription' changed to 'Class_'
//   Hint: Parameter 'Class' of FormDescription.Class changed to 'Class_'
//   Hint: Member 'Class' of 'UserProperties' changed to 'Class_'
//   Hint: Parameter 'Class' of UserProperties.Class changed to 'Class_'
//   Hint: Parameter 'Type' of UserProperties.Add changed to 'Type_'
//   Hint: Member 'Class' of 'UserProperty' changed to 'Class_'
//   Hint: Parameter 'Class' of UserProperty.Class changed to 'Class_'
//   Hint: Symbol 'Type' renamed to 'type_'
//   Hint: Parameter 'Type' of UserProperty.Type changed to 'Type_'
//   Hint: Member 'Class' of 'Recipients' changed to 'Class_'
//   Hint: Parameter 'Class' of Recipients.Class changed to 'Class_'
//   Hint: Member 'Class' of '_MailItem' changed to 'Class_'
//   Hint: Parameter 'Class' of _MailItem.Class changed to 'Class_'
//   Hint: Parameter 'Type' of _MailItem.SaveAs changed to 'Type_'
//   Hint: Member 'To' of '_MailItem' changed to 'To_'
//   Hint: Parameter 'To' of _MailItem.To changed to 'To_'
//   Hint: Parameter 'To' of _MailItem.To changed to 'To_'
//   Hint: Member 'Class' of 'Links' changed to 'Class_'
//   Hint: Parameter 'Class' of Links.Class changed to 'Class_'
//   Hint: Member 'Class' of 'Link' changed to 'Class_'
//   Hint: Parameter 'Class' of Link.Class changed to 'Class_'
//   Hint: Symbol 'Type' renamed to 'type_'
//   Hint: Parameter 'Type' of Link.Type changed to 'Type_'
//   Hint: Member 'Class' of 'ItemProperties' changed to 'Class_'
//   Hint: Parameter 'Class' of ItemProperties.Class changed to 'Class_'
//   Hint: Parameter 'Type' of ItemProperties.Add changed to 'Type_'
//   Hint: Member 'Class' of 'ItemProperty' changed to 'Class_'
//   Hint: Parameter 'Class' of ItemProperty.Class changed to 'Class_'
//   Hint: Symbol 'Type' renamed to 'type_'
//   Hint: Parameter 'Type' of ItemProperty.Type changed to 'Type_'
//   Hint: Member 'Class' of 'RecurrencePattern' changed to 'Class_'
//   Hint: Parameter 'Class' of RecurrencePattern.Class changed to 'Class_'
//   Hint: Member 'Class' of 'Exceptions' changed to 'Class_'
//   Hint: Parameter 'Class' of Exceptions.Class changed to 'Class_'
//   Hint: Member 'Class' of 'Exception' changed to 'Class_'
//   Hint: Parameter 'Class' of Exception.Class changed to 'Class_'
//   Hint: Member 'Class' of '_MeetingItem' changed to 'Class_'
//   Hint: Parameter 'Class' of _MeetingItem.Class changed to 'Class_'
//   Hint: Parameter 'Type' of _MeetingItem.SaveAs changed to 'Type_'
//   Hint: Member 'Class' of '_ContactItem' changed to 'Class_'
//   Hint: Parameter 'Class' of _ContactItem.Class changed to 'Class_'
//   Hint: Parameter 'Type' of _ContactItem.SaveAs changed to 'Type_'
//   Hint: Member 'Class' of '_DistListItem' changed to 'Class_'
//   Hint: Parameter 'Class' of _DistListItem.Class changed to 'Class_'
//   Hint: Parameter 'Type' of _DistListItem.SaveAs changed to 'Type_'
//   Hint: Member 'Class' of '_DocumentItem' changed to 'Class_'
//   Hint: Parameter 'Class' of _DocumentItem.Class changed to 'Class_'
//   Hint: Parameter 'Type' of _DocumentItem.SaveAs changed to 'Type_'
//   Hint: Member 'Class' of '_JournalItem' changed to 'Class_'
//   Hint: Parameter 'Class' of _JournalItem.Class changed to 'Class_'
//   Hint: Parameter 'Type' of _JournalItem.SaveAs changed to 'Type_'
//   Hint: Member 'End' of '_JournalItem' changed to 'End_'
//   Hint: Parameter 'End' of _JournalItem.End changed to 'End_'
//   Hint: Parameter 'End' of _JournalItem.End changed to 'End_'
//   Hint: Symbol 'Type' renamed to 'type_'
//   Hint: Parameter 'Type' of _JournalItem.Type changed to 'Type_'
//   Hint: Symbol 'Type' renamed to 'type_'
//   Hint: Parameter 'Type' of _JournalItem.Type changed to 'Type_'
//   Hint: Member 'Class' of '_NoteItem' changed to 'Class_'
//   Hint: Parameter 'Class' of _NoteItem.Class changed to 'Class_'
//   Hint: Parameter 'Type' of _NoteItem.SaveAs changed to 'Type_'
//   Hint: Member 'Class' of 'OutlookBarGroup' changed to 'Class_'
//   Hint: Parameter 'Class' of OutlookBarGroup.Class changed to 'Class_'
//   Hint: Member 'Class' of '_OutlookBarShortcuts' changed to 'Class_'
//   Hint: Parameter 'Class' of _OutlookBarShortcuts.Class changed to 'Class_'
//   Hint: Member 'Class' of 'OutlookBarShortcut' changed to 'Class_'
//   Hint: Parameter 'Class' of OutlookBarShortcut.Class changed to 'Class_'
//   Hint: Member 'Class' of '_OutlookBarGroups' changed to 'Class_'
//   Hint: Parameter 'Class' of _OutlookBarGroups.Class changed to 'Class_'
//   Hint: Member 'Class' of '_OutlookBarPane' changed to 'Class_'
//   Hint: Parameter 'Class' of _OutlookBarPane.Class changed to 'Class_'
//   Hint: Member 'Class' of 'OutlookBarStorage' changed to 'Class_'
//   Hint: Parameter 'Class' of OutlookBarStorage.Class changed to 'Class_'
//   Hint: Member 'Class' of 'PropertyPageSite' changed to 'Class_'
//   Hint: Parameter 'Class' of PropertyPageSite.Class changed to 'Class_'
//   Hint: Member 'Class' of 'Pages' changed to 'Class_'
//   Hint: Parameter 'Class' of Pages.Class changed to 'Class_'
//   Hint: Member 'Class' of '_PostItem' changed to 'Class_'
//   Hint: Parameter 'Class' of _PostItem.Class changed to 'Class_'
//   Hint: Parameter 'Type' of _PostItem.SaveAs changed to 'Type_'
//   Hint: Member 'Class' of '_RemoteItem' changed to 'Class_'
//   Hint: Parameter 'Class' of _RemoteItem.Class changed to 'Class_'
//   Hint: Parameter 'Type' of _RemoteItem.SaveAs changed to 'Type_'
//   Hint: Member 'Class' of '_ReportItem' changed to 'Class_'
//   Hint: Parameter 'Class' of _ReportItem.Class changed to 'Class_'
//   Hint: Parameter 'Type' of _ReportItem.SaveAs changed to 'Type_'
//   Hint: Member 'Class' of '_TaskItem' changed to 'Class_'
//   Hint: Parameter 'Class' of _TaskItem.Class changed to 'Class_'
//   Hint: Parameter 'Type' of _TaskItem.SaveAs changed to 'Type_'
//   Hint: Symbol 'Assign' renamed to 'Assign_'
//   Hint: Member 'Class' of '_TaskRequestAcceptItem' changed to 'Class_'
//   Hint: Parameter 'Class' of _TaskRequestAcceptItem.Class changed to 'Class_'
//   Hint: Parameter 'Type' of _TaskRequestAcceptItem.SaveAs changed to 'Type_'
//   Hint: Member 'Class' of '_TaskRequestDeclineItem' changed to 'Class_'
//   Hint: Parameter 'Class' of _TaskRequestDeclineItem.Class changed to 'Class_'
//   Hint: Parameter 'Type' of _TaskRequestDeclineItem.SaveAs changed to 'Type_'
//   Hint: Member 'Class' of '_TaskRequestItem' changed to 'Class_'
//   Hint: Parameter 'Class' of _TaskRequestItem.Class changed to 'Class_'
//   Hint: Parameter 'Type' of _TaskRequestItem.SaveAs changed to 'Type_'
//   Hint: Member 'Class' of '_TaskRequestUpdateItem' changed to 'Class_'
//   Hint: Parameter 'Class' of _TaskRequestUpdateItem.Class changed to 'Class_'
//   Hint: Parameter 'Type' of _TaskRequestUpdateItem.SaveAs changed to 'Type_'
//   Hint: Symbol 'Application' renamed to 'OutlookApplication'
//   Hint: Member 'Class' of 'Action' changed to 'Class_'
//   Hint: Member 'Class' of '_Application' changed to 'Class_'
//   Hint: Member 'Class' of '_NameSpace' changed to 'Class_'
//   Hint: Symbol 'Type' renamed to 'type_'
//   Hint: Member 'Class' of 'Recipient' changed to 'Class_'
//   Hint: Symbol 'Type' renamed to 'type_'
//   Hint: Symbol 'Type' renamed to 'type_'
//   Hint: Member 'Class' of 'AddressEntry' changed to 'Class_'
//   Hint: Symbol 'Type' renamed to 'type_'
//   Hint: Symbol 'Type' renamed to 'type_'
//   Hint: Member 'Class' of 'AddressEntries' changed to 'Class_'
//   Hint: Member 'Class' of '_Folders' changed to 'Class_'
//   Hint: Member 'Class' of 'MAPIFolder' changed to 'Class_'
//   Hint: Member 'Class' of '_Items' changed to 'Class_'
//   Hint: Member 'Class' of '_Explorer' changed to 'Class_'
//   Hint: Member 'Class' of 'Panes' changed to 'Class_'
//   Hint: Member 'Class' of 'Selection' changed to 'Class_'
//   Hint: Member 'Class' of 'View' changed to 'Class_'
//   Hint: Member 'Class' of '_Views' changed to 'Class_'
//   Hint: Member 'Class' of 'AddressLists' changed to 'Class_'
//   Hint: Member 'Class' of 'AddressList' changed to 'Class_'
//   Hint: Member 'Class' of 'SyncObjects' changed to 'Class_'
//   Hint: Member 'Class' of '_SyncObject' changed to 'Class_'
//   Hint: Member 'Class' of '_Inspector' changed to 'Class_'
//   Hint: Member 'Class' of '_Explorers' changed to 'Class_'
//   Hint: Member 'Class' of '_Inspectors' changed to 'Class_'
//   Hint: Member 'Class' of 'Search' changed to 'Class_'
//   Hint: Member 'Class' of '_Results' changed to 'Class_'
//   Hint: Member 'Class' of '_Reminders' changed to 'Class_'
//   Hint: Member 'Class' of '_Reminder' changed to 'Class_'
//   Hint: Member 'Class' of 'Actions' changed to 'Class_'
//   Hint: Member 'Class' of 'PropertyPages' changed to 'Class_'
//   Hint: Member 'Class' of '_AppointmentItem' changed to 'Class_'
//   Hint: Member 'End' of '_AppointmentItem' changed to 'End_'
//   Hint: Member 'Class' of 'Attachments' changed to 'Class_'
//   Hint: Member 'Class' of 'Attachment' changed to 'Class_'
//   Hint: Symbol 'Type' renamed to 'type_'
//   Hint: Member 'Class' of 'FormDescription' changed to 'Class_'
//   Hint: Member 'Class' of 'UserProperties' changed to 'Class_'
//   Hint: Member 'Class' of 'UserProperty' changed to 'Class_'
//   Hint: Symbol 'Type' renamed to 'type_'
//   Hint: Member 'Class' of 'Recipients' changed to 'Class_'
//   Hint: Member 'Class' of '_MailItem' changed to 'Class_'
//   Hint: Member 'To' of '_MailItem' changed to 'To_'
//   Hint: Member 'Class' of 'Links' changed to 'Class_'
//   Hint: Member 'Class' of 'Link' changed to 'Class_'
//   Hint: Symbol 'Type' renamed to 'type_'
//   Hint: Member 'Class' of 'ItemProperties' changed to 'Class_'
//   Hint: Member 'Class' of 'ItemProperty' changed to 'Class_'
//   Hint: Symbol 'Type' renamed to 'type_'
//   Hint: Member 'Class' of 'RecurrencePattern' changed to 'Class_'
//   Hint: Member 'Class' of 'Exceptions' changed to 'Class_'
//   Hint: Member 'Class' of 'Exception' changed to 'Class_'
//   Hint: Member 'Class' of '_MeetingItem' changed to 'Class_'
//   Hint: Member 'Class' of '_ContactItem' changed to 'Class_'
//   Hint: Member 'Class' of '_DistListItem' changed to 'Class_'
//   Hint: Member 'Class' of '_DocumentItem' changed to 'Class_'
//   Hint: Member 'Class' of '_JournalItem' changed to 'Class_'
//   Hint: Member 'End' of '_JournalItem' changed to 'End_'
//   Hint: Symbol 'Type' renamed to 'type_'
//   Hint: Symbol 'Type' renamed to 'type_'
//   Hint: Member 'Class' of '_NoteItem' changed to 'Class_'
//   Hint: Member 'Class' of 'OutlookBarGroup' changed to 'Class_'
//   Hint: Member 'Class' of '_OutlookBarShortcuts' changed to 'Class_'
//   Hint: Member 'Class' of 'OutlookBarShortcut' changed to 'Class_'
//   Hint: Member 'Class' of '_OutlookBarGroups' changed to 'Class_'
//   Hint: Member 'Class' of '_OutlookBarPane' changed to 'Class_'
//   Hint: Member 'Class' of 'OutlookBarStorage' changed to 'Class_'
//   Hint: Member 'Class' of 'PropertyPageSite' changed to 'Class_'
//   Hint: Member 'Class' of 'Pages' changed to 'Class_'
//   Hint: Member 'Class' of '_PostItem' changed to 'Class_'
//   Hint: Member 'Class' of '_RemoteItem' changed to 'Class_'
//   Hint: Member 'Class' of '_ReportItem' changed to 'Class_'
//   Hint: Member 'Class' of '_TaskItem' changed to 'Class_'
//   Hint: Symbol 'Assign' renamed to 'Assign_'
//   Hint: Member 'Class' of '_TaskRequestAcceptItem' changed to 'Class_'
//   Hint: Member 'Class' of '_TaskRequestDeclineItem' changed to 'Class_'
//   Hint: Member 'Class' of '_TaskRequestItem' changed to 'Class_'
//   Hint: Member 'Class' of '_TaskRequestUpdateItem' changed to 'Class_'
//   Error creating palette bitmap of (TDataSourceObject) : Registry key CLSID\{0006F02C-0000-0000-C000-000000000046}\ToolboxBitmap32 not found
// ************************************************************************ //
// *************************************************************************//
// NOTE:                                                                      
// Items guarded by $IFDEF_LIVE_SERVER_AT_DESIGN_TIME are used by properties  
// which return objects that may need to be explicitly created via a function 
// call prior to any access via the property. These items have been disabled  
// in order to prevent accidental use from within the object inspector. You   
// may enable them by defining LIVE_SERVER_AT_DESIGN_TIME or by selectively   
// removing them from the $IFDEF blocks. However, such items must still be    
// programmatically created via a method of the appropriate CoClass before    
// they can be used.                                                          
{$TYPEDADDRESS OFF} // Unit must be compiled without type-checked pointers. 
//{$WARN SYMBOL_PLATFORM OFF}
{$WRITEABLECONST ON}
//{$VARPROPSETTER ON}
interface

uses Windows, ActiveX, Classes, DBOleCtl, Graphics, OfficeXP, OleCtrls, OleServer, 
StdVCL;
  

// *********************************************************************//
// GUIDS declared in the TypeLibrary. Following prefixes are used:        
//   Type Libraries     : LIBID_xxxx                                      
//   CoClasses          : CLASS_xxxx                                      
//   DISPInterfaces     : DIID_xxxx                                       
//   Non-DISP interfaces: IID_xxxx                                        
// *********************************************************************//
const
  // TypeLibrary Major and minor versions
  OutlookMajorVersion = 9;
  OutlookMinorVersion = 1;

  LIBID_Outlook: TGUID = '{00062FFF-0000-0000-C000-000000000046}';

  IID_Action: TGUID = '{00063043-0000-0000-C000-000000000046}';
  IID__Application: TGUID = '{00063001-0000-0000-C000-000000000046}';
  IID__NameSpace: TGUID = '{00063002-0000-0000-C000-000000000046}';
  IID_Recipient: TGUID = '{00063045-0000-0000-C000-000000000046}';
  IID_AddressEntry: TGUID = '{0006304B-0000-0000-C000-000000000046}';
  IID_AddressEntries: TGUID = '{0006304A-0000-0000-C000-000000000046}';
  IID__Folders: TGUID = '{00063040-0000-0000-C000-000000000046}';
  IID_MAPIFolder: TGUID = '{00063006-0000-0000-C000-000000000046}';
  IID__Items: TGUID = '{00063041-0000-0000-C000-000000000046}';
  IID__Explorer: TGUID = '{00063003-0000-0000-C000-000000000046}';
  IID_Panes: TGUID = '{00063009-0000-0000-C000-000000000046}';
  IID_Selection: TGUID = '{00063087-0000-0000-C000-000000000046}';
  IID_View: TGUID = '{00063095-0000-0000-C000-000000000046}';
  IID__Views: TGUID = '{0006308D-0000-0000-C000-000000000046}';
  IID_AddressLists: TGUID = '{00063048-0000-0000-C000-000000000046}';
  IID_AddressList: TGUID = '{00063049-0000-0000-C000-000000000046}';
  IID_SyncObjects: TGUID = '{00063086-0000-0000-C000-000000000046}';
  IID__SyncObject: TGUID = '{00063083-0000-0000-C000-000000000046}';
  DIID_SyncObjectEvents: TGUID = '{00063085-0000-0000-C000-000000000046}';
  CLASS_SyncObject: TGUID = '{00063084-0000-0000-C000-000000000046}';
  IID__Inspector: TGUID = '{00063005-0000-0000-C000-000000000046}';
  IID__Explorers: TGUID = '{0006300A-0000-0000-C000-000000000046}';
  DIID_ExplorerEvents: TGUID = '{0006304F-0000-0000-C000-000000000046}';
  DIID_ExplorerEvents_10: TGUID = '{0006300F-0000-0000-C000-000000000046}';
  CLASS_Explorer: TGUID = '{00063050-0000-0000-C000-000000000046}';
  IID__Inspectors: TGUID = '{00063008-0000-0000-C000-000000000046}';
  DIID_InspectorEvents: TGUID = '{0006307D-0000-0000-C000-000000000046}';
  DIID_InspectorEvents_10: TGUID = '{0006302A-0000-0000-C000-000000000046}';
  CLASS_Inspector: TGUID = '{00063058-0000-0000-C000-000000000046}';
  IID_Search: TGUID = '{0006300B-0000-0000-C000-000000000046}';
  IID__Results: TGUID = '{0006300C-0000-0000-C000-000000000046}';
  IID__Reminders: TGUID = '{000630B1-0000-0000-C000-000000000046}';
  IID__Reminder: TGUID = '{000630B0-0000-0000-C000-000000000046}';
  IID_Actions: TGUID = '{0006303E-0000-0000-C000-000000000046}';
  DIID_ApplicationEvents: TGUID = '{0006304E-0000-0000-C000-000000000046}';
  IID_PropertyPages: TGUID = '{00063080-0000-0000-C000-000000000046}';
  IID__AppointmentItem: TGUID = '{00063033-0000-0000-C000-000000000046}';
  IID_Attachments: TGUID = '{0006303C-0000-0000-C000-000000000046}';
  IID_Attachment: TGUID = '{00063007-0000-0000-C000-000000000046}';
  IID_FormDescription: TGUID = '{00063046-0000-0000-C000-000000000046}';
  IID_UserProperties: TGUID = '{0006303D-0000-0000-C000-000000000046}';
  IID_UserProperty: TGUID = '{00063042-0000-0000-C000-000000000046}';
  IID_Recipients: TGUID = '{0006303B-0000-0000-C000-000000000046}';
  IID__MailItem: TGUID = '{00063034-0000-0000-C000-000000000046}';
  DIID_ItemEvents: TGUID = '{0006303A-0000-0000-C000-000000000046}';
  IID_Links: TGUID = '{0006308A-0000-0000-C000-000000000046}';
  IID_Link: TGUID = '{00063089-0000-0000-C000-000000000046}';
  IID_ItemProperties: TGUID = '{000630A8-0000-0000-C000-000000000046}';
  IID_ItemProperty: TGUID = '{000630A7-0000-0000-C000-000000000046}';
  DIID_ItemEvents_10: TGUID = '{0006302B-0000-0000-C000-000000000046}';
  CLASS_MailItem: TGUID = '{00061033-0000-0000-C000-000000000046}';
  IID_RecurrencePattern: TGUID = '{00063044-0000-0000-C000-000000000046}';
  IID_Exceptions: TGUID = '{0006304C-0000-0000-C000-000000000046}';
  IID_Exception: TGUID = '{0006304D-0000-0000-C000-000000000046}';
  CLASS_AppointmentItem: TGUID = '{00061030-0000-0000-C000-000000000046}';
  IID__MeetingItem: TGUID = '{00063062-0000-0000-C000-000000000046}';
  CLASS_MeetingItem: TGUID = '{00061036-0000-0000-C000-000000000046}';
  IID__ContactItem: TGUID = '{00063021-0000-0000-C000-000000000046}';
  IID__DistListItem: TGUID = '{00063081-0000-0000-C000-000000000046}';
  IID__DocumentItem: TGUID = '{00063020-0000-0000-C000-000000000046}';
  DIID_ExplorersEvents: TGUID = '{00063078-0000-0000-C000-000000000046}';
  DIID_FoldersEvents: TGUID = '{00063076-0000-0000-C000-000000000046}';
  DIID_InspectorsEvents: TGUID = '{00063079-0000-0000-C000-000000000046}';
  DIID_ItemsEvents: TGUID = '{00063077-0000-0000-C000-000000000046}';
  IID__JournalItem: TGUID = '{00063022-0000-0000-C000-000000000046}';
  DIID_NameSpaceEvents: TGUID = '{0006308C-0000-0000-C000-000000000046}';
  IID__NoteItem: TGUID = '{00063025-0000-0000-C000-000000000046}';
  IID_OutlookBarGroup: TGUID = '{00063073-0000-0000-C000-000000000046}';
  IID__OutlookBarShortcuts: TGUID = '{00063074-0000-0000-C000-000000000046}';
  IID_OutlookBarShortcut: TGUID = '{00063075-0000-0000-C000-000000000046}';
  IID__OutlookBarGroups: TGUID = '{00063072-0000-0000-C000-000000000046}';
  DIID_OutlookBarGroupsEvents: TGUID = '{0006307B-0000-0000-C000-000000000046}';
  IID__OutlookBarPane: TGUID = '{00063070-0000-0000-C000-000000000046}';
  IID_OutlookBarStorage: TGUID = '{00063071-0000-0000-C000-000000000046}';
  DIID_OutlookBarPaneEvents: TGUID = '{0006307A-0000-0000-C000-000000000046}';
  DIID_OutlookBarShortcutsEvents: TGUID = '{0006307C-0000-0000-C000-000000000046}';
  IID_PropertyPage: TGUID = '{0006307E-0000-0000-C000-000000000046}';
  IID_PropertyPageSite: TGUID = '{0006307F-0000-0000-C000-000000000046}';
  IID_Pages: TGUID = '{0006303F-0000-0000-C000-000000000046}';
  IID__PostItem: TGUID = '{00063024-0000-0000-C000-000000000046}';
  IID__RemoteItem: TGUID = '{00063023-0000-0000-C000-000000000046}';
  IID__ReportItem: TGUID = '{00063026-0000-0000-C000-000000000046}';
  IID__TaskItem: TGUID = '{00063035-0000-0000-C000-000000000046}';
  CLASS_TaskItem: TGUID = '{00061032-0000-0000-C000-000000000046}';
  IID__TaskRequestAcceptItem: TGUID = '{00063038-0000-0000-C000-000000000046}';
  IID__TaskRequestDeclineItem: TGUID = '{00063039-0000-0000-C000-000000000046}';
  IID__TaskRequestItem: TGUID = '{00063036-0000-0000-C000-000000000046}';
  IID__TaskRequestUpdateItem: TGUID = '{00063037-0000-0000-C000-000000000046}';
  DIID_ApplicationEvents_10: TGUID = '{0006300E-0000-0000-C000-000000000046}';
  DIID_ResultsEvents: TGUID = '{0006300D-0000-0000-C000-000000000046}';
  DIID__ViewsEvents: TGUID = '{000630A5-0000-0000-C000-000000000046}';
  DIID_ReminderCollectionEvents: TGUID = '{000630B2-0000-0000-C000-000000000046}';
  CLASS_OutlookApplication: TGUID = '{0006F03A-0000-0000-C000-000000000046}';
  CLASS_ContactItem: TGUID = '{00061031-0000-0000-C000-000000000046}';
  CLASS_DistListItem: TGUID = '{0006103C-0000-0000-C000-000000000046}';
  CLASS_DocumentItem: TGUID = '{00061061-0000-0000-C000-000000000046}';
  CLASS_Explorers: TGUID = '{00063053-0000-0000-C000-000000000046}';
  CLASS_Inspectors: TGUID = '{00063054-0000-0000-C000-000000000046}';
  CLASS_Folders: TGUID = '{00063051-0000-0000-C000-000000000046}';
  CLASS_Items: TGUID = '{00063052-0000-0000-C000-000000000046}';
  CLASS_JournalItem: TGUID = '{00061037-0000-0000-C000-000000000046}';
  CLASS_NameSpace: TGUID = '{0006308B-0000-0000-C000-000000000046}';
  CLASS_NoteItem: TGUID = '{00061034-0000-0000-C000-000000000046}';
  CLASS_OutlookBarGroups: TGUID = '{00063056-0000-0000-C000-000000000046}';
  CLASS_OutlookBarPane: TGUID = '{00063055-0000-0000-C000-000000000046}';
  CLASS_OutlookBarShortcuts: TGUID = '{00063057-0000-0000-C000-000000000046}';
  CLASS_PostItem: TGUID = '{0006103A-0000-0000-C000-000000000046}';
  CLASS_RemoteItem: TGUID = '{00061060-0000-0000-C000-000000000046}';
  CLASS_ReportItem: TGUID = '{00061035-0000-0000-C000-000000000046}';
  CLASS_TaskRequestAcceptItem: TGUID = '{00061052-0000-0000-C000-000000000046}';
  CLASS_TaskRequestDeclineItem: TGUID = '{00061053-0000-0000-C000-000000000046}';
  CLASS_TaskRequestItem: TGUID = '{00061050-0000-0000-C000-000000000046}';
  CLASS_TaskRequestUpdateItem: TGUID = '{00061051-0000-0000-C000-000000000046}';
  IID__IRecipientControl: TGUID = '{D87E7E16-6897-11CE-A6C0-00AA00608FAA}';
  DIID__DRecipientControl: TGUID = '{0006F025-0000-0000-C000-000000000046}';
  DIID__DRecipientControlEvents: TGUID = '{D87E7E17-6897-11CE-A6C0-00AA00608FAA}';
  CLASS__RecipientControl: TGUID = '{0006F023-0000-0000-C000-000000000046}';
  IID__IDocSiteControl: TGUID = '{43507DD0-811D-11CE-B565-00AA00608FAA}';
  DIID__DDocSiteControl: TGUID = '{0006F026-0000-0000-C000-000000000046}';
  DIID__DDocSiteControlEvents: TGUID = '{50BB9B50-811D-11CE-B565-00AA00608FAA}';
  CLASS__DocSiteControl: TGUID = '{0006F024-0000-0000-C000-000000000046}';
  IID__IDpxCtrl: TGUID = '{0006F097-0000-0000-C000-000000000046}';
  CLASS__DpxCtrl: TGUID = '{0006F099-0000-0000-C000-000000000046}';
  IID__IPageWrapCtrl: TGUID = '{494F0970-DD96-11D2-AF70-006008AFF117}';
  DIID__DPageWrapCtrl: TGUID = '{0006F096-0000-0000-C000-000000000046}';
  DIID__DPageWrapCtrlEvents: TGUID = '{494F0971-DD96-11D2-AF70-006008AFF117}';
  CLASS__PageWrapCtrl: TGUID = '{0006F098-0000-0000-C000-000000000046}';
  IID__IInspectorCtrl: TGUID = '{E182A127-EADD-46E1-B878-482C48CD8754}';
  DIID__DInspectorCtrl: TGUID = '{0006F09D-0000-0000-C000-000000000046}';
  DIID__DInspectorEvents: TGUID = '{2D9C6D57-BD3C-4275-BED2-73F0EDC18CCE}';
  CLASS__InspectorCtrl: TGUID = '{0006F09C-0000-0000-C000-000000000046}';
  DIID_DDataSourceObject: TGUID = '{11858B51-DE06-494E-915A-6CCEF17F7CB6}';
  CLASS_DataSourceObject: TGUID = '{0006F02C-0000-0000-C000-000000000046}';
  CLASS_Results: TGUID = '{00061039-0000-0000-C000-000000000046}';
  CLASS_Views: TGUID = '{0006F027-0000-0000-C000-000000000046}';
  CLASS_Reminder: TGUID = '{0006F028-0000-0000-C000-000000000046}';
  CLASS_Reminders: TGUID = '{0006F029-0000-0000-C000-000000000046}';

// *********************************************************************//
// Declaration of Enumerations defined in Type Library                    
// *********************************************************************//
// Constants for enum OlActionCopyLike
type
  OlActionCopyLike = TOleEnum;
const
  olReply = $00000000;
  olReplyAll = $00000001;
  olForward = $00000002;
  olReplyFolder = $00000003;
  olRespond = $00000004;

// Constants for enum OlActionReplyStyle
type
  OlActionReplyStyle = TOleEnum;
const
  olOmitOriginalText = $00000000;
  olEmbedOriginalItem = $00000001;
  olIncludeOriginalText = $00000002;
  olIndentOriginalText = $00000003;
  olLinkOriginalItem = $00000004;
  olUserPreference = $00000005;
  olReplyTickOriginalText = $000003E8;

// Constants for enum OlActionResponseStyle
type
  OlActionResponseStyle = TOleEnum;
const
  olOpen = $00000000;
  olSend = $00000001;
  olPrompt = $00000002;

// Constants for enum OlActionShowOn
type
  OlActionShowOn = TOleEnum;
const
  olDontShow = $00000000;
  olMenu = $00000001;
  olMenuAndToolbar = $00000002;

// Constants for enum OlAttachmentType
type
  OlAttachmentType = TOleEnum;
const
  olByValue = $00000001;
  olByReference = $00000004;
  olEmbeddeditem = $00000005;
  olOLE = $00000006;

// Constants for enum OlBusyStatus
type
  OlBusyStatus = TOleEnum;
const
  olFree = $00000000;
  olTentative = $00000001;
  olBusy = $00000002;
  olOutOfOffice = $00000003;

// Constants for enum OlDaysOfWeek
type
  OlDaysOfWeek = TOleEnum;
const
  olSunday = $00000001;
  olMonday = $00000002;
  olTuesday = $00000004;
  olWednesday = $00000008;
  olThursday = $00000010;
  olFriday = $00000020;
  olSaturday = $00000040;

// Constants for enum OlDefaultFolders
type
  OlDefaultFolders = TOleEnum;
const
  olFolderDeletedItems = $00000003;
  olFolderOutbox = $00000004;
  olFolderSentMail = $00000005;
  olFolderInbox = $00000006;
  olFolderCalendar = $00000009;
  olFolderContacts = $0000000A;
  olFolderJournal = $0000000B;
  olFolderNotes = $0000000C;
  olFolderTasks = $0000000D;
  olFolderDrafts = $00000010;
  olPublicFoldersAllPublicFolders = $00000012;

// Constants for enum OlDisplayType
type
  OlDisplayType = TOleEnum;
const
  olUser = $00000000;
  olDistList = $00000001;
  olForum = $00000002;
  olAgent = $00000003;
  olOrganization = $00000004;
  olPrivateDistList = $00000005;
  olRemoteUser = $00000006;

// Constants for enum OlEditorType
type
  OlEditorType = TOleEnum;
const
  olEditorText = $00000001;
  olEditorHTML = $00000002;
  olEditorRTF = $00000003;
  olEditorWord = $00000004;

// Constants for enum OlFlagStatus
type
  OlFlagStatus = TOleEnum;
const
  olNoFlag = $00000000;
  olFlagComplete = $00000001;
  olFlagMarked = $00000002;

// Constants for enum OlFolderDisplayMode
type
  OlFolderDisplayMode = TOleEnum;
const
  olFolderDisplayNormal = $00000000;
  olFolderDisplayFolderOnly = $00000001;
  olFolderDisplayNoNavigation = $00000002;

// Constants for enum OlFormRegistry
type
  OlFormRegistry = TOleEnum;
const
  olDefaultRegistry = $00000000;
  olPersonalRegistry = $00000002;
  olFolderRegistry = $00000003;
  olOrganizationRegistry = $00000004;

// Constants for enum OlGender
type
  OlGender = TOleEnum;
const
  olUnspecified = $00000000;
  olFemale = $00000001;
  olMale = $00000002;

// Constants for enum OlImportance
type
  OlImportance = TOleEnum;
const
  olImportanceLow = $00000000;
  olImportanceNormal = $00000001;
  olImportanceHigh = $00000002;

// Constants for enum OlInspectorClose
type
  OlInspectorClose = TOleEnum;
const
  olSave = $00000000;
  olDiscard = $00000001;
  olPromptForSave = $00000002;

// Constants for enum OlItemType
type
  OlItemType = TOleEnum;
const
  olMailItem = $00000000;
  olAppointmentItem = $00000001;
  olContactItem = $00000002;
  olTaskItem = $00000003;
  olJournalItem = $00000004;
  olNoteItem = $00000005;
  olPostItem = $00000006;
  olDistributionListItem = $00000007;

// Constants for enum OlJournalRecipientType
type
  OlJournalRecipientType = TOleEnum;
const
  olAssociatedContact = $00000001;

// Constants for enum OlMailingAddress
type
  OlMailingAddress = TOleEnum;
const
  olNone = $00000000;
  olHome = $00000001;
  olBusiness = $00000002;
  olOther = $00000003;

// Constants for enum OlMailRecipientType
type
  OlMailRecipientType = TOleEnum;
const
  olOriginator = $00000000;
  olTo = $00000001;
  olCC = $00000002;
  olBCC = $00000003;

// Constants for enum OlMeetingRecipientType
type
  OlMeetingRecipientType = TOleEnum;
const
  olOrganizer = $00000000;
  olRequired = $00000001;
  olOptional = $00000002;
  olResource = $00000003;

// Constants for enum OlMeetingResponse
type
  OlMeetingResponse = TOleEnum;
const
  olMeetingTentative = $00000002;
  olMeetingAccepted = $00000003;
  olMeetingDeclined = $00000004;

// Constants for enum OlMeetingStatus
type
  OlMeetingStatus = TOleEnum;
const
  olNonMeeting = $00000000;
  olMeeting = $00000001;
  olMeetingReceived = $00000003;
  olMeetingCanceled = $00000005;

// Constants for enum OlNetMeetingType
type
  OlNetMeetingType = TOleEnum;
const
  olNetMeeting = $00000000;
  olNetShow = $00000001;
  olExchangeConferencing = $00000002;

// Constants for enum OlNoteColor
type
  OlNoteColor = TOleEnum;
const
  olBlue = $00000000;
  olGreen = $00000001;
  olPink = $00000002;
  olYellow = $00000003;
  olWhite = $00000004;

// Constants for enum OlObjectClass
type
  OlObjectClass = TOleEnum;
const
  olApplication = $00000000;
  olNamespace = $00000001;
  olFolder = $00000002;
  olRecipient = $00000004;
  olAttachment = $00000005;
  olAddressList = $00000007;
  olAddressEntry = $00000008;
  olFolders = $0000000F;
  olItems = $00000010;
  olRecipients = $00000011;
  olAttachments = $00000012;
  olAddressLists = $00000014;
  olAddressEntries = $00000015;
  olAppointment = $0000001A;
  olMeetingRequest = $00000035;
  olMeetingCancellation = $00000036;
  olMeetingResponseNegative = $00000037;
  olMeetingResponsePositive = $00000038;
  olMeetingResponseTentative = $00000039;
  olRecurrencePattern = $0000001C;
  olExceptions = $0000001D;
  olException = $0000001E;
  olAction = $00000020;
  olActions = $00000021;
  olExplorer = $00000022;
  olInspector = $00000023;
  olPages = $00000024;
  olFormDescription = $00000025;
  olUserProperties = $00000026;
  olUserProperty = $00000027;
  olContact = $00000028;
  olDocument = $00000029;
  olJournal = $0000002A;
  olMail = $0000002B;
  olNote = $0000002C;
  olPost = $0000002D;
  olReport = $0000002E;
  olRemote = $0000002F;
  olTask = $00000030;
  olTaskRequest = $00000031;
  olTaskRequestUpdate = $00000032;
  olTaskRequestAccept = $00000033;
  olTaskRequestDecline = $00000034;
  olExplorers = $0000003C;
  olInspectors = $0000003D;
  olPanes = $0000003E;
  olOutlookBarPane = $0000003F;
  olOutlookBarStorage = $00000040;
  olOutlookBarGroups = $00000041;
  olOutlookBarGroup = $00000042;
  olOutlookBarShortcuts = $00000043;
  olOutlookBarShortcut = $00000044;
  olDistributionList = $00000045;
  olPropertyPageSite = $00000046;
  olPropertyPages = $00000047;
  olSyncObject = $00000048;
  olSyncObjects = $00000049;
  olSelection = $0000004A;
  olLink = $0000004B;
  olLinks = $0000004C;
  olSearch = $0000004D;
  olResults = $0000004E;
  olViews = $0000004F;
  olView = $00000050;
  olItemProperties = $00000062;
  olItemProperty = $00000063;
  olReminders = $00000064;
  olReminder = $00000065;

// Constants for enum OlOutlookBarViewType
type
  OlOutlookBarViewType = TOleEnum;
const
  olLargeIcon = $00000000;
  olSmallIcon = $00000001;

// Constants for enum OlPane
type
  OlPane = TOleEnum;
const
  olOutlookBar = $00000001;
  olFolderList = $00000002;
  olPreview = $00000003;

// Constants for enum OlRecurrenceState
type
  OlRecurrenceState = TOleEnum;
const
  olApptNotRecurring = $00000000;
  olApptMaster = $00000001;
  olApptOccurrence = $00000002;
  olApptException = $00000003;

// Constants for enum OlRecurrenceType
type
  OlRecurrenceType = TOleEnum;
const
  olRecursDaily = $00000000;
  olRecursWeekly = $00000001;
  olRecursMonthly = $00000002;
  olRecursMonthNth = $00000003;
  olRecursYearly = $00000005;
  olRecursYearNth = $00000006;

// Constants for enum OlRemoteStatus
type
  OlRemoteStatus = TOleEnum;
const
  olRemoteStatusNone = $00000000;
  olUnMarked = $00000001;
  olMarkedForDownload = $00000002;
  olMarkedForCopy = $00000003;
  olMarkedForDelete = $00000004;

// Constants for enum OlResponseStatus
type
  OlResponseStatus = TOleEnum;
const
  olResponseNone = $00000000;
  olResponseOrganized = $00000001;
  olResponseTentative = $00000002;
  olResponseAccepted = $00000003;
  olResponseDeclined = $00000004;
  olResponseNotResponded = $00000005;

// Constants for enum OlSaveAsType
type
  OlSaveAsType = TOleEnum;
const
  olTXT = $00000000;
  olRTF = $00000001;
  olTemplate = $00000002;
  olMSG = $00000003;
  olDoc = $00000004;
  olHTML = $00000005;
  olVCard = $00000006;
  olVCal = $00000007;
  olICal = $00000008;

// Constants for enum OlSensitivity
type
  OlSensitivity = TOleEnum;
const
  olNormal = $00000000;
  olPersonal = $00000001;
  olPrivate = $00000002;
  olConfidential = $00000003;

// Constants for enum OlSortOrder
type
  OlSortOrder = TOleEnum;
const
  olSortNone = $00000000;
  olAscending = $00000001;
  olDescending = $00000002;

// Constants for enum OlTaskDelegationState
type
  OlTaskDelegationState = TOleEnum;
const
  olTaskNotDelegated = $00000000;
  olTaskDelegationUnknown = $00000001;
  olTaskDelegationAccepted = $00000002;
  olTaskDelegationDeclined = $00000003;

// Constants for enum OlTaskOwnership
type
  OlTaskOwnership = TOleEnum;
const
  olNewTask = $00000000;
  olDelegatedTask = $00000001;
  olOwnTask = $00000002;

// Constants for enum OlTaskRecipientType
type
  OlTaskRecipientType = TOleEnum;
const
  olUpdate = $00000002;
  olFinalStatus = $00000003;

// Constants for enum OlTaskResponse
type
  OlTaskResponse = TOleEnum;
const
  olTaskSimple = $00000000;
  olTaskAssign = $00000001;
  olTaskAccept = $00000002;
  olTaskDecline = $00000003;

// Constants for enum OlTaskStatus
type
  OlTaskStatus = TOleEnum;
const
  olTaskNotStarted = $00000000;
  olTaskInProgress = $00000001;
  olTaskComplete = $00000002;
  olTaskWaiting = $00000003;
  olTaskDeferred = $00000004;

// Constants for enum OlTrackingStatus
type
  OlTrackingStatus = TOleEnum;
const
  olTrackingNone = $00000000;
  olTrackingDelivered = $00000001;
  olTrackingNotDelivered = $00000002;
  olTrackingNotRead = $00000003;
  olTrackingRecallFailure = $00000004;
  olTrackingRecallSuccess = $00000005;
  olTrackingRead = $00000006;
  olTrackingReplied = $00000007;

// Constants for enum OlUserPropertyType
type
  OlUserPropertyType = TOleEnum;
const
  olOutlookInternal = $00000000;
  olText = $00000001;
  olNumber = $00000003;
  olDateTime = $00000005;
  olYesNo = $00000006;
  olDuration = $00000007;
  olKeywords = $0000000B;
  olPercent = $0000000C;
  olCurrency = $0000000E;
  olFormula = $00000012;
  olCombination = $00000013;

// Constants for enum OlWindowState
type
  OlWindowState = TOleEnum;
const
  olMaximized = $00000000;
  olMinimized = $00000001;
  olNormalWindow = $00000002;

// Constants for enum OlSyncState
type
  OlSyncState = TOleEnum;
const
  olSyncStopped = $00000000;
  olSyncStarted = $00000001;

// Constants for enum OlBodyFormat
type
  OlBodyFormat = TOleEnum;
const
  olFormatUnspecified = $00000000;
  olFormatPlain = $00000001;
  olFormatHTML = $00000002;
  olFormatRichText = $00000003;

// Constants for enum OlDownloadState
type
  OlDownloadState = TOleEnum;
const
  olHeaderOnly = $00000000;
  olFullItem = $00000001;

// Constants for enum OlOfficeDocItemsType
type
  OlOfficeDocItemsType = TOleEnum;
const
  olExcelWorkSheetItem = $00000008;
  olWordDocumentItem = $00000009;
  olPowerPointShowItem = $0000000A;

// Constants for enum OlViewSaveOption
type
  OlViewSaveOption = TOleEnum;
const
  olViewSaveOptionThisFolderEveryone = $00000000;
  olViewSaveOptionThisFolderOnlyMe = $00000001;
  olViewSaveOptionAllFoldersOfType = $00000002;

// Constants for enum OlViewType
type
  OlViewType = TOleEnum;
const
  olTableView = $00000000;
  olCardView = $00000001;
  olCalendarView = $00000002;
  olIconView = $00000003;
  olTimelineView = $00000004;

type

// *********************************************************************//
// Forward declaration of types defined in TypeLibrary                    
// *********************************************************************//
  Action = interface;
  ActionDisp = dispinterface;
  _Application = interface;
  _ApplicationDisp = dispinterface;
  _NameSpace = interface;
  _NameSpaceDisp = dispinterface;
  Recipient = interface;
  RecipientDisp = dispinterface;
  AddressEntry = interface;
  AddressEntryDisp = dispinterface;
  AddressEntries = interface;
  AddressEntriesDisp = dispinterface;
  _Folders = interface;
  _FoldersDisp = dispinterface;
  MAPIFolder = interface;
  MAPIFolderDisp = dispinterface;
  _Items = interface;
  _ItemsDisp = dispinterface;
  _Explorer = interface;
  _ExplorerDisp = dispinterface;
  Panes = interface;
  PanesDisp = dispinterface;
  Selection = interface;
  SelectionDisp = dispinterface;
  View = interface;
  ViewDisp = dispinterface;
  _Views = interface;
  _ViewsDisp = dispinterface;
  AddressLists = interface;
  AddressListsDisp = dispinterface;
  AddressList = interface;
  AddressListDisp = dispinterface;
  SyncObjects = interface;
  SyncObjectsDisp = dispinterface;
  _SyncObject = interface;
  _SyncObjectDisp = dispinterface;
  SyncObjectEvents = dispinterface;
  _Inspector = interface;
  _InspectorDisp = dispinterface;
  _Explorers = interface;
  _ExplorersDisp = dispinterface;
  ExplorerEvents = dispinterface;
  ExplorerEvents_10 = dispinterface;
  _Inspectors = interface;
  _InspectorsDisp = dispinterface;
  InspectorEvents = dispinterface;
  InspectorEvents_10 = dispinterface;
  Search = interface;
  SearchDisp = dispinterface;
  _Results = interface;
  _ResultsDisp = dispinterface;
  _Reminders = interface;
  _RemindersDisp = dispinterface;
  _Reminder = interface;
  _ReminderDisp = dispinterface;
  Actions = interface;
  ActionsDisp = dispinterface;
  ApplicationEvents = dispinterface;
  PropertyPages = interface;
  PropertyPagesDisp = dispinterface;
  _AppointmentItem = interface;
  _AppointmentItemDisp = dispinterface;
  Attachments = interface;
  AttachmentsDisp = dispinterface;
  Attachment = interface;
  AttachmentDisp = dispinterface;
  FormDescription = interface;
  FormDescriptionDisp = dispinterface;
  UserProperties = interface;
  UserPropertiesDisp = dispinterface;
  UserProperty = interface;
  UserPropertyDisp = dispinterface;
  Recipients = interface;
  RecipientsDisp = dispinterface;
  _MailItem = interface;
  _MailItemDisp = dispinterface;
  ItemEvents = dispinterface;
  Links = interface;
  LinksDisp = dispinterface;
  Link = interface;
  LinkDisp = dispinterface;
  ItemProperties = interface;
  ItemPropertiesDisp = dispinterface;
  ItemProperty = interface;
  ItemPropertyDisp = dispinterface;
  ItemEvents_10 = dispinterface;
  RecurrencePattern = interface;
  RecurrencePatternDisp = dispinterface;
  Exceptions = interface;
  ExceptionsDisp = dispinterface;
  Exception = interface;
  ExceptionDisp = dispinterface;
  _MeetingItem = interface;
  _MeetingItemDisp = dispinterface;
  _ContactItem = interface;
  _ContactItemDisp = dispinterface;
  _DistListItem = interface;
  _DistListItemDisp = dispinterface;
  _DocumentItem = interface;
  _DocumentItemDisp = dispinterface;
  ExplorersEvents = dispinterface;
  FoldersEvents = dispinterface;
  InspectorsEvents = dispinterface;
  ItemsEvents = dispinterface;
  _JournalItem = interface;
  _JournalItemDisp = dispinterface;
  NameSpaceEvents = dispinterface;
  _NoteItem = interface;
  _NoteItemDisp = dispinterface;
  OutlookBarGroup = interface;
  OutlookBarGroupDisp = dispinterface;
  _OutlookBarShortcuts = interface;
  _OutlookBarShortcutsDisp = dispinterface;
  OutlookBarShortcut = interface;
  OutlookBarShortcutDisp = dispinterface;
  _OutlookBarGroups = interface;
  _OutlookBarGroupsDisp = dispinterface;
  OutlookBarGroupsEvents = dispinterface;
  _OutlookBarPane = interface;
  _OutlookBarPaneDisp = dispinterface;
  OutlookBarStorage = interface;
  OutlookBarStorageDisp = dispinterface;
  OutlookBarPaneEvents = dispinterface;
  OutlookBarShortcutsEvents = dispinterface;
  PropertyPage = interface;
  PropertyPageSite = interface;
  PropertyPageSiteDisp = dispinterface;
  Pages = interface;
  PagesDisp = dispinterface;
  _PostItem = interface;
  _PostItemDisp = dispinterface;
  _RemoteItem = interface;
  _RemoteItemDisp = dispinterface;
  _ReportItem = interface;
  _ReportItemDisp = dispinterface;
  _TaskItem = interface;
  _TaskItemDisp = dispinterface;
  _TaskRequestAcceptItem = interface;
  _TaskRequestAcceptItemDisp = dispinterface;
  _TaskRequestDeclineItem = interface;
  _TaskRequestDeclineItemDisp = dispinterface;
  _TaskRequestItem = interface;
  _TaskRequestItemDisp = dispinterface;
  _TaskRequestUpdateItem = interface;
  _TaskRequestUpdateItemDisp = dispinterface;
  ApplicationEvents_10 = dispinterface;
  ResultsEvents = dispinterface;
  _ViewsEvents = dispinterface;
  ReminderCollectionEvents = dispinterface;
  _IRecipientControl = interface;
  _DRecipientControl = dispinterface;
  _DRecipientControlEvents = dispinterface;
  _IDocSiteControl = interface;
  _DDocSiteControl = dispinterface;
  _DDocSiteControlEvents = dispinterface;
  _IDpxCtrl = interface;
  _IDpxCtrlDisp = dispinterface;
  _IPageWrapCtrl = interface;
  _DPageWrapCtrl = dispinterface;
  _DPageWrapCtrlEvents = dispinterface;
  _IInspectorCtrl = interface;
  _DInspectorCtrl = dispinterface;
  _DInspectorEvents = dispinterface;
  DDataSourceObject = dispinterface;

// *********************************************************************//
// Declaration of CoClasses defined in Type Library                       
// (NOTE: Here we map each CoClass to its Default Interface)              
// *********************************************************************//
  SyncObject = _SyncObject;
  Explorer = _Explorer;
  Inspector = _Inspector;
  MailItem = _MailItem;
  AppointmentItem = _AppointmentItem;
  MeetingItem = _MeetingItem;
  TaskItem = _TaskItem;
  OutlookApplication = _Application;
  ContactItem = _ContactItem;
  DistListItem = _DistListItem;
  DocumentItem = _DocumentItem;
  Explorers = _Explorers;
  Inspectors = _Inspectors;
  Folders = _Folders;
  Items = _Items;
  JournalItem = _JournalItem;
  NameSpace = _NameSpace;
  NoteItem = _NoteItem;
  OutlookBarGroups = _OutlookBarGroups;
  OutlookBarPane = _OutlookBarPane;
  OutlookBarShortcuts = _OutlookBarShortcuts;
  PostItem = _PostItem;
  RemoteItem = _RemoteItem;
  ReportItem = _ReportItem;
  TaskRequestAcceptItem = _TaskRequestAcceptItem;
  TaskRequestDeclineItem = _TaskRequestDeclineItem;
  TaskRequestItem = _TaskRequestItem;
  TaskRequestUpdateItem = _TaskRequestUpdateItem;
  _RecipientControl = _DRecipientControl;
  _DocSiteControl = _DDocSiteControl;
  _DpxCtrl = _IDpxCtrl;
  _PageWrapCtrl = _DPageWrapCtrl;
  _InspectorCtrl = _DInspectorCtrl;
  DataSourceObject = DDataSourceObject;
  Results = _Results;
  Views = _Views;
  Reminder = _Reminder;
  Reminders = _Reminders;


// *********************************************************************//
// Declaration of structures, unions and aliases.                         
// *********************************************************************//
  POleVariant1 = ^OleVariant; {*}
  PWordBool1 = ^WordBool; {*}
  PUserType1 = ^TGUID; {*}
  PShortint1 = ^Shortint; {*}
  PPShortint1 = ^PShortint1; {*}
  PUserType2 = ^DISPPARAMS; {*}


// *********************************************************************//
// Interface: Action
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {00063043-0000-0000-C000-000000000046}
// *********************************************************************//
  Action = interface(IDispatch)
    ['{00063043-0000-0000-C000-000000000046}']
    function Get_Application: _Application; safecall;
    function Get_Class_: OlObjectClass; safecall;
    function Get_Session: _NameSpace; safecall;
    function Get_Parent: IDispatch; safecall;
    function Get_CopyLike: OlActionCopyLike; safecall;
    procedure Set_CopyLike(CopyLike: OlActionCopyLike); safecall;
    function Get_Enabled: WordBool; safecall;
    procedure Set_Enabled(Enabled: WordBool); safecall;
    function Get_MessageClass: WideString; safecall;
    procedure Set_MessageClass(const MessageClass: WideString); safecall;
    function Get_Name: WideString; safecall;
    procedure Set_Name(const Name: WideString); safecall;
    function Get_Prefix: WideString; safecall;
    procedure Set_Prefix(const Prefix: WideString); safecall;
    function Get_ReplyStyle: OlActionReplyStyle; safecall;
    procedure Set_ReplyStyle(ReplyStyle: OlActionReplyStyle); safecall;
    function Get_ResponseStyle: OlActionResponseStyle; safecall;
    procedure Set_ResponseStyle(ResponseStyle: OlActionResponseStyle); safecall;
    function Get_ShowOn: OlActionShowOn; safecall;
    procedure Set_ShowOn(ShowOn: OlActionShowOn); safecall;
    procedure Delete; safecall;
    function Execute: IDispatch; safecall;
    property Application: _Application read Get_Application;
    property Class_: OlObjectClass read Get_Class_;
    property Session: _NameSpace read Get_Session;
    property Parent: IDispatch read Get_Parent;
    property CopyLike: OlActionCopyLike read Get_CopyLike write Set_CopyLike;
    property Enabled: WordBool read Get_Enabled write Set_Enabled;
    property MessageClass: WideString read Get_MessageClass write Set_MessageClass;
    property Name: WideString read Get_Name write Set_Name;
    property Prefix: WideString read Get_Prefix write Set_Prefix;
    property ReplyStyle: OlActionReplyStyle read Get_ReplyStyle write Set_ReplyStyle;
    property ResponseStyle: OlActionResponseStyle read Get_ResponseStyle write Set_ResponseStyle;
    property ShowOn: OlActionShowOn read Get_ShowOn write Set_ShowOn;
  end;

// *********************************************************************//
// DispIntf:  ActionDisp
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {00063043-0000-0000-C000-000000000046}
// *********************************************************************//
  ActionDisp = dispinterface
    ['{00063043-0000-0000-C000-000000000046}']
    property Application: _Application readonly dispid 61440;
    property Class_: OlObjectClass readonly dispid 61450;
    property Session: _NameSpace readonly dispid 61451;
    property Parent: IDispatch readonly dispid 61441;
    property CopyLike: OlActionCopyLike dispid 100;
    property Enabled: WordBool dispid 103;
    property MessageClass: WideString dispid 26;
    property Name: WideString dispid 12289;
    property Prefix: WideString dispid 61;
    property ReplyStyle: OlActionReplyStyle dispid 101;
    property ResponseStyle: OlActionResponseStyle dispid 102;
    property ShowOn: OlActionShowOn dispid 105;
    procedure Delete; dispid 108;
    function Execute: IDispatch; dispid 106;
  end;

// *********************************************************************//
// Interface: _Application
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {00063001-0000-0000-C000-000000000046}
// *********************************************************************//
  _Application = interface(IDispatch)
    ['{00063001-0000-0000-C000-000000000046}']
    function Get_Application: _Application; safecall;
    function Get_Class_: OlObjectClass; safecall;
    function Get_Session: _NameSpace; safecall;
    function Get_Parent: IDispatch; safecall;
    function Get_Assistant: Assistant; safecall;
    function Get_Name: WideString; safecall;
    function Get_Version: WideString; safecall;
    function ActiveExplorer: _Explorer; safecall;
    function ActiveInspector: _Inspector; safecall;
    function CreateItem(ItemType: OlItemType): IDispatch; safecall;
    function CreateItemFromTemplate(const TemplatePath: WideString; InFolder: OleVariant): IDispatch; safecall;
    function CreateObject(const ObjectName: WideString): IDispatch; safecall;
    function GetNamespace(const Type_: WideString): _NameSpace; safecall;
    procedure Quit; safecall;
    function Get_COMAddIns: COMAddIns; safecall;
    function Get_Explorers: _Explorers; safecall;
    function Get_Inspectors: _Inspectors; safecall;
    function Get_LanguageSettings: LanguageSettings; safecall;
    function Get_ProductCode: WideString; safecall;
    function Get_AnswerWizard: AnswerWizard; safecall;
    function Get_FeatureInstall: MsoFeatureInstall; safecall;
    procedure Set_FeatureInstall(FeatureInstall: MsoFeatureInstall); safecall;
    function ActiveWindow: IDispatch; safecall;
    function CopyFile(const FilePath: WideString; const DestFolderPath: WideString): IDispatch; safecall;
    function AdvancedSearch(const Scope: WideString; Filter: OleVariant; 
                            SearchSubFolders: OleVariant; Tag: OleVariant): Search; safecall;
    function IsSearchSynchronous(const LookInFolders: WideString): WordBool; safecall;
    procedure GetNewNickNames(var pvar: OleVariant); safecall;
    function Get_Reminders: _Reminders; safecall;
    property Application: _Application read Get_Application;
    property Class_: OlObjectClass read Get_Class_;
    property Session: _NameSpace read Get_Session;
    property Parent: IDispatch read Get_Parent;
    property Assistant: Assistant read Get_Assistant;
    property Name: WideString read Get_Name;
    property Version: WideString read Get_Version;
    property COMAddIns: COMAddIns read Get_COMAddIns;
    property Explorers: _Explorers read Get_Explorers;
    property Inspectors: _Inspectors read Get_Inspectors;
    property LanguageSettings: LanguageSettings read Get_LanguageSettings;
    property ProductCode: WideString read Get_ProductCode;
    property AnswerWizard: AnswerWizard read Get_AnswerWizard;
    property FeatureInstall: MsoFeatureInstall read Get_FeatureInstall write Set_FeatureInstall;
    property Reminders: _Reminders read Get_Reminders;
  end;

// *********************************************************************//
// DispIntf:  _ApplicationDisp
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {00063001-0000-0000-C000-000000000046}
// *********************************************************************//
  _ApplicationDisp = dispinterface
    ['{00063001-0000-0000-C000-000000000046}']
    property Application: _Application readonly dispid 61440;
    property Class_: OlObjectClass readonly dispid 61450;
    property Session: _NameSpace readonly dispid 61451;
    property Parent: IDispatch readonly dispid 61441;
    property Assistant: Assistant readonly dispid 276;
    property Name: WideString readonly dispid 12289;
    property Version: WideString readonly dispid 278;
    function ActiveExplorer: _Explorer; dispid 273;
    function ActiveInspector: _Inspector; dispid 274;
    function CreateItem(ItemType: OlItemType): IDispatch; dispid 266;
    function CreateItemFromTemplate(const TemplatePath: WideString; InFolder: OleVariant): IDispatch; dispid 267;
    function CreateObject(const ObjectName: WideString): IDispatch; dispid 277;
    function GetNamespace(const Type_: WideString): _NameSpace; dispid 272;
    procedure Quit; dispid 275;
    property COMAddIns: COMAddIns readonly dispid 280;
    property Explorers: _Explorers readonly dispid 281;
    property Inspectors: _Inspectors readonly dispid 282;
    property LanguageSettings: LanguageSettings readonly dispid 283;
    property ProductCode: WideString readonly dispid 284;
    property AnswerWizard: AnswerWizard readonly dispid 285;
    property FeatureInstall: MsoFeatureInstall dispid 286;
    function ActiveWindow: IDispatch; dispid 287;
    function CopyFile(const FilePath: WideString; const DestFolderPath: WideString): IDispatch; dispid 64098;
    function AdvancedSearch(const Scope: WideString; Filter: OleVariant; 
                            SearchSubFolders: OleVariant; Tag: OleVariant): Search; dispid 64101;
    function IsSearchSynchronous(const LookInFolders: WideString): WordBool; dispid 64108;
    procedure GetNewNickNames(var pvar: OleVariant); dispid 64072;
    property Reminders: _Reminders readonly dispid 64153;
  end;

// *********************************************************************//
// Interface: _NameSpace
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {00063002-0000-0000-C000-000000000046}
// *********************************************************************//
  _NameSpace = interface(IDispatch)
    ['{00063002-0000-0000-C000-000000000046}']
    function Get_Application: _Application; safecall;
    function Get_Class_: OlObjectClass; safecall;
    function Get_Session: _NameSpace; safecall;
    function Get_Parent: IDispatch; safecall;
    function Get_CurrentUser: Recipient; safecall;
    function Get_Folders: _Folders; safecall;
    function Get_type_: WideString; safecall;
    function Get_AddressLists: AddressLists; safecall;
    function CreateRecipient(const RecipientName: WideString): Recipient; safecall;
    function GetDefaultFolder(FolderType: OlDefaultFolders): MAPIFolder; safecall;
    function GetFolderFromID(const EntryIDFolder: WideString; EntryIDStore: OleVariant): MAPIFolder; safecall;
    function GetItemFromID(const EntryIDItem: WideString; EntryIDStore: OleVariant): IDispatch; safecall;
    function GetRecipientFromID(const EntryID: WideString): Recipient; safecall;
    function GetSharedDefaultFolder(const Recipient: Recipient; FolderType: OlDefaultFolders): MAPIFolder; safecall;
    procedure Logoff; safecall;
    procedure Logon(Profile: OleVariant; Password: OleVariant; ShowDialog: OleVariant; 
                    NewSession: OleVariant); safecall;
    function PickFolder: MAPIFolder; safecall;
    procedure RefreshRemoteHeaders; safecall;
    function Get_SyncObjects: SyncObjects; safecall;
    procedure AddStore(Store: OleVariant); safecall;
    procedure RemoveStore(const Folder: MAPIFolder); safecall;
    function Get_Offline: WordBool; safecall;
    procedure Dial(ContactItem: OleVariant); safecall;
    function Get_MAPIOBJECT: IUnknown; safecall;
    property Application: _Application read Get_Application;
    property Class_: OlObjectClass read Get_Class_;
    property Session: _NameSpace read Get_Session;
    property Parent: IDispatch read Get_Parent;
    property CurrentUser: Recipient read Get_CurrentUser;
    property Folders: _Folders read Get_Folders;
    property type_: WideString read Get_type_;
    property AddressLists: AddressLists read Get_AddressLists;
    property SyncObjects: SyncObjects read Get_SyncObjects;
    property Offline: WordBool read Get_Offline;
    property MAPIOBJECT: IUnknown read Get_MAPIOBJECT;
  end;

// *********************************************************************//
// DispIntf:  _NameSpaceDisp
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {00063002-0000-0000-C000-000000000046}
// *********************************************************************//
  _NameSpaceDisp = dispinterface
    ['{00063002-0000-0000-C000-000000000046}']
    property Application: _Application readonly dispid 61440;
    property Class_: OlObjectClass readonly dispid 61450;
    property Session: _NameSpace readonly dispid 61451;
    property Parent: IDispatch readonly dispid 61441;
    property CurrentUser: Recipient readonly dispid 8449;
    property Folders: _Folders readonly dispid 8451;
    property type_: WideString readonly dispid 8452;
    property AddressLists: AddressLists readonly dispid 8461;
    function CreateRecipient(const RecipientName: WideString): Recipient; dispid 8458;
    function GetDefaultFolder(FolderType: OlDefaultFolders): MAPIFolder; dispid 8459;
    function GetFolderFromID(const EntryIDFolder: WideString; EntryIDStore: OleVariant): MAPIFolder; dispid 8456;
    function GetItemFromID(const EntryIDItem: WideString; EntryIDStore: OleVariant): IDispatch; dispid 8457;
    function GetRecipientFromID(const EntryID: WideString): Recipient; dispid 8455;
    function GetSharedDefaultFolder(const Recipient: Recipient; FolderType: OlDefaultFolders): MAPIFolder; dispid 8460;
    procedure Logoff; dispid 8454;
    procedure Logon(Profile: OleVariant; Password: OleVariant; ShowDialog: OleVariant; 
                    NewSession: OleVariant); dispid 8453;
    function PickFolder: MAPIFolder; dispid 8462;
    procedure RefreshRemoteHeaders; dispid 8471;
    property SyncObjects: SyncObjects readonly dispid 8472;
    procedure AddStore(Store: OleVariant); dispid 8473;
    procedure RemoveStore(const Folder: MAPIFolder); dispid 8474;
    property Offline: WordBool readonly dispid 64076;
    procedure Dial(ContactItem: OleVariant); dispid 64013;
    property MAPIOBJECT: IUnknown readonly dispid 61696;
  end;

// *********************************************************************//
// Interface: Recipient
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {00063045-0000-0000-C000-000000000046}
// *********************************************************************//
  Recipient = interface(IDispatch)
    ['{00063045-0000-0000-C000-000000000046}']
    function Get_Application: _Application; safecall;
    function Get_Class_: OlObjectClass; safecall;
    function Get_Session: _NameSpace; safecall;
    function Get_Parent: IDispatch; safecall;
    function Get_Address: WideString; safecall;
    function Get_AddressEntry: AddressEntry; safecall;
    procedure _Set_AddressEntry(const AddressEntry: AddressEntry); safecall;
    function Get_AutoResponse: WideString; safecall;
    procedure Set_AutoResponse(const AutoResponse: WideString); safecall;
    function Get_DisplayType: OlDisplayType; safecall;
    function Get_EntryID: WideString; safecall;
    function Get_Index: Integer; safecall;
    function Get_MeetingResponseStatus: OlResponseStatus; safecall;
    function Get_Name: WideString; safecall;
    function Get_Resolved: WordBool; safecall;
    function Get_TrackingStatus: OlTrackingStatus; safecall;
    procedure Set_TrackingStatus(TrackingStatus: OlTrackingStatus); safecall;
    function Get_TrackingStatusTime: TDateTime; safecall;
    procedure Set_TrackingStatusTime(TrackingStatusTime: TDateTime); safecall;
    function Get_type_: Integer; safecall;
    procedure Set_type_(Type_: Integer); safecall;
    procedure Delete; safecall;
    function FreeBusy(Start: TDateTime; MinPerChar: Integer; CompleteFormat: OleVariant): WideString; safecall;
    function Resolve: WordBool; safecall;
    property Application: _Application read Get_Application;
    property Class_: OlObjectClass read Get_Class_;
    property Session: _NameSpace read Get_Session;
    property Parent: IDispatch read Get_Parent;
    property Address: WideString read Get_Address;
    property AddressEntry: AddressEntry read Get_AddressEntry write _Set_AddressEntry;
    property AutoResponse: WideString read Get_AutoResponse write Set_AutoResponse;
    property DisplayType: OlDisplayType read Get_DisplayType;
    property EntryID: WideString read Get_EntryID;
    property Index: Integer read Get_Index;
    property MeetingResponseStatus: OlResponseStatus read Get_MeetingResponseStatus;
    property Name: WideString read Get_Name;
    property Resolved: WordBool read Get_Resolved;
    property TrackingStatus: OlTrackingStatus read Get_TrackingStatus write Set_TrackingStatus;
    property TrackingStatusTime: TDateTime read Get_TrackingStatusTime write Set_TrackingStatusTime;
    property type_: Integer read Get_type_ write Set_type_;
  end;

// *********************************************************************//
// DispIntf:  RecipientDisp
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {00063045-0000-0000-C000-000000000046}
// *********************************************************************//
  RecipientDisp = dispinterface
    ['{00063045-0000-0000-C000-000000000046}']
    property Application: _Application readonly dispid 61440;
    property Class_: OlObjectClass readonly dispid 61450;
    property Session: _NameSpace readonly dispid 61451;
    property Parent: IDispatch readonly dispid 109;
    property Address: WideString readonly dispid 12291;
    property AddressEntry: AddressEntry dispid 121;
    property AutoResponse: WideString dispid 106;
    property DisplayType: OlDisplayType readonly dispid 14592;
    property EntryID: WideString readonly dispid 61470;
    property Index: Integer readonly dispid 91;
    property MeetingResponseStatus: OlResponseStatus readonly dispid 102;
    property Name: WideString readonly dispid 12289;
    property Resolved: WordBool readonly dispid 100;
    property TrackingStatus: OlTrackingStatus dispid 118;
    property TrackingStatusTime: TDateTime dispid 119;
    property type_: Integer dispid 3093;
    procedure Delete; dispid 110;
    function FreeBusy(Start: TDateTime; MinPerChar: Integer; CompleteFormat: OleVariant): WideString; dispid 111;
    function Resolve: WordBool; dispid 113;
  end;

// *********************************************************************//
// Interface: AddressEntry
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {0006304B-0000-0000-C000-000000000046}
// *********************************************************************//
  AddressEntry = interface(IDispatch)
    ['{0006304B-0000-0000-C000-000000000046}']
    function Get_Application: _Application; safecall;
    function Get_Class_: OlObjectClass; safecall;
    function Get_Session: _NameSpace; safecall;
    function Get_Parent: IDispatch; safecall;
    function Get_Address: WideString; safecall;
    procedure Set_Address(const Address: WideString); safecall;
    function Get_DisplayType: OlDisplayType; safecall;
    function Get_ID: WideString; safecall;
    function Get_Manager: AddressEntry; safecall;
    function Get_MAPIOBJECT: IUnknown; safecall;
    procedure Set_MAPIOBJECT(const MAPIOBJECT: IUnknown); safecall;
    function Get_Members: AddressEntries; safecall;
    function Get_Name: WideString; safecall;
    procedure Set_Name(const Name: WideString); safecall;
    function Get_type_: WideString; safecall;
    procedure Set_type_(const Type_: WideString); safecall;
    procedure Delete; safecall;
    procedure Details(HWnd: OleVariant); safecall;
    function GetFreeBusy(Start: TDateTime; MinPerChar: Integer; CompleteFormat: OleVariant): WideString; safecall;
    procedure Update(MakePermanent: OleVariant; Refresh: OleVariant); safecall;
    procedure UpdateFreeBusy; safecall;
    property Application: _Application read Get_Application;
    property Class_: OlObjectClass read Get_Class_;
    property Session: _NameSpace read Get_Session;
    property Parent: IDispatch read Get_Parent;
    property Address: WideString read Get_Address write Set_Address;
    property DisplayType: OlDisplayType read Get_DisplayType;
    property ID: WideString read Get_ID;
    property Manager: AddressEntry read Get_Manager;
    property MAPIOBJECT: IUnknown read Get_MAPIOBJECT write Set_MAPIOBJECT;
    property Members: AddressEntries read Get_Members;
    property Name: WideString read Get_Name write Set_Name;
    property type_: WideString read Get_type_ write Set_type_;
  end;

// *********************************************************************//
// DispIntf:  AddressEntryDisp
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {0006304B-0000-0000-C000-000000000046}
// *********************************************************************//
  AddressEntryDisp = dispinterface
    ['{0006304B-0000-0000-C000-000000000046}']
    property Application: _Application readonly dispid 61440;
    property Class_: OlObjectClass readonly dispid 61450;
    property Session: _NameSpace readonly dispid 61451;
    property Parent: IDispatch readonly dispid 61441;
    property Address: WideString dispid 12291;
    property DisplayType: OlDisplayType readonly dispid 14592;
    property ID: WideString readonly dispid 61470;
    property Manager: AddressEntry readonly dispid 771;
    property MAPIOBJECT: IUnknown dispid 61696;
    property Members: AddressEntries readonly dispid 772;
    property Name: WideString dispid 12289;
    property type_: WideString dispid 12290;
    procedure Delete; dispid 770;
    procedure Details(HWnd: OleVariant); dispid 769;
    function GetFreeBusy(Start: TDateTime; MinPerChar: Integer; CompleteFormat: OleVariant): WideString; dispid 774;
    procedure Update(MakePermanent: OleVariant; Refresh: OleVariant); dispid 768;
    procedure UpdateFreeBusy; dispid 775;
  end;

// *********************************************************************//
// Interface: AddressEntries
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {0006304A-0000-0000-C000-000000000046}
// *********************************************************************//
  AddressEntries = interface(IDispatch)
    ['{0006304A-0000-0000-C000-000000000046}']
    function Get_Application: _Application; safecall;
    function Get_Class_: OlObjectClass; safecall;
    function Get_Session: _NameSpace; safecall;
    function Get_Parent: IDispatch; safecall;
    function Get_Count: Integer; safecall;
    function Item(Index: OleVariant): AddressEntry; safecall;
    function Get_RawTable: IUnknown; safecall;
    function Add(const Type_: WideString; Name: OleVariant; Address: OleVariant): AddressEntry; safecall;
    function GetFirst: AddressEntry; safecall;
    function GetLast: AddressEntry; safecall;
    function GetNext: AddressEntry; safecall;
    function GetPrevious: AddressEntry; safecall;
    procedure Sort(Property_: OleVariant; Order: OleVariant); safecall;
    property Application: _Application read Get_Application;
    property Class_: OlObjectClass read Get_Class_;
    property Session: _NameSpace read Get_Session;
    property Parent: IDispatch read Get_Parent;
    property Count: Integer read Get_Count;
    property RawTable: IUnknown read Get_RawTable;
  end;

// *********************************************************************//
// DispIntf:  AddressEntriesDisp
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {0006304A-0000-0000-C000-000000000046}
// *********************************************************************//
  AddressEntriesDisp = dispinterface
    ['{0006304A-0000-0000-C000-000000000046}']
    property Application: _Application readonly dispid 61440;
    property Class_: OlObjectClass readonly dispid 61450;
    property Session: _NameSpace readonly dispid 61451;
    property Parent: IDispatch readonly dispid 61441;
    property Count: Integer readonly dispid 80;
    function Item(Index: OleVariant): AddressEntry; dispid 81;
    property RawTable: IUnknown readonly dispid 90;
    function Add(const Type_: WideString; Name: OleVariant; Address: OleVariant): AddressEntry; dispid 95;
    function GetFirst: AddressEntry; dispid 86;
    function GetLast: AddressEntry; dispid 88;
    function GetNext: AddressEntry; dispid 87;
    function GetPrevious: AddressEntry; dispid 89;
    procedure Sort(Property_: OleVariant; Order: OleVariant); dispid 97;
  end;

// *********************************************************************//
// Interface: _Folders
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {00063040-0000-0000-C000-000000000046}
// *********************************************************************//
  _Folders = interface(IDispatch)
    ['{00063040-0000-0000-C000-000000000046}']
    function Get_Application: _Application; safecall;
    function Get_Class_: OlObjectClass; safecall;
    function Get_Session: _NameSpace; safecall;
    function Get_Parent: IDispatch; safecall;
    function Get_Count: Integer; safecall;
    function Item(Index: OleVariant): MAPIFolder; safecall;
    function Get_RawTable: IUnknown; safecall;
    function Add(const Name: WideString; Type_: OleVariant): MAPIFolder; safecall;
    function GetFirst: MAPIFolder; safecall;
    function GetLast: MAPIFolder; safecall;
    function GetNext: MAPIFolder; safecall;
    function GetPrevious: MAPIFolder; safecall;
    procedure Remove(Index: Integer); safecall;
    property Application: _Application read Get_Application;
    property Class_: OlObjectClass read Get_Class_;
    property Session: _NameSpace read Get_Session;
    property Parent: IDispatch read Get_Parent;
    property Count: Integer read Get_Count;
    property RawTable: IUnknown read Get_RawTable;
  end;

// *********************************************************************//
// DispIntf:  _FoldersDisp
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {00063040-0000-0000-C000-000000000046}
// *********************************************************************//
  _FoldersDisp = dispinterface
    ['{00063040-0000-0000-C000-000000000046}']
    property Application: _Application readonly dispid 61440;
    property Class_: OlObjectClass readonly dispid 61450;
    property Session: _NameSpace readonly dispid 61451;
    property Parent: IDispatch readonly dispid 61441;
    property Count: Integer readonly dispid 80;
    function Item(Index: OleVariant): MAPIFolder; dispid 81;
    property RawTable: IUnknown readonly dispid 90;
    function Add(const Name: WideString; Type_: OleVariant): MAPIFolder; dispid 95;
    function GetFirst: MAPIFolder; dispid 86;
    function GetLast: MAPIFolder; dispid 88;
    function GetNext: MAPIFolder; dispid 87;
    function GetPrevious: MAPIFolder; dispid 89;
    procedure Remove(Index: Integer); dispid 84;
  end;

// *********************************************************************//
// Interface: MAPIFolder
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {00063006-0000-0000-C000-000000000046}
// *********************************************************************//
  MAPIFolder = interface(IDispatch)
    ['{00063006-0000-0000-C000-000000000046}']
    function Get_Application: _Application; safecall;
    function Get_Class_: OlObjectClass; safecall;
    function Get_Session: _NameSpace; safecall;
    function Get_Parent: IDispatch; safecall;
    function Get_DefaultItemType: OlItemType; safecall;
    function Get_DefaultMessageClass: WideString; safecall;
    function Get_Description: WideString; safecall;
    procedure Set_Description(const Description: WideString); safecall;
    function Get_EntryID: WideString; safecall;
    function Get_Folders: _Folders; safecall;
    function Get_Items: _Items; safecall;
    function Get_Name: WideString; safecall;
    procedure Set_Name(const Name: WideString); safecall;
    function Get_StoreID: WideString; safecall;
    function Get_UnReadItemCount: Integer; safecall;
    function CopyTo(const DestinationFolder: MAPIFolder): MAPIFolder; safecall;
    procedure Delete; safecall;
    procedure Display; safecall;
    function GetExplorer(DisplayMode: OleVariant): _Explorer; safecall;
    procedure MoveTo(const DestinationFolder: MAPIFolder); safecall;
    function Get_UserPermissions: IDispatch; safecall;
    function Get_WebViewOn: WordBool; safecall;
    procedure Set_WebViewOn(WebViewOn: WordBool); safecall;
    function Get_WebViewURL: WideString; safecall;
    procedure Set_WebViewURL(const WebViewURL: WideString); safecall;
    function Get_WebViewAllowNavigation: WordBool; safecall;
    procedure Set_WebViewAllowNavigation(WebViewAllowNavigation: WordBool); safecall;
    procedure AddToPFFavorites; safecall;
    function Get_AddressBookName: WideString; safecall;
    procedure Set_AddressBookName(const AddressBookName: WideString); safecall;
    function Get_ShowAsOutlookAB: WordBool; safecall;
    procedure Set_ShowAsOutlookAB(ShowAsOutlookAB: WordBool); safecall;
    function Get_FolderPath: WideString; safecall;
    procedure AddToFavorites(fNoUI: OleVariant; Name: OleVariant); safecall;
    function Get_InAppFolderSyncObject: WordBool; safecall;
    procedure Set_InAppFolderSyncObject(InAppFolderSyncObject: WordBool); safecall;
    function Get_CurrentView: View; safecall;
    function Get_CustomViewsOnly: WordBool; safecall;
    procedure Set_CustomViewsOnly(CustomViewsOnly: WordBool); safecall;
    function Get_Views: _Views; safecall;
    function Get_MAPIOBJECT: IUnknown; safecall;
    function Get_FullFolderPath: WideString; safecall;
    property Application: _Application read Get_Application;
    property Class_: OlObjectClass read Get_Class_;
    property Session: _NameSpace read Get_Session;
    property Parent: IDispatch read Get_Parent;
    property DefaultItemType: OlItemType read Get_DefaultItemType;
    property DefaultMessageClass: WideString read Get_DefaultMessageClass;
    property Description: WideString read Get_Description write Set_Description;
    property EntryID: WideString read Get_EntryID;
    property Folders: _Folders read Get_Folders;
    property Items: _Items read Get_Items;
    property Name: WideString read Get_Name write Set_Name;
    property StoreID: WideString read Get_StoreID;
    property UnReadItemCount: Integer read Get_UnReadItemCount;
    property UserPermissions: IDispatch read Get_UserPermissions;
    property WebViewOn: WordBool read Get_WebViewOn write Set_WebViewOn;
    property WebViewURL: WideString read Get_WebViewURL write Set_WebViewURL;
    property WebViewAllowNavigation: WordBool read Get_WebViewAllowNavigation write Set_WebViewAllowNavigation;
    property AddressBookName: WideString read Get_AddressBookName write Set_AddressBookName;
    property ShowAsOutlookAB: WordBool read Get_ShowAsOutlookAB write Set_ShowAsOutlookAB;
    property FolderPath: WideString read Get_FolderPath;
    property InAppFolderSyncObject: WordBool read Get_InAppFolderSyncObject write Set_InAppFolderSyncObject;
    property CurrentView: View read Get_CurrentView;
    property CustomViewsOnly: WordBool read Get_CustomViewsOnly write Set_CustomViewsOnly;
    property Views: _Views read Get_Views;
    property MAPIOBJECT: IUnknown read Get_MAPIOBJECT;
    property FullFolderPath: WideString read Get_FullFolderPath;
  end;

// *********************************************************************//
// DispIntf:  MAPIFolderDisp
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {00063006-0000-0000-C000-000000000046}
// *********************************************************************//
  MAPIFolderDisp = dispinterface
    ['{00063006-0000-0000-C000-000000000046}']
    property Application: _Application readonly dispid 61440;
    property Class_: OlObjectClass readonly dispid 61450;
    property Session: _NameSpace readonly dispid 61451;
    property Parent: IDispatch readonly dispid 61441;
    property DefaultItemType: OlItemType readonly dispid 12550;
    property DefaultMessageClass: WideString readonly dispid 12551;
    property Description: WideString dispid 12292;
    property EntryID: WideString readonly dispid 61470;
    property Folders: _Folders readonly dispid 8451;
    property Items: _Items readonly dispid 12544;
    property Name: WideString dispid 12289;
    property StoreID: WideString readonly dispid 12552;
    property UnReadItemCount: Integer readonly dispid 13827;
    function CopyTo(const DestinationFolder: MAPIFolder): MAPIFolder; dispid 61490;
    procedure Delete; dispid 61509;
    procedure Display; dispid 12548;
    function GetExplorer(DisplayMode: OleVariant): _Explorer; dispid 12545;
    procedure MoveTo(const DestinationFolder: MAPIFolder); dispid 61492;
    property UserPermissions: IDispatch readonly dispid 12561;
    property WebViewOn: WordBool dispid 12562;
    property WebViewURL: WideString dispid 12563;
    property WebViewAllowNavigation: WordBool dispid 12564;
    procedure AddToPFFavorites; dispid 12565;
    property AddressBookName: WideString dispid 64110;
    property ShowAsOutlookAB: WordBool dispid 64111;
    property FolderPath: WideString readonly dispid 64120;
    procedure AddToFavorites(fNoUI: OleVariant; Name: OleVariant); dispid 64097;
    property InAppFolderSyncObject: WordBool dispid 64075;
    property CurrentView: View readonly dispid 8704;
    property CustomViewsOnly: WordBool dispid 64070;
    property Views: _Views readonly dispid 12553;
    property MAPIOBJECT: IUnknown readonly dispid 61696;
    property FullFolderPath: WideString readonly dispid 64145;
  end;

// *********************************************************************//
// Interface: _Items
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {00063041-0000-0000-C000-000000000046}
// *********************************************************************//
  _Items = interface(IDispatch)
    ['{00063041-0000-0000-C000-000000000046}']
    function Get_Application: _Application; safecall;
    function Get_Class_: OlObjectClass; safecall;
    function Get_Session: _NameSpace; safecall;
    function Get_Parent: IDispatch; safecall;
    function Get_Count: Integer; safecall;
    function Item(Index: OleVariant): IDispatch; safecall;
    function Get_RawTable: IUnknown; safecall;
    function Get_IncludeRecurrences: WordBool; safecall;
    procedure Set_IncludeRecurrences(IncludeRecurrences: WordBool); safecall;
    function Add(Type_: OleVariant): IDispatch; safecall;
    function Find(const Filter: WideString): IDispatch; safecall;
    function FindNext: IDispatch; safecall;
    function GetFirst: IDispatch; safecall;
    function GetLast: IDispatch; safecall;
    function GetNext: IDispatch; safecall;
    function GetPrevious: IDispatch; safecall;
    procedure Remove(Index: Integer); safecall;
    procedure ResetColumns; safecall;
    function Restrict(const Filter: WideString): _Items; safecall;
    procedure SetColumns(const Columns: WideString); safecall;
    procedure Sort(const Property_: WideString; Descending: OleVariant); safecall;
    property Application: _Application read Get_Application;
    property Class_: OlObjectClass read Get_Class_;
    property Session: _NameSpace read Get_Session;
    property Parent: IDispatch read Get_Parent;
    property Count: Integer read Get_Count;
    property RawTable: IUnknown read Get_RawTable;
    property IncludeRecurrences: WordBool read Get_IncludeRecurrences write Set_IncludeRecurrences;
  end;

// *********************************************************************//
// DispIntf:  _ItemsDisp
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {00063041-0000-0000-C000-000000000046}
// *********************************************************************//
  _ItemsDisp = dispinterface
    ['{00063041-0000-0000-C000-000000000046}']
    property Application: _Application readonly dispid 61440;
    property Class_: OlObjectClass readonly dispid 61450;
    property Session: _NameSpace readonly dispid 61451;
    property Parent: IDispatch readonly dispid 61441;
    property Count: Integer readonly dispid 80;
    function Item(Index: OleVariant): IDispatch; dispid 81;
    property RawTable: IUnknown readonly dispid 90;
    property IncludeRecurrences: WordBool dispid 206;
    function Add(Type_: OleVariant): IDispatch; dispid 95;
    function Find(const Filter: WideString): IDispatch; dispid 98;
    function FindNext: IDispatch; dispid 99;
    function GetFirst: IDispatch; dispid 86;
    function GetLast: IDispatch; dispid 88;
    function GetNext: IDispatch; dispid 87;
    function GetPrevious: IDispatch; dispid 89;
    procedure Remove(Index: Integer); dispid 84;
    procedure ResetColumns; dispid 93;
    function Restrict(const Filter: WideString): _Items; dispid 100;
    procedure SetColumns(const Columns: WideString); dispid 92;
    procedure Sort(const Property_: WideString; Descending: OleVariant); dispid 97;
  end;

// *********************************************************************//
// Interface: _Explorer
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {00063003-0000-0000-C000-000000000046}
// *********************************************************************//
  _Explorer = interface(IDispatch)
    ['{00063003-0000-0000-C000-000000000046}']
    function Get_Application: _Application; safecall;
    function Get_Class_: OlObjectClass; safecall;
    function Get_Session: _NameSpace; safecall;
    function Get_Parent: IDispatch; safecall;
    function Get_CommandBars: CommandBars; safecall;
    function Get_CurrentFolder: MAPIFolder; safecall;
    procedure _Set_CurrentFolder(const CurrentFolder: MAPIFolder); safecall;
    procedure Close; safecall;
    procedure Display; safecall;
    function Get_Caption: WideString; safecall;
    function Get_CurrentView: OleVariant; safecall;
    procedure Set_CurrentView(CurrentView: OleVariant); safecall;
    function Get_Height: Integer; safecall;
    procedure Set_Height(Height: Integer); safecall;
    function Get_Left: Integer; safecall;
    procedure Set_Left(Left: Integer); safecall;
    function Get_Panes: Panes; safecall;
    function Get_Selection: Selection; safecall;
    function Get_Top: Integer; safecall;
    procedure Set_Top(Top: Integer); safecall;
    function Get_Width: Integer; safecall;
    procedure Set_Width(Width: Integer); safecall;
    function Get_WindowState: OlWindowState; safecall;
    procedure Set_WindowState(WindowState: OlWindowState); safecall;
    procedure Activate; safecall;
    function IsPaneVisible(Pane: OlPane): WordBool; safecall;
    procedure ShowPane(Pane: OlPane; Visible: WordBool); safecall;
    function Get_Views: IDispatch; safecall;
    function Get_HTMLDocument: IDispatch; safecall;
    property Application: _Application read Get_Application;
    property Class_: OlObjectClass read Get_Class_;
    property Session: _NameSpace read Get_Session;
    property Parent: IDispatch read Get_Parent;
    property CommandBars: CommandBars read Get_CommandBars;
    property CurrentFolder: MAPIFolder read Get_CurrentFolder write _Set_CurrentFolder;
    property Caption: WideString read Get_Caption;
    property CurrentView: OleVariant read Get_CurrentView write Set_CurrentView;
    property Height: Integer read Get_Height write Set_Height;
    property Left: Integer read Get_Left write Set_Left;
    property Panes: Panes read Get_Panes;
    property Selection: Selection read Get_Selection;
    property Top: Integer read Get_Top write Set_Top;
    property Width: Integer read Get_Width write Set_Width;
    property WindowState: OlWindowState read Get_WindowState write Set_WindowState;
    property Views: IDispatch read Get_Views;
    property HTMLDocument: IDispatch read Get_HTMLDocument;
  end;

// *********************************************************************//
// DispIntf:  _ExplorerDisp
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {00063003-0000-0000-C000-000000000046}
// *********************************************************************//
  _ExplorerDisp = dispinterface
    ['{00063003-0000-0000-C000-000000000046}']
    property Application: _Application readonly dispid 61440;
    property Class_: OlObjectClass readonly dispid 61450;
    property Session: _NameSpace readonly dispid 61451;
    property Parent: IDispatch readonly dispid 61441;
    property CommandBars: CommandBars readonly dispid 8448;
    property CurrentFolder: MAPIFolder dispid 8449;
    procedure Close; dispid 8451;
    procedure Display; dispid 8452;
    property Caption: WideString readonly dispid 8465;
    property CurrentView: OleVariant dispid 8704;
    property Height: Integer dispid 8468;
    property Left: Integer dispid 8469;
    property Panes: Panes readonly dispid 8705;
    property Selection: Selection readonly dispid 8706;
    property Top: Integer dispid 8470;
    property Width: Integer dispid 8471;
    property WindowState: OlWindowState dispid 8466;
    procedure Activate; dispid 8467;
    function IsPaneVisible(Pane: OlPane): WordBool; dispid 8707;
    procedure ShowPane(Pane: OlPane; Visible: WordBool); dispid 8708;
    property Views: IDispatch readonly dispid 12553;
    property HTMLDocument: IDispatch readonly dispid 64146;
  end;

// *********************************************************************//
// Interface: Panes
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {00063009-0000-0000-C000-000000000046}
// *********************************************************************//
  Panes = interface(IDispatch)
    ['{00063009-0000-0000-C000-000000000046}']
    function Get_Application: _Application; safecall;
    function Get_Class_: OlObjectClass; safecall;
    function Get_Session: _NameSpace; safecall;
    function Get_Parent: IDispatch; safecall;
    function Get_Count: Integer; safecall;
    function Item(Index: OleVariant): IDispatch; safecall;
    property Application: _Application read Get_Application;
    property Class_: OlObjectClass read Get_Class_;
    property Session: _NameSpace read Get_Session;
    property Parent: IDispatch read Get_Parent;
    property Count: Integer read Get_Count;
  end;

// *********************************************************************//
// DispIntf:  PanesDisp
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {00063009-0000-0000-C000-000000000046}
// *********************************************************************//
  PanesDisp = dispinterface
    ['{00063009-0000-0000-C000-000000000046}']
    property Application: _Application readonly dispid 61440;
    property Class_: OlObjectClass readonly dispid 61450;
    property Session: _NameSpace readonly dispid 61451;
    property Parent: IDispatch readonly dispid 61441;
    property Count: Integer readonly dispid 80;
    function Item(Index: OleVariant): IDispatch; dispid 81;
  end;

// *********************************************************************//
// Interface: Selection
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {00063087-0000-0000-C000-000000000046}
// *********************************************************************//
  Selection = interface(IDispatch)
    ['{00063087-0000-0000-C000-000000000046}']
    function Get_Application: _Application; safecall;
    function Get_Class_: OlObjectClass; safecall;
    function Get_Session: _NameSpace; safecall;
    function Get_Parent: IDispatch; safecall;
    function Get_Count: Integer; safecall;
    function Item(Index: OleVariant): IDispatch; safecall;
    property Application: _Application read Get_Application;
    property Class_: OlObjectClass read Get_Class_;
    property Session: _NameSpace read Get_Session;
    property Parent: IDispatch read Get_Parent;
    property Count: Integer read Get_Count;
  end;

// *********************************************************************//
// DispIntf:  SelectionDisp
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {00063087-0000-0000-C000-000000000046}
// *********************************************************************//
  SelectionDisp = dispinterface
    ['{00063087-0000-0000-C000-000000000046}']
    property Application: _Application readonly dispid 61440;
    property Class_: OlObjectClass readonly dispid 61450;
    property Session: _NameSpace readonly dispid 61451;
    property Parent: IDispatch readonly dispid 61441;
    property Count: Integer readonly dispid 80;
    function Item(Index: OleVariant): IDispatch; dispid 81;
  end;

// *********************************************************************//
// Interface: View
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {00063095-0000-0000-C000-000000000046}
// *********************************************************************//
  View = interface(IDispatch)
    ['{00063095-0000-0000-C000-000000000046}']
    function Get_Application: _Application; safecall;
    function Get_Class_: OlObjectClass; safecall;
    function Get_Session: _NameSpace; safecall;
    function Get_Parent: IDispatch; safecall;
    procedure Apply; safecall;
    function Copy(const Name: WideString; SaveOption: OlViewSaveOption): View; safecall;
    procedure Delete; safecall;
    procedure Reset; safecall;
    procedure Save; safecall;
    function Get_Language: WideString; safecall;
    procedure Set_Language(const Language: WideString); safecall;
    function Get_LockUserChanges: WordBool; safecall;
    procedure Set_LockUserChanges(LockUserChanges: WordBool); safecall;
    function Get_Name: WideString; safecall;
    procedure Set_Name(const Name: WideString); safecall;
    function Get_SaveOption: OlViewSaveOption; safecall;
    function Get_Standard: WordBool; safecall;
    function Get_ViewType: OlViewType; safecall;
    function Get_XML: WideString; safecall;
    procedure Set_XML(const XML: WideString); safecall;
    procedure GoToDate(Date: TDateTime); safecall;
    property Application: _Application read Get_Application;
    property Class_: OlObjectClass read Get_Class_;
    property Session: _NameSpace read Get_Session;
    property Parent: IDispatch read Get_Parent;
    property Language: WideString read Get_Language write Set_Language;
    property LockUserChanges: WordBool read Get_LockUserChanges write Set_LockUserChanges;
    property Name: WideString read Get_Name write Set_Name;
    property SaveOption: OlViewSaveOption read Get_SaveOption;
    property Standard: WordBool read Get_Standard;
    property ViewType: OlViewType read Get_ViewType;
    property XML: WideString read Get_XML write Set_XML;
  end;

// *********************************************************************//
// DispIntf:  ViewDisp
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {00063095-0000-0000-C000-000000000046}
// *********************************************************************//
  ViewDisp = dispinterface
    ['{00063095-0000-0000-C000-000000000046}']
    property Application: _Application readonly dispid 61440;
    property Class_: OlObjectClass readonly dispid 61450;
    property Session: _NameSpace readonly dispid 61451;
    property Parent: IDispatch readonly dispid 61441;
    procedure Apply; dispid 407;
    function Copy(const Name: WideString; SaveOption: OlViewSaveOption): View; dispid 61490;
    procedure Delete; dispid 61514;
    procedure Reset; dispid 64068;
    procedure Save; dispid 61512;
    property Language: WideString dispid 64065;
    property LockUserChanges: WordBool dispid 64064;
    property Name: WideString dispid 0;
    property SaveOption: OlViewSaveOption readonly dispid 64063;
    property Standard: WordBool readonly dispid 64062;
    property ViewType: OlViewType readonly dispid 404;
    property XML: WideString dispid 64060;
    procedure GoToDate(Date: TDateTime); dispid 64054;
  end;

// *********************************************************************//
// Interface: _Views
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {0006308D-0000-0000-C000-000000000046}
// *********************************************************************//
  _Views = interface(IDispatch)
    ['{0006308D-0000-0000-C000-000000000046}']
    function Get_Application: _Application; safecall;
    function Get_Class_: OlObjectClass; safecall;
    function Get_Session: _NameSpace; safecall;
    function Get_Parent: IDispatch; safecall;
    function Get_Count: Integer; safecall;
    function Item(Index: OleVariant): View; safecall;
    function Add(const Name: WideString; ViewType: OlViewType; SaveOption: OlViewSaveOption): View; safecall;
    procedure Remove(Index: OleVariant); safecall;
    function _NewEnum: IUnknown; safecall;
    property Application: _Application read Get_Application;
    property Class_: OlObjectClass read Get_Class_;
    property Session: _NameSpace read Get_Session;
    property Parent: IDispatch read Get_Parent;
    property Count: Integer read Get_Count;
  end;

// *********************************************************************//
// DispIntf:  _ViewsDisp
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {0006308D-0000-0000-C000-000000000046}
// *********************************************************************//
  _ViewsDisp = dispinterface
    ['{0006308D-0000-0000-C000-000000000046}']
    property Application: _Application readonly dispid 61440;
    property Class_: OlObjectClass readonly dispid 61450;
    property Session: _NameSpace readonly dispid 61451;
    property Parent: IDispatch readonly dispid 61441;
    property Count: Integer readonly dispid 80;
    function Item(Index: OleVariant): View; dispid 0;
    function Add(const Name: WideString; ViewType: OlViewType; SaveOption: OlViewSaveOption): View; dispid 95;
    procedure Remove(Index: OleVariant); dispid 84;
    function _NewEnum: IUnknown; dispid -4;
  end;

// *********************************************************************//
// Interface: AddressLists
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {00063048-0000-0000-C000-000000000046}
// *********************************************************************//
  AddressLists = interface(IDispatch)
    ['{00063048-0000-0000-C000-000000000046}']
    function Get_Application: _Application; safecall;
    function Get_Class_: OlObjectClass; safecall;
    function Get_Session: _NameSpace; safecall;
    function Get_Parent: IDispatch; safecall;
    function Get_Count: Integer; safecall;
    function Item(Index: OleVariant): AddressList; safecall;
    property Application: _Application read Get_Application;
    property Class_: OlObjectClass read Get_Class_;
    property Session: _NameSpace read Get_Session;
    property Parent: IDispatch read Get_Parent;
    property Count: Integer read Get_Count;
  end;

// *********************************************************************//
// DispIntf:  AddressListsDisp
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {00063048-0000-0000-C000-000000000046}
// *********************************************************************//
  AddressListsDisp = dispinterface
    ['{00063048-0000-0000-C000-000000000046}']
    property Application: _Application readonly dispid 61440;
    property Class_: OlObjectClass readonly dispid 61450;
    property Session: _NameSpace readonly dispid 61451;
    property Parent: IDispatch readonly dispid 61441;
    property Count: Integer readonly dispid 80;
    function Item(Index: OleVariant): AddressList; dispid 81;
  end;

// *********************************************************************//
// Interface: AddressList
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {00063049-0000-0000-C000-000000000046}
// *********************************************************************//
  AddressList = interface(IDispatch)
    ['{00063049-0000-0000-C000-000000000046}']
    function Get_Application: _Application; safecall;
    function Get_Class_: OlObjectClass; safecall;
    function Get_Session: _NameSpace; safecall;
    function Get_Parent: IDispatch; safecall;
    function Get_AddressEntries: AddressEntries; safecall;
    function Get_ID: WideString; safecall;
    function Get_Index: Integer; safecall;
    function Get_IsReadOnly: WordBool; safecall;
    function Get_Name: WideString; safecall;
    property Application: _Application read Get_Application;
    property Class_: OlObjectClass read Get_Class_;
    property Session: _NameSpace read Get_Session;
    property Parent: IDispatch read Get_Parent;
    property AddressEntries: AddressEntries read Get_AddressEntries;
    property ID: WideString read Get_ID;
    property Index: Integer read Get_Index;
    property IsReadOnly: WordBool read Get_IsReadOnly;
    property Name: WideString read Get_Name;
  end;

// *********************************************************************//
// DispIntf:  AddressListDisp
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {00063049-0000-0000-C000-000000000046}
// *********************************************************************//
  AddressListDisp = dispinterface
    ['{00063049-0000-0000-C000-000000000046}']
    property Application: _Application readonly dispid 61440;
    property Class_: OlObjectClass readonly dispid 61450;
    property Session: _NameSpace readonly dispid 61451;
    property Parent: IDispatch readonly dispid 61441;
    property AddressEntries: AddressEntries readonly dispid 256;
    property ID: WideString readonly dispid 61470;
    property Index: Integer readonly dispid 91;
    property IsReadOnly: WordBool readonly dispid 61463;
    property Name: WideString readonly dispid 12289;
  end;

// *********************************************************************//
// Interface: SyncObjects
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {00063086-0000-0000-C000-000000000046}
// *********************************************************************//
  SyncObjects = interface(IDispatch)
    ['{00063086-0000-0000-C000-000000000046}']
    function Get_Application: _Application; safecall;
    function Get_Class_: OlObjectClass; safecall;
    function Get_Session: _NameSpace; safecall;
    function Get_Parent: IDispatch; safecall;
    function Get_Count: Integer; safecall;
    function Item(Index: OleVariant): SyncObject; safecall;
    function Get_AppFolders: _SyncObject; safecall;
    property Application: _Application read Get_Application;
    property Class_: OlObjectClass read Get_Class_;
    property Session: _NameSpace read Get_Session;
    property Parent: IDispatch read Get_Parent;
    property Count: Integer read Get_Count;
    property AppFolders: _SyncObject read Get_AppFolders;
  end;

// *********************************************************************//
// DispIntf:  SyncObjectsDisp
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {00063086-0000-0000-C000-000000000046}
// *********************************************************************//
  SyncObjectsDisp = dispinterface
    ['{00063086-0000-0000-C000-000000000046}']
    property Application: _Application readonly dispid 61440;
    property Class_: OlObjectClass readonly dispid 61450;
    property Session: _NameSpace readonly dispid 61451;
    property Parent: IDispatch readonly dispid 61441;
    property Count: Integer readonly dispid 80;
    function Item(Index: OleVariant): SyncObject; dispid 81;
    property AppFolders: _SyncObject readonly dispid 64074;
  end;

// *********************************************************************//
// Interface: _SyncObject
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {00063083-0000-0000-C000-000000000046}
// *********************************************************************//
  _SyncObject = interface(IDispatch)
    ['{00063083-0000-0000-C000-000000000046}']
    function Get_Application: _Application; safecall;
    function Get_Class_: OlObjectClass; safecall;
    function Get_Session: _NameSpace; safecall;
    function Get_Parent: IDispatch; safecall;
    function Get_Name: WideString; safecall;
    procedure Start; safecall;
    procedure Stop; safecall;
    property Application: _Application read Get_Application;
    property Class_: OlObjectClass read Get_Class_;
    property Session: _NameSpace read Get_Session;
    property Parent: IDispatch read Get_Parent;
    property Name: WideString read Get_Name;
  end;

// *********************************************************************//
// DispIntf:  _SyncObjectDisp
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {00063083-0000-0000-C000-000000000046}
// *********************************************************************//
  _SyncObjectDisp = dispinterface
    ['{00063083-0000-0000-C000-000000000046}']
    property Application: _Application readonly dispid 61440;
    property Class_: OlObjectClass readonly dispid 61450;
    property Session: _NameSpace readonly dispid 61451;
    property Parent: IDispatch readonly dispid 61441;
    property Name: WideString readonly dispid 8448;
    procedure Start; dispid 8449;
    procedure Stop; dispid 8450;
  end;

// *********************************************************************//
// DispIntf:  SyncObjectEvents
// Flags:     (4096) Dispatchable
// GUID:      {00063085-0000-0000-C000-000000000046}
// *********************************************************************//
  SyncObjectEvents = dispinterface
    ['{00063085-0000-0000-C000-000000000046}']
    procedure SyncStart; dispid 61441;
    procedure Progress(State: OlSyncState; const Description: WideString; Value: Integer; 
                       Max: Integer); dispid 61442;
    procedure OnError(Code: Integer; const Description: WideString); dispid 61443;
    procedure SyncEnd; dispid 61444;
  end;

// *********************************************************************//
// Interface: _Inspector
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {00063005-0000-0000-C000-000000000046}
// *********************************************************************//
  _Inspector = interface(IDispatch)
    ['{00063005-0000-0000-C000-000000000046}']
    function Get_Application: _Application; safecall;
    function Get_Class_: OlObjectClass; safecall;
    function Get_Session: _NameSpace; safecall;
    function Get_Parent: IDispatch; safecall;
    function Get_CommandBars: CommandBars; safecall;
    function Get_CurrentItem: IDispatch; safecall;
    function Get_EditorType: OlEditorType; safecall;
    function Get_ModifiedFormPages: IDispatch; safecall;
    procedure Close(SaveMode: OlInspectorClose); safecall;
    procedure Display(Modal: OleVariant); safecall;
    procedure HideFormPage(const PageName: WideString); safecall;
    function IsWordMail: WordBool; safecall;
    procedure SetCurrentFormPage(const PageName: WideString); safecall;
    procedure ShowFormPage(const PageName: WideString); safecall;
    function Get_HTMLEditor: IDispatch; safecall;
    function Get_WordEditor: IDispatch; safecall;
    function Get_Caption: WideString; safecall;
    function Get_Height: Integer; safecall;
    procedure Set_Height(Height: Integer); safecall;
    function Get_Left: Integer; safecall;
    procedure Set_Left(Left: Integer); safecall;
    function Get_Top: Integer; safecall;
    procedure Set_Top(Top: Integer); safecall;
    function Get_Width: Integer; safecall;
    procedure Set_Width(Width: Integer); safecall;
    function Get_WindowState: OlWindowState; safecall;
    procedure Set_WindowState(WindowState: OlWindowState); safecall;
    procedure Activate; safecall;
    property Application: _Application read Get_Application;
    property Class_: OlObjectClass read Get_Class_;
    property Session: _NameSpace read Get_Session;
    property Parent: IDispatch read Get_Parent;
    property CommandBars: CommandBars read Get_CommandBars;
    property CurrentItem: IDispatch read Get_CurrentItem;
    property EditorType: OlEditorType read Get_EditorType;
    property ModifiedFormPages: IDispatch read Get_ModifiedFormPages;
    property HTMLEditor: IDispatch read Get_HTMLEditor;
    property WordEditor: IDispatch read Get_WordEditor;
    property Caption: WideString read Get_Caption;
    property Height: Integer read Get_Height write Set_Height;
    property Left: Integer read Get_Left write Set_Left;
    property Top: Integer read Get_Top write Set_Top;
    property Width: Integer read Get_Width write Set_Width;
    property WindowState: OlWindowState read Get_WindowState write Set_WindowState;
  end;

// *********************************************************************//
// DispIntf:  _InspectorDisp
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {00063005-0000-0000-C000-000000000046}
// *********************************************************************//
  _InspectorDisp = dispinterface
    ['{00063005-0000-0000-C000-000000000046}']
    property Application: _Application readonly dispid 61440;
    property Class_: OlObjectClass readonly dispid 61450;
    property Session: _NameSpace readonly dispid 61451;
    property Parent: IDispatch readonly dispid 61441;
    property CommandBars: CommandBars readonly dispid 8448;
    property CurrentItem: IDispatch readonly dispid 8450;
    property EditorType: OlEditorType readonly dispid 8464;
    property ModifiedFormPages: IDispatch readonly dispid 8454;
    procedure Close(SaveMode: OlInspectorClose); dispid 8451;
    procedure Display(Modal: OleVariant); dispid 8452;
    procedure HideFormPage(const PageName: WideString); dispid 8456;
    function IsWordMail: WordBool; dispid 8453;
    procedure SetCurrentFormPage(const PageName: WideString); dispid 8460;
    procedure ShowFormPage(const PageName: WideString); dispid 8457;
    property HTMLEditor: IDispatch readonly dispid 8462;
    property WordEditor: IDispatch readonly dispid 8463;
    property Caption: WideString readonly dispid 8465;
    property Height: Integer dispid 8468;
    property Left: Integer dispid 8469;
    property Top: Integer dispid 8470;
    property Width: Integer dispid 8471;
    property WindowState: OlWindowState dispid 8466;
    procedure Activate; dispid 8467;
  end;

// *********************************************************************//
// Interface: _Explorers
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {0006300A-0000-0000-C000-000000000046}
// *********************************************************************//
  _Explorers = interface(IDispatch)
    ['{0006300A-0000-0000-C000-000000000046}']
    function Get_Application: _Application; safecall;
    function Get_Class_: OlObjectClass; safecall;
    function Get_Session: _NameSpace; safecall;
    function Get_Parent: IDispatch; safecall;
    function Get_Count: Integer; safecall;
    function Item(Index: OleVariant): Explorer; safecall;
    function Add(Folder: OleVariant; DisplayMode: OlFolderDisplayMode): _Explorer; safecall;
    property Application: _Application read Get_Application;
    property Class_: OlObjectClass read Get_Class_;
    property Session: _NameSpace read Get_Session;
    property Parent: IDispatch read Get_Parent;
    property Count: Integer read Get_Count;
  end;

// *********************************************************************//
// DispIntf:  _ExplorersDisp
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {0006300A-0000-0000-C000-000000000046}
// *********************************************************************//
  _ExplorersDisp = dispinterface
    ['{0006300A-0000-0000-C000-000000000046}']
    property Application: _Application readonly dispid 61440;
    property Class_: OlObjectClass readonly dispid 61450;
    property Session: _NameSpace readonly dispid 61451;
    property Parent: IDispatch readonly dispid 61441;
    property Count: Integer readonly dispid 80;
    function Item(Index: OleVariant): Explorer; dispid 81;
    function Add(Folder: OleVariant; DisplayMode: OlFolderDisplayMode): _Explorer; dispid 95;
  end;

// *********************************************************************//
// DispIntf:  ExplorerEvents
// Flags:     (4096) Dispatchable
// GUID:      {0006304F-0000-0000-C000-000000000046}
// *********************************************************************//
  ExplorerEvents = dispinterface
    ['{0006304F-0000-0000-C000-000000000046}']
    procedure Activate; dispid 61441;
    procedure FolderSwitch; dispid 61442;
    procedure BeforeFolderSwitch(const NewFolder: IDispatch; var Cancel: WordBool); dispid 61443;
    procedure ViewSwitch; dispid 61444;
    procedure BeforeViewSwitch(NewView: OleVariant; var Cancel: WordBool); dispid 61445;
    procedure Deactivate; dispid 61446;
    procedure SelectionChange; dispid 61447;
    procedure Close; dispid 61448;
  end;

// *********************************************************************//
// DispIntf:  ExplorerEvents_10
// Flags:     (4096) Dispatchable
// GUID:      {0006300F-0000-0000-C000-000000000046}
// *********************************************************************//
  ExplorerEvents_10 = dispinterface
    ['{0006300F-0000-0000-C000-000000000046}']
    procedure Activate; dispid 61441;
    procedure FolderSwitch; dispid 61442;
    procedure BeforeFolderSwitch(const NewFolder: IDispatch; var Cancel: WordBool); dispid 61443;
    procedure ViewSwitch; dispid 61444;
    procedure BeforeViewSwitch(NewView: OleVariant; var Cancel: WordBool); dispid 61445;
    procedure Deactivate; dispid 61446;
    procedure SelectionChange; dispid 61447;
    procedure Close; dispid 61448;
    procedure BeforeMaximize(var Cancel: WordBool); dispid 64017;
    procedure BeforeMinimize(var Cancel: WordBool); dispid 64018;
    procedure BeforeMove(var Cancel: WordBool); dispid 64019;
    procedure BeforeSize(var Cancel: WordBool); dispid 64020;
    procedure BeforeItemCopy(var Cancel: WordBool); dispid 64014;
    procedure BeforeItemCut(var Cancel: WordBool); dispid 64015;
    procedure BeforeItemPaste(var ClipboardContent: OleVariant; const Target: MAPIFolder; 
                              var Cancel: WordBool); dispid 64016;
  end;

// *********************************************************************//
// Interface: _Inspectors
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {00063008-0000-0000-C000-000000000046}
// *********************************************************************//
  _Inspectors = interface(IDispatch)
    ['{00063008-0000-0000-C000-000000000046}']
    function Get_Application: _Application; safecall;
    function Get_Class_: OlObjectClass; safecall;
    function Get_Session: _NameSpace; safecall;
    function Get_Parent: IDispatch; safecall;
    function Get_Count: Integer; safecall;
    function Item(Index: OleVariant): Inspector; safecall;
    function Add(const Item: IDispatch): _Inspector; safecall;
    property Application: _Application read Get_Application;
    property Class_: OlObjectClass read Get_Class_;
    property Session: _NameSpace read Get_Session;
    property Parent: IDispatch read Get_Parent;
    property Count: Integer read Get_Count;
  end;

// *********************************************************************//
// DispIntf:  _InspectorsDisp
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {00063008-0000-0000-C000-000000000046}
// *********************************************************************//
  _InspectorsDisp = dispinterface
    ['{00063008-0000-0000-C000-000000000046}']
    property Application: _Application readonly dispid 61440;
    property Class_: OlObjectClass readonly dispid 61450;
    property Session: _NameSpace readonly dispid 61451;
    property Parent: IDispatch readonly dispid 61441;
    property Count: Integer readonly dispid 80;
    function Item(Index: OleVariant): Inspector; dispid 81;
    function Add(const Item: IDispatch): _Inspector; dispid 95;
  end;

// *********************************************************************//
// DispIntf:  InspectorEvents
// Flags:     (4096) Dispatchable
// GUID:      {0006307D-0000-0000-C000-000000000046}
// *********************************************************************//
  InspectorEvents = dispinterface
    ['{0006307D-0000-0000-C000-000000000046}']
    procedure Activate; dispid 61441;
    procedure Deactivate; dispid 61446;
    procedure Close; dispid 61448;
  end;

// *********************************************************************//
// DispIntf:  InspectorEvents_10
// Flags:     (4096) Dispatchable
// GUID:      {0006302A-0000-0000-C000-000000000046}
// *********************************************************************//
  InspectorEvents_10 = dispinterface
    ['{0006302A-0000-0000-C000-000000000046}']
    procedure Activate; dispid 61441;
    procedure Deactivate; dispid 61446;
    procedure Close; dispid 61448;
    procedure BeforeMaximize(var Cancel: WordBool); dispid 64017;
    procedure BeforeMinimize(var Cancel: WordBool); dispid 64018;
    procedure BeforeMove(var Cancel: WordBool); dispid 64019;
    procedure BeforeSize(var Cancel: WordBool); dispid 64020;
  end;

// *********************************************************************//
// Interface: Search
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {0006300B-0000-0000-C000-000000000046}
// *********************************************************************//
  Search = interface(IDispatch)
    ['{0006300B-0000-0000-C000-000000000046}']
    function Get_Application: _Application; safecall;
    function Get_Class_: OlObjectClass; safecall;
    function Get_Session: _NameSpace; safecall;
    function Get_Parent: IDispatch; safecall;
    function Get_Filter: WideString; safecall;
    function Get_IsSynchronous: WordBool; safecall;
    function Get_Results: _Results; safecall;
    function Get_SearchSubFolders: WordBool; safecall;
    procedure Stop; safecall;
    function Get_Tag: WideString; safecall;
    function Get_Scope: WideString; safecall;
    property Application: _Application read Get_Application;
    property Class_: OlObjectClass read Get_Class_;
    property Session: _NameSpace read Get_Session;
    property Parent: IDispatch read Get_Parent;
    property Filter: WideString read Get_Filter;
    property IsSynchronous: WordBool read Get_IsSynchronous;
    property Results: _Results read Get_Results;
    property SearchSubFolders: WordBool read Get_SearchSubFolders;
    property Tag: WideString read Get_Tag;
    property Scope: WideString read Get_Scope;
  end;

// *********************************************************************//
// DispIntf:  SearchDisp
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {0006300B-0000-0000-C000-000000000046}
// *********************************************************************//
  SearchDisp = dispinterface
    ['{0006300B-0000-0000-C000-000000000046}']
    property Application: _Application readonly dispid 61440;
    property Class_: OlObjectClass readonly dispid 61450;
    property Session: _NameSpace readonly dispid 61451;
    property Parent: IDispatch readonly dispid 61441;
    property Filter: WideString readonly dispid 64100;
    property IsSynchronous: WordBool readonly dispid 64104;
    property Results: _Results readonly dispid 64105;
    property SearchSubFolders: WordBool readonly dispid 64102;
    procedure Stop; dispid 64103;
    property Tag: WideString readonly dispid 64109;
    property Scope: WideString readonly dispid 64165;
  end;

// *********************************************************************//
// Interface: _Results
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {0006300C-0000-0000-C000-000000000046}
// *********************************************************************//
  _Results = interface(IDispatch)
    ['{0006300C-0000-0000-C000-000000000046}']
    function Get_Application: _Application; safecall;
    function Get_Class_: OlObjectClass; safecall;
    function Get_Session: _NameSpace; safecall;
    function Get_Parent: IDispatch; safecall;
    function Get_Count: Integer; safecall;
    function Item(Index: OleVariant): IDispatch; safecall;
    function Get_RawTable: IUnknown; safecall;
    function GetFirst: IDispatch; safecall;
    function GetLast: IDispatch; safecall;
    function GetNext: IDispatch; safecall;
    function GetPrevious: IDispatch; safecall;
    procedure ResetColumns; safecall;
    procedure SetColumns(const Columns: WideString); safecall;
    procedure Sort(const Property_: WideString; Descending: OleVariant); safecall;
    function Get_DefaultItemType: OlItemType; safecall;
    procedure Set_DefaultItemType(DefaultItemType: OlItemType); safecall;
    property Application: _Application read Get_Application;
    property Class_: OlObjectClass read Get_Class_;
    property Session: _NameSpace read Get_Session;
    property Parent: IDispatch read Get_Parent;
    property Count: Integer read Get_Count;
    property RawTable: IUnknown read Get_RawTable;
    property DefaultItemType: OlItemType read Get_DefaultItemType write Set_DefaultItemType;
  end;

// *********************************************************************//
// DispIntf:  _ResultsDisp
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {0006300C-0000-0000-C000-000000000046}
// *********************************************************************//
  _ResultsDisp = dispinterface
    ['{0006300C-0000-0000-C000-000000000046}']
    property Application: _Application readonly dispid 61440;
    property Class_: OlObjectClass readonly dispid 61450;
    property Session: _NameSpace readonly dispid 61451;
    property Parent: IDispatch readonly dispid 61441;
    property Count: Integer readonly dispid 80;
    function Item(Index: OleVariant): IDispatch; dispid 81;
    property RawTable: IUnknown readonly dispid 90;
    function GetFirst: IDispatch; dispid 86;
    function GetLast: IDispatch; dispid 88;
    function GetNext: IDispatch; dispid 87;
    function GetPrevious: IDispatch; dispid 89;
    procedure ResetColumns; dispid 93;
    procedure SetColumns(const Columns: WideString); dispid 92;
    procedure Sort(const Property_: WideString; Descending: OleVariant); dispid 97;
    property DefaultItemType: OlItemType dispid 64143;
  end;

// *********************************************************************//
// Interface: _Reminders
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {000630B1-0000-0000-C000-000000000046}
// *********************************************************************//
  _Reminders = interface(IDispatch)
    ['{000630B1-0000-0000-C000-000000000046}']
    function Get_Application: _Application; safecall;
    function Get_Class_: OlObjectClass; safecall;
    function Get_Session: _NameSpace; safecall;
    function Get_Parent: IDispatch; safecall;
    function Get_Count: Integer; safecall;
    function Item(Index: OleVariant): _Reminder; safecall;
    procedure Remove(Index: OleVariant); safecall;
    function _NewEnum: IUnknown; safecall;
    property Application: _Application read Get_Application;
    property Class_: OlObjectClass read Get_Class_;
    property Session: _NameSpace read Get_Session;
    property Parent: IDispatch read Get_Parent;
    property Count: Integer read Get_Count;
  end;

// *********************************************************************//
// DispIntf:  _RemindersDisp
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {000630B1-0000-0000-C000-000000000046}
// *********************************************************************//
  _RemindersDisp = dispinterface
    ['{000630B1-0000-0000-C000-000000000046}']
    property Application: _Application readonly dispid 61440;
    property Class_: OlObjectClass readonly dispid 61450;
    property Session: _NameSpace readonly dispid 61451;
    property Parent: IDispatch readonly dispid 61441;
    property Count: Integer readonly dispid 80;
    function Item(Index: OleVariant): _Reminder; dispid 0;
    procedure Remove(Index: OleVariant); dispid 82;
    function _NewEnum: IUnknown; dispid -4;
  end;

// *********************************************************************//
// Interface: _Reminder
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {000630B0-0000-0000-C000-000000000046}
// *********************************************************************//
  _Reminder = interface(IDispatch)
    ['{000630B0-0000-0000-C000-000000000046}']
    function Get_Application: _Application; safecall;
    function Get_Class_: OlObjectClass; safecall;
    function Get_Session: _NameSpace; safecall;
    function Get_Parent: IDispatch; safecall;
    procedure Dismiss; safecall;
    procedure Snooze(SnoozeTime: OleVariant); safecall;
    function Get_Caption: WideString; safecall;
    function Get_IsVisible: WordBool; safecall;
    function Get_Item: IDispatch; safecall;
    function Get_NextReminderDate: TDateTime; safecall;
    function Get_OriginalReminderDate: TDateTime; safecall;
    property Application: _Application read Get_Application;
    property Class_: OlObjectClass read Get_Class_;
    property Session: _NameSpace read Get_Session;
    property Parent: IDispatch read Get_Parent;
    property Caption: WideString read Get_Caption;
    property IsVisible: WordBool read Get_IsVisible;
    property Item: IDispatch read Get_Item;
    property NextReminderDate: TDateTime read Get_NextReminderDate;
    property OriginalReminderDate: TDateTime read Get_OriginalReminderDate;
  end;

// *********************************************************************//
// DispIntf:  _ReminderDisp
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {000630B0-0000-0000-C000-000000000046}
// *********************************************************************//
  _ReminderDisp = dispinterface
    ['{000630B0-0000-0000-C000-000000000046}']
    property Application: _Application readonly dispid 61440;
    property Class_: OlObjectClass readonly dispid 61450;
    property Session: _NameSpace readonly dispid 61451;
    property Parent: IDispatch readonly dispid 61441;
    procedure Dismiss; dispid 64154;
    procedure Snooze(SnoozeTime: OleVariant); dispid 64155;
    property Caption: WideString readonly dispid 0;
    property IsVisible: WordBool readonly dispid 64157;
    property Item: IDispatch readonly dispid 64158;
    property NextReminderDate: TDateTime readonly dispid 64159;
    property OriginalReminderDate: TDateTime readonly dispid 64160;
  end;

// *********************************************************************//
// Interface: Actions
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {0006303E-0000-0000-C000-000000000046}
// *********************************************************************//
  Actions = interface(IDispatch)
    ['{0006303E-0000-0000-C000-000000000046}']
    function Get_Application: _Application; safecall;
    function Get_Class_: OlObjectClass; safecall;
    function Get_Session: _NameSpace; safecall;
    function Get_Parent: IDispatch; safecall;
    function Get_Count: Integer; safecall;
    function Item(Index: OleVariant): Action; safecall;
    function Add: Action; safecall;
    procedure Remove(Index: Integer); safecall;
    property Application: _Application read Get_Application;
    property Class_: OlObjectClass read Get_Class_;
    property Session: _NameSpace read Get_Session;
    property Parent: IDispatch read Get_Parent;
    property Count: Integer read Get_Count;
  end;

// *********************************************************************//
// DispIntf:  ActionsDisp
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {0006303E-0000-0000-C000-000000000046}
// *********************************************************************//
  ActionsDisp = dispinterface
    ['{0006303E-0000-0000-C000-000000000046}']
    property Application: _Application readonly dispid 61440;
    property Class_: OlObjectClass readonly dispid 61450;
    property Session: _NameSpace readonly dispid 61451;
    property Parent: IDispatch readonly dispid 61441;
    property Count: Integer readonly dispid 80;
    function Item(Index: OleVariant): Action; dispid 81;
    function Add: Action; dispid 100;
    procedure Remove(Index: Integer); dispid 82;
  end;

// *********************************************************************//
// DispIntf:  ApplicationEvents
// Flags:     (4096) Dispatchable
// GUID:      {0006304E-0000-0000-C000-000000000046}
// *********************************************************************//
  ApplicationEvents = dispinterface
    ['{0006304E-0000-0000-C000-000000000046}']
    procedure ItemSend(const Item: IDispatch; var Cancel: WordBool); dispid 61442;
    procedure NewMail; dispid 61443;
    procedure Reminder(const Item: IDispatch); dispid 61444;
    procedure OptionsPagesAdd(const Pages: PropertyPages); dispid 61445;
    procedure Startup; dispid 61446;
    procedure Quit; dispid 61447;
  end;

// *********************************************************************//
// Interface: PropertyPages
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {00063080-0000-0000-C000-000000000046}
// *********************************************************************//
  PropertyPages = interface(IDispatch)
    ['{00063080-0000-0000-C000-000000000046}']
    function Get_Application: _Application; safecall;
    function Get_Class_: OlObjectClass; safecall;
    function Get_Session: _NameSpace; safecall;
    function Get_Parent: IDispatch; safecall;
    function Get_Count: Integer; safecall;
    function Item(Index: OleVariant): IDispatch; safecall;
    procedure Add(Page: OleVariant; const Title: WideString); safecall;
    procedure Remove(Index: OleVariant); safecall;
    property Application: _Application read Get_Application;
    property Class_: OlObjectClass read Get_Class_;
    property Session: _NameSpace read Get_Session;
    property Parent: IDispatch read Get_Parent;
    property Count: Integer read Get_Count;
  end;

// *********************************************************************//
// DispIntf:  PropertyPagesDisp
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {00063080-0000-0000-C000-000000000046}
// *********************************************************************//
  PropertyPagesDisp = dispinterface
    ['{00063080-0000-0000-C000-000000000046}']
    property Application: _Application readonly dispid 61440;
    property Class_: OlObjectClass readonly dispid 61450;
    property Session: _NameSpace readonly dispid 61451;
    property Parent: IDispatch readonly dispid 61441;
    property Count: Integer readonly dispid 80;
    function Item(Index: OleVariant): IDispatch; dispid 81;
    procedure Add(Page: OleVariant; const Title: WideString); dispid 95;
    procedure Remove(Index: OleVariant); dispid 84;
  end;

// *********************************************************************//
// Interface: _AppointmentItem
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {00063033-0000-0000-C000-000000000046}
// *********************************************************************//
  _AppointmentItem = interface(IDispatch)
    ['{00063033-0000-0000-C000-000000000046}']
    function Get_Application: _Application; safecall;
    function Get_Class_: OlObjectClass; safecall;
    function Get_Session: _NameSpace; safecall;
    function Get_Parent: IDispatch; safecall;
    function Get_Actions: Actions; safecall;
    function Get_Attachments: Attachments; safecall;
    function Get_BillingInformation: WideString; safecall;
    procedure Set_BillingInformation(const BillingInformation: WideString); safecall;
    function Get_Body: WideString; safecall;
    procedure Set_Body(const Body: WideString); safecall;
    function Get_Categories: WideString; safecall;
    procedure Set_Categories(const Categories: WideString); safecall;
    function Get_Companies: WideString; safecall;
    procedure Set_Companies(const Companies: WideString); safecall;
    function Get_ConversationIndex: WideString; safecall;
    function Get_ConversationTopic: WideString; safecall;
    function Get_CreationTime: TDateTime; safecall;
    function Get_EntryID: WideString; safecall;
    function Get_FormDescription: FormDescription; safecall;
    function Get_GetInspector: _Inspector; safecall;
    function Get_Importance: OlImportance; safecall;
    procedure Set_Importance(Importance: OlImportance); safecall;
    function Get_LastModificationTime: TDateTime; safecall;
    function Get_MAPIOBJECT: IUnknown; safecall;
    function Get_MessageClass: WideString; safecall;
    procedure Set_MessageClass(const MessageClass: WideString); safecall;
    function Get_Mileage: WideString; safecall;
    procedure Set_Mileage(const Mileage: WideString); safecall;
    function Get_NoAging: WordBool; safecall;
    procedure Set_NoAging(NoAging: WordBool); safecall;
    function Get_OutlookInternalVersion: Integer; safecall;
    function Get_OutlookVersion: WideString; safecall;
    function Get_Saved: WordBool; safecall;
    function Get_Sensitivity: OlSensitivity; safecall;
    procedure Set_Sensitivity(Sensitivity: OlSensitivity); safecall;
    function Get_Size: Integer; safecall;
    function Get_Subject: WideString; safecall;
    procedure Set_Subject(const Subject: WideString); safecall;
    function Get_UnRead: WordBool; safecall;
    procedure Set_UnRead(UnRead: WordBool); safecall;
    function Get_UserProperties: UserProperties; safecall;
    procedure Close(SaveMode: OlInspectorClose); safecall;
    function Copy: IDispatch; safecall;
    procedure Delete; safecall;
    procedure Display(Modal: OleVariant); safecall;
    function Move(const DestFldr: MAPIFolder): IDispatch; safecall;
    procedure PrintOut; safecall;
    procedure Save; safecall;
    procedure SaveAs(const Path: WideString; Type_: OleVariant); safecall;
    function Get_AllDayEvent: WordBool; safecall;
    procedure Set_AllDayEvent(AllDayEvent: WordBool); safecall;
    function Get_BusyStatus: OlBusyStatus; safecall;
    procedure Set_BusyStatus(BusyStatus: OlBusyStatus); safecall;
    function Get_Duration: Integer; safecall;
    procedure Set_Duration(Duration: Integer); safecall;
    function Get_End_: TDateTime; safecall;
    procedure Set_End_(End_: TDateTime); safecall;
    function Get_IsOnlineMeeting: WordBool; safecall;
    procedure Set_IsOnlineMeeting(IsOnlineMeeting: WordBool); safecall;
    function Get_IsRecurring: WordBool; safecall;
    function Get_Location: WideString; safecall;
    procedure Set_Location(const Location: WideString); safecall;
    function Get_MeetingStatus: OlMeetingStatus; safecall;
    procedure Set_MeetingStatus(MeetingStatus: OlMeetingStatus); safecall;
    function Get_NetMeetingAutoStart: WordBool; safecall;
    procedure Set_NetMeetingAutoStart(NetMeetingAutoStart: WordBool); safecall;
    function Get_NetMeetingOrganizerAlias: WideString; safecall;
    procedure Set_NetMeetingOrganizerAlias(const NetMeetingOrganizerAlias: WideString); safecall;
    function Get_NetMeetingServer: WideString; safecall;
    procedure Set_NetMeetingServer(const NetMeetingServer: WideString); safecall;
    function Get_NetMeetingType: OlNetMeetingType; safecall;
    procedure Set_NetMeetingType(NetMeetingType: OlNetMeetingType); safecall;
    function Get_OptionalAttendees: WideString; safecall;
    procedure Set_OptionalAttendees(const OptionalAttendees: WideString); safecall;
    function Get_Organizer: WideString; safecall;
    function Get_Recipients: Recipients; safecall;
    function Get_RecurrenceState: OlRecurrenceState; safecall;
    function Get_ReminderMinutesBeforeStart: Integer; safecall;
    procedure Set_ReminderMinutesBeforeStart(ReminderMinutesBeforeStart: Integer); safecall;
    function Get_ReminderOverrideDefault: WordBool; safecall;
    procedure Set_ReminderOverrideDefault(ReminderOverrideDefault: WordBool); safecall;
    function Get_ReminderPlaySound: WordBool; safecall;
    procedure Set_ReminderPlaySound(ReminderPlaySound: WordBool); safecall;
    function Get_ReminderSet: WordBool; safecall;
    procedure Set_ReminderSet(ReminderSet: WordBool); safecall;
    function Get_ReminderSoundFile: WideString; safecall;
    procedure Set_ReminderSoundFile(const ReminderSoundFile: WideString); safecall;
    function Get_ReplyTime: TDateTime; safecall;
    procedure Set_ReplyTime(ReplyTime: TDateTime); safecall;
    function Get_RequiredAttendees: WideString; safecall;
    procedure Set_RequiredAttendees(const RequiredAttendees: WideString); safecall;
    function Get_Resources: WideString; safecall;
    procedure Set_Resources(const Resources: WideString); safecall;
    function Get_ResponseRequested: WordBool; safecall;
    procedure Set_ResponseRequested(ResponseRequested: WordBool); safecall;
    function Get_ResponseStatus: OlResponseStatus; safecall;
    function Get_Start: TDateTime; safecall;
    procedure Set_Start(Start: TDateTime); safecall;
    procedure ClearRecurrencePattern; safecall;
    function ForwardAsVcal: MailItem; safecall;
    function GetRecurrencePattern: RecurrencePattern; safecall;
    function Respond(Response: OlMeetingResponse; fNoUI: OleVariant; 
                     fAdditionalTextDialog: OleVariant): MeetingItem; safecall;
    procedure Send; safecall;
    function Get_NetMeetingDocPathName: WideString; safecall;
    procedure Set_NetMeetingDocPathName(const NetMeetingDocPathName: WideString); safecall;
    function Get_NetShowURL: WideString; safecall;
    procedure Set_NetShowURL(const NetShowURL: WideString); safecall;
    function Get_Links: Links; safecall;
    function Get_ConferenceServerAllowExternal: WordBool; safecall;
    procedure Set_ConferenceServerAllowExternal(ConferenceServerAllowExternal: WordBool); safecall;
    function Get_ConferenceServerPassword: WideString; safecall;
    procedure Set_ConferenceServerPassword(const ConferenceServerPassword: WideString); safecall;
    function Get_ItemProperties: ItemProperties; safecall;
    function Get_DownloadState: OlDownloadState; safecall;
    procedure ShowCategoriesDialog; safecall;
    function Get_InternetCodepage: Integer; safecall;
    procedure Set_InternetCodepage(InternetCodepage: Integer); safecall;
    function Get_MarkForDownload: OlRemoteStatus; safecall;
    procedure Set_MarkForDownload(MarkForDownload: OlRemoteStatus); safecall;
    function Get_IsConflict: WordBool; safecall;
    property Application: _Application read Get_Application;
    property Class_: OlObjectClass read Get_Class_;
    property Session: _NameSpace read Get_Session;
    property Parent: IDispatch read Get_Parent;
    property Actions: Actions read Get_Actions;
    property Attachments: Attachments read Get_Attachments;
    property BillingInformation: WideString read Get_BillingInformation write Set_BillingInformation;
    property Body: WideString read Get_Body write Set_Body;
    property Categories: WideString read Get_Categories write Set_Categories;
    property Companies: WideString read Get_Companies write Set_Companies;
    property ConversationIndex: WideString read Get_ConversationIndex;
    property ConversationTopic: WideString read Get_ConversationTopic;
    property CreationTime: TDateTime read Get_CreationTime;
    property EntryID: WideString read Get_EntryID;
    property FormDescription: FormDescription read Get_FormDescription;
    property GetInspector: _Inspector read Get_GetInspector;
    property Importance: OlImportance read Get_Importance write Set_Importance;
    property LastModificationTime: TDateTime read Get_LastModificationTime;
    property MAPIOBJECT: IUnknown read Get_MAPIOBJECT;
    property MessageClass: WideString read Get_MessageClass write Set_MessageClass;
    property Mileage: WideString read Get_Mileage write Set_Mileage;
    property NoAging: WordBool read Get_NoAging write Set_NoAging;
    property OutlookInternalVersion: Integer read Get_OutlookInternalVersion;
    property OutlookVersion: WideString read Get_OutlookVersion;
    property Saved: WordBool read Get_Saved;
    property Sensitivity: OlSensitivity read Get_Sensitivity write Set_Sensitivity;
    property Size: Integer read Get_Size;
    property Subject: WideString read Get_Subject write Set_Subject;
    property UnRead: WordBool read Get_UnRead write Set_UnRead;
    property UserProperties: UserProperties read Get_UserProperties;
    property AllDayEvent: WordBool read Get_AllDayEvent write Set_AllDayEvent;
    property BusyStatus: OlBusyStatus read Get_BusyStatus write Set_BusyStatus;
    property Duration: Integer read Get_Duration write Set_Duration;
    property End_: TDateTime read Get_End_ write Set_End_;
    property IsOnlineMeeting: WordBool read Get_IsOnlineMeeting write Set_IsOnlineMeeting;
    property IsRecurring: WordBool read Get_IsRecurring;
    property Location: WideString read Get_Location write Set_Location;
    property MeetingStatus: OlMeetingStatus read Get_MeetingStatus write Set_MeetingStatus;
    property NetMeetingAutoStart: WordBool read Get_NetMeetingAutoStart write Set_NetMeetingAutoStart;
    property NetMeetingOrganizerAlias: WideString read Get_NetMeetingOrganizerAlias write Set_NetMeetingOrganizerAlias;
    property NetMeetingServer: WideString read Get_NetMeetingServer write Set_NetMeetingServer;
    property NetMeetingType: OlNetMeetingType read Get_NetMeetingType write Set_NetMeetingType;
    property OptionalAttendees: WideString read Get_OptionalAttendees write Set_OptionalAttendees;
    property Organizer: WideString read Get_Organizer;
    property Recipients: Recipients read Get_Recipients;
    property RecurrenceState: OlRecurrenceState read Get_RecurrenceState;
    property ReminderMinutesBeforeStart: Integer read Get_ReminderMinutesBeforeStart write Set_ReminderMinutesBeforeStart;
    property ReminderOverrideDefault: WordBool read Get_ReminderOverrideDefault write Set_ReminderOverrideDefault;
    property ReminderPlaySound: WordBool read Get_ReminderPlaySound write Set_ReminderPlaySound;
    property ReminderSet: WordBool read Get_ReminderSet write Set_ReminderSet;
    property ReminderSoundFile: WideString read Get_ReminderSoundFile write Set_ReminderSoundFile;
    property ReplyTime: TDateTime read Get_ReplyTime write Set_ReplyTime;
    property RequiredAttendees: WideString read Get_RequiredAttendees write Set_RequiredAttendees;
    property Resources: WideString read Get_Resources write Set_Resources;
    property ResponseRequested: WordBool read Get_ResponseRequested write Set_ResponseRequested;
    property ResponseStatus: OlResponseStatus read Get_ResponseStatus;
    property Start: TDateTime read Get_Start write Set_Start;
    property NetMeetingDocPathName: WideString read Get_NetMeetingDocPathName write Set_NetMeetingDocPathName;
    property NetShowURL: WideString read Get_NetShowURL write Set_NetShowURL;
    property Links: Links read Get_Links;
    property ConferenceServerAllowExternal: WordBool read Get_ConferenceServerAllowExternal write Set_ConferenceServerAllowExternal;
    property ConferenceServerPassword: WideString read Get_ConferenceServerPassword write Set_ConferenceServerPassword;
    property ItemProperties: ItemProperties read Get_ItemProperties;
    property DownloadState: OlDownloadState read Get_DownloadState;
    property InternetCodepage: Integer read Get_InternetCodepage write Set_InternetCodepage;
    property MarkForDownload: OlRemoteStatus read Get_MarkForDownload write Set_MarkForDownload;
    property IsConflict: WordBool read Get_IsConflict;
  end;

// *********************************************************************//
// DispIntf:  _AppointmentItemDisp
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {00063033-0000-0000-C000-000000000046}
// *********************************************************************//
  _AppointmentItemDisp = dispinterface
    ['{00063033-0000-0000-C000-000000000046}']
    property Application: _Application readonly dispid 61440;
    property Class_: OlObjectClass readonly dispid 61450;
    property Session: _NameSpace readonly dispid 61451;
    property Parent: IDispatch readonly dispid 61441;
    property Actions: Actions readonly dispid 63511;
    property Attachments: Attachments readonly dispid 63509;
    property BillingInformation: WideString dispid 34101;
    property Body: WideString dispid 37120;
    property Categories: WideString dispid 36865;
    property Companies: WideString dispid 34107;
    property ConversationIndex: WideString readonly dispid 113;
    property ConversationTopic: WideString readonly dispid 112;
    property CreationTime: TDateTime readonly dispid 12295;
    property EntryID: WideString readonly dispid 61470;
    property FormDescription: FormDescription readonly dispid 61589;
    property GetInspector: _Inspector readonly dispid 61502;
    property Importance: OlImportance dispid 23;
    property LastModificationTime: TDateTime readonly dispid 12296;
    property MAPIOBJECT: IUnknown readonly dispid 61696;
    property MessageClass: WideString dispid 26;
    property Mileage: WideString dispid 34100;
    property NoAging: WordBool dispid 34062;
    property OutlookInternalVersion: Integer readonly dispid 34130;
    property OutlookVersion: WideString readonly dispid 34132;
    property Saved: WordBool readonly dispid 61603;
    property Sensitivity: OlSensitivity dispid 54;
    property Size: Integer readonly dispid 3592;
    property Subject: WideString dispid 55;
    property UnRead: WordBool dispid 61468;
    property UserProperties: UserProperties readonly dispid 63510;
    procedure Close(SaveMode: OlInspectorClose); dispid 61475;
    function Copy: IDispatch; dispid 61490;
    procedure Delete; dispid 61514;
    procedure Display(Modal: OleVariant); dispid 61606;
    function Move(const DestFldr: MAPIFolder): IDispatch; dispid 61492;
    procedure PrintOut; dispid 61491;
    procedure Save; dispid 61512;
    procedure SaveAs(const Path: WideString; Type_: OleVariant); dispid 61521;
    property AllDayEvent: WordBool dispid 33301;
    property BusyStatus: OlBusyStatus dispid 33285;
    property Duration: Integer dispid 33299;
    property End_: TDateTime dispid 33294;
    property IsOnlineMeeting: WordBool dispid 33344;
    property IsRecurring: WordBool readonly dispid 33315;
    property Location: WideString dispid 33288;
    property MeetingStatus: OlMeetingStatus dispid 33303;
    property NetMeetingAutoStart: WordBool dispid 33348;
    property NetMeetingOrganizerAlias: WideString dispid 33347;
    property NetMeetingServer: WideString dispid 33346;
    property NetMeetingType: OlNetMeetingType dispid 33345;
    property OptionalAttendees: WideString dispid 3587;
    property Organizer: WideString readonly dispid 66;
    property Recipients: Recipients readonly dispid 63508;
    property RecurrenceState: OlRecurrenceState readonly dispid 62789;
    property ReminderMinutesBeforeStart: Integer dispid 34049;
    property ReminderOverrideDefault: WordBool dispid 34076;
    property ReminderPlaySound: WordBool dispid 34078;
    property ReminderSet: WordBool dispid 34051;
    property ReminderSoundFile: WideString dispid 34079;
    property ReplyTime: TDateTime dispid 33312;
    property RequiredAttendees: WideString dispid 3588;
    property Resources: WideString dispid 3586;
    property ResponseRequested: WordBool dispid 99;
    property ResponseStatus: OlResponseStatus readonly dispid 33304;
    property Start: TDateTime dispid 33293;
    procedure ClearRecurrencePattern; dispid 61605;
    function ForwardAsVcal: MailItem; dispid 62791;
    function GetRecurrencePattern: RecurrencePattern; dispid 61604;
    function Respond(Response: OlMeetingResponse; fNoUI: OleVariant; 
                     fAdditionalTextDialog: OleVariant): MeetingItem; dispid 62722;
    procedure Send; dispid 61557;
    property NetMeetingDocPathName: WideString dispid 33351;
    property NetShowURL: WideString dispid 33352;
    property Links: Links readonly dispid 62469;
    property ConferenceServerAllowExternal: WordBool dispid 33350;
    property ConferenceServerPassword: WideString dispid 33353;
    property ItemProperties: ItemProperties readonly dispid 64009;
    property DownloadState: OlDownloadState readonly dispid 64077;
    procedure ShowCategoriesDialog; dispid 64011;
    property InternetCodepage: Integer dispid 16350;
    property MarkForDownload: OlRemoteStatus dispid 34161;
    property IsConflict: WordBool readonly dispid 64164;
  end;

// *********************************************************************//
// Interface: Attachments
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {0006303C-0000-0000-C000-000000000046}
// *********************************************************************//
  Attachments = interface(IDispatch)
    ['{0006303C-0000-0000-C000-000000000046}']
    function Get_Application: _Application; safecall;
    function Get_Class_: OlObjectClass; safecall;
    function Get_Session: _NameSpace; safecall;
    function Get_Parent: IDispatch; safecall;
    function Get_Count: Integer; safecall;
    function Item(Index: OleVariant): Attachment; safecall;
    function Add(Source: OleVariant; Type_: OleVariant; Position: OleVariant; 
                 DisplayName: OleVariant): Attachment; safecall;
    procedure Remove(Index: Integer); safecall;
    property Application: _Application read Get_Application;
    property Class_: OlObjectClass read Get_Class_;
    property Session: _NameSpace read Get_Session;
    property Parent: IDispatch read Get_Parent;
    property Count: Integer read Get_Count;
  end;

// *********************************************************************//
// DispIntf:  AttachmentsDisp
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {0006303C-0000-0000-C000-000000000046}
// *********************************************************************//
  AttachmentsDisp = dispinterface
    ['{0006303C-0000-0000-C000-000000000046}']
    property Application: _Application readonly dispid 61440;
    property Class_: OlObjectClass readonly dispid 61450;
    property Session: _NameSpace readonly dispid 61451;
    property Parent: IDispatch readonly dispid 61441;
    property Count: Integer readonly dispid 80;
    function Item(Index: OleVariant): Attachment; dispid 81;
    function Add(Source: OleVariant; Type_: OleVariant; Position: OleVariant; 
                 DisplayName: OleVariant): Attachment; dispid 101;
    procedure Remove(Index: Integer); dispid 84;
  end;

// *********************************************************************//
// Interface: Attachment
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {00063007-0000-0000-C000-000000000046}
// *********************************************************************//
  Attachment = interface(IDispatch)
    ['{00063007-0000-0000-C000-000000000046}']
    function Get_Application: _Application; safecall;
    function Get_Class_: OlObjectClass; safecall;
    function Get_Session: _NameSpace; safecall;
    function Get_Parent: IDispatch; safecall;
    function Get_DisplayName: WideString; safecall;
    procedure Set_DisplayName(const DisplayName: WideString); safecall;
    function Get_FileName: WideString; safecall;
    function Get_Index: Integer; safecall;
    function Get_MAPIOBJECT: IUnknown; safecall;
    function Get_PathName: WideString; safecall;
    function Get_Position: Integer; safecall;
    procedure Set_Position(Position: Integer); safecall;
    function Get_type_: OlAttachmentType; safecall;
    procedure Delete; safecall;
    procedure SaveAsFile(const Path: WideString); safecall;
    property Application: _Application read Get_Application;
    property Class_: OlObjectClass read Get_Class_;
    property Session: _NameSpace read Get_Session;
    property Parent: IDispatch read Get_Parent;
    property DisplayName: WideString read Get_DisplayName write Set_DisplayName;
    property FileName: WideString read Get_FileName;
    property Index: Integer read Get_Index;
    property MAPIOBJECT: IUnknown read Get_MAPIOBJECT;
    property PathName: WideString read Get_PathName;
    property Position: Integer read Get_Position write Set_Position;
    property type_: OlAttachmentType read Get_type_;
  end;

// *********************************************************************//
// DispIntf:  AttachmentDisp
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {00063007-0000-0000-C000-000000000046}
// *********************************************************************//
  AttachmentDisp = dispinterface
    ['{00063007-0000-0000-C000-000000000046}']
    property Application: _Application readonly dispid 61440;
    property Class_: OlObjectClass readonly dispid 61450;
    property Session: _NameSpace readonly dispid 61451;
    property Parent: IDispatch readonly dispid 113;
    property DisplayName: WideString dispid 12289;
    property FileName: WideString readonly dispid 14084;
    property Index: Integer readonly dispid 91;
    property MAPIOBJECT: IUnknown readonly dispid 61696;
    property PathName: WideString readonly dispid 14088;
    property Position: Integer dispid 114;
    property type_: OlAttachmentType readonly dispid 14085;
    procedure Delete; dispid 105;
    procedure SaveAsFile(const Path: WideString); dispid 104;
  end;

// *********************************************************************//
// Interface: FormDescription
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {00063046-0000-0000-C000-000000000046}
// *********************************************************************//
  FormDescription = interface(IDispatch)
    ['{00063046-0000-0000-C000-000000000046}']
    function Get_Application: _Application; safecall;
    function Get_Class_: OlObjectClass; safecall;
    function Get_Session: _NameSpace; safecall;
    function Get_Parent: IDispatch; safecall;
    function Get_Category: WideString; safecall;
    procedure Set_Category(const Category: WideString); safecall;
    function Get_CategorySub: WideString; safecall;
    procedure Set_CategorySub(const CategorySub: WideString); safecall;
    function Get_Comment: WideString; safecall;
    procedure Set_Comment(const Comment: WideString); safecall;
    function Get_ContactName: WideString; safecall;
    procedure Set_ContactName(const ContactName: WideString); safecall;
    function Get_DisplayName: WideString; safecall;
    procedure Set_DisplayName(const DisplayName: WideString); safecall;
    function Get_Hidden: WordBool; safecall;
    procedure Set_Hidden(Hidden: WordBool); safecall;
    function Get_Icon: WideString; safecall;
    procedure Set_Icon(const Icon: WideString); safecall;
    function Get_Locked: WordBool; safecall;
    procedure Set_Locked(Locked: WordBool); safecall;
    function Get_MessageClass: WideString; safecall;
    function Get_MiniIcon: WideString; safecall;
    procedure Set_MiniIcon(const MiniIcon: WideString); safecall;
    function Get_Name: WideString; safecall;
    procedure Set_Name(const Name: WideString); safecall;
    function Get_Number: WideString; safecall;
    procedure Set_Number(const Number: WideString); safecall;
    function Get_OneOff: WordBool; safecall;
    procedure Set_OneOff(OneOff: WordBool); safecall;
    function Get_Password: WideString; safecall;
    procedure Set_Password(const Password: WideString); safecall;
    function Get_ScriptText: WideString; safecall;
    function Get_Template: WideString; safecall;
    procedure Set_Template(const Template: WideString); safecall;
    function Get_UseWordMail: WordBool; safecall;
    procedure Set_UseWordMail(UseWordMail: WordBool); safecall;
    function Get_Version: WideString; safecall;
    procedure Set_Version(const Version: WideString); safecall;
    procedure PublishForm(Registry: OlFormRegistry; Folder: OleVariant); safecall;
    property Application: _Application read Get_Application;
    property Class_: OlObjectClass read Get_Class_;
    property Session: _NameSpace read Get_Session;
    property Parent: IDispatch read Get_Parent;
    property Category: WideString read Get_Category write Set_Category;
    property CategorySub: WideString read Get_CategorySub write Set_CategorySub;
    property Comment: WideString read Get_Comment write Set_Comment;
    property ContactName: WideString read Get_ContactName write Set_ContactName;
    property DisplayName: WideString read Get_DisplayName write Set_DisplayName;
    property Hidden: WordBool read Get_Hidden write Set_Hidden;
    property Icon: WideString read Get_Icon write Set_Icon;
    property Locked: WordBool read Get_Locked write Set_Locked;
    property MessageClass: WideString read Get_MessageClass;
    property MiniIcon: WideString read Get_MiniIcon write Set_MiniIcon;
    property Name: WideString read Get_Name write Set_Name;
    property Number: WideString read Get_Number write Set_Number;
    property OneOff: WordBool read Get_OneOff write Set_OneOff;
    property Password: WideString read Get_Password write Set_Password;
    property ScriptText: WideString read Get_ScriptText;
    property Template: WideString read Get_Template write Set_Template;
    property UseWordMail: WordBool read Get_UseWordMail write Set_UseWordMail;
    property Version: WideString read Get_Version write Set_Version;
  end;

// *********************************************************************//
// DispIntf:  FormDescriptionDisp
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {00063046-0000-0000-C000-000000000046}
// *********************************************************************//
  FormDescriptionDisp = dispinterface
    ['{00063046-0000-0000-C000-000000000046}']
    property Application: _Application readonly dispid 61440;
    property Class_: OlObjectClass readonly dispid 61450;
    property Session: _NameSpace readonly dispid 61451;
    property Parent: IDispatch readonly dispid 61441;
    property Category: WideString dispid 13060;
    property CategorySub: WideString dispid 13061;
    property Comment: WideString dispid 12292;
    property ContactName: WideString dispid 13059;
    property DisplayName: WideString dispid 12289;
    property Hidden: WordBool dispid 13063;
    property Icon: WideString dispid 4093;
    property Locked: WordBool dispid 102;
    property MessageClass: WideString readonly dispid 26;
    property MiniIcon: WideString dispid 4092;
    property Name: WideString dispid 61469;
    property Number: WideString dispid 104;
    property OneOff: WordBool dispid 101;
    property Password: WideString dispid 103;
    property ScriptText: WideString readonly dispid 109;
    property Template: WideString dispid 106;
    property UseWordMail: WordBool dispid 105;
    property Version: WideString dispid 13057;
    procedure PublishForm(Registry: OlFormRegistry; Folder: OleVariant); dispid 107;
  end;

// *********************************************************************//
// Interface: UserProperties
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {0006303D-0000-0000-C000-000000000046}
// *********************************************************************//
  UserProperties = interface(IDispatch)
    ['{0006303D-0000-0000-C000-000000000046}']
    function Get_Application: _Application; safecall;
    function Get_Class_: OlObjectClass; safecall;
    function Get_Session: _NameSpace; safecall;
    function Get_Parent: IDispatch; safecall;
    function Get_Count: Integer; safecall;
    function Item(Index: OleVariant): UserProperty; safecall;
    function Add(const Name: WideString; Type_: OlUserPropertyType; AddToFolderFields: OleVariant; 
                 DisplayFormat: OleVariant): UserProperty; safecall;
    function Find(const Name: WideString; Custom: OleVariant): UserProperty; safecall;
    procedure Remove(Index: Integer); safecall;
    property Application: _Application read Get_Application;
    property Class_: OlObjectClass read Get_Class_;
    property Session: _NameSpace read Get_Session;
    property Parent: IDispatch read Get_Parent;
    property Count: Integer read Get_Count;
  end;

// *********************************************************************//
// DispIntf:  UserPropertiesDisp
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {0006303D-0000-0000-C000-000000000046}
// *********************************************************************//
  UserPropertiesDisp = dispinterface
    ['{0006303D-0000-0000-C000-000000000046}']
    property Application: _Application readonly dispid 61440;
    property Class_: OlObjectClass readonly dispid 61450;
    property Session: _NameSpace readonly dispid 61451;
    property Parent: IDispatch readonly dispid 61441;
    property Count: Integer readonly dispid 80;
    function Item(Index: OleVariant): UserProperty; dispid 81;
    function Add(const Name: WideString; Type_: OlUserPropertyType; AddToFolderFields: OleVariant; 
                 DisplayFormat: OleVariant): UserProperty; dispid 102;
    function Find(const Name: WideString; Custom: OleVariant): UserProperty; dispid 103;
    procedure Remove(Index: Integer); dispid 82;
  end;

// *********************************************************************//
// Interface: UserProperty
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {00063042-0000-0000-C000-000000000046}
// *********************************************************************//
  UserProperty = interface(IDispatch)
    ['{00063042-0000-0000-C000-000000000046}']
    function Get_Application: _Application; safecall;
    function Get_Class_: OlObjectClass; safecall;
    function Get_Session: _NameSpace; safecall;
    function Get_Parent: IDispatch; safecall;
    function Get_Formula: WideString; safecall;
    procedure Set_Formula(const Formula: WideString); safecall;
    function Get_Name: WideString; safecall;
    function Get_type_: OlUserPropertyType; safecall;
    function Get_ValidationFormula: WideString; safecall;
    procedure Set_ValidationFormula(const ValidationFormula: WideString); safecall;
    function Get_ValidationText: WideString; safecall;
    procedure Set_ValidationText(const ValidationText: WideString); safecall;
    function Get_Value: OleVariant; safecall;
    procedure Set_Value(Value: OleVariant); safecall;
    procedure Delete; safecall;
    function Get_IsUserProperty: WordBool; safecall;
    property Application: _Application read Get_Application;
    property Class_: OlObjectClass read Get_Class_;
    property Session: _NameSpace read Get_Session;
    property Parent: IDispatch read Get_Parent;
    property Formula: WideString read Get_Formula write Set_Formula;
    property Name: WideString read Get_Name;
    property type_: OlUserPropertyType read Get_type_;
    property ValidationFormula: WideString read Get_ValidationFormula write Set_ValidationFormula;
    property ValidationText: WideString read Get_ValidationText write Set_ValidationText;
    property Value: OleVariant read Get_Value write Set_Value;
    property IsUserProperty: WordBool read Get_IsUserProperty;
  end;

// *********************************************************************//
// DispIntf:  UserPropertyDisp
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {00063042-0000-0000-C000-000000000046}
// *********************************************************************//
  UserPropertyDisp = dispinterface
    ['{00063042-0000-0000-C000-000000000046}']
    property Application: _Application readonly dispid 61440;
    property Class_: OlObjectClass readonly dispid 61450;
    property Session: _NameSpace readonly dispid 61451;
    property Parent: IDispatch readonly dispid 61441;
    property Formula: WideString dispid 103;
    property Name: WideString readonly dispid 112;
    property type_: OlUserPropertyType readonly dispid 109;
    property ValidationFormula: WideString dispid 104;
    property ValidationText: WideString dispid 105;
    property Value: OleVariant dispid 0;
    procedure Delete; dispid 108;
    property IsUserProperty: WordBool readonly dispid 64008;
  end;

// *********************************************************************//
// Interface: Recipients
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {0006303B-0000-0000-C000-000000000046}
// *********************************************************************//
  Recipients = interface(IDispatch)
    ['{0006303B-0000-0000-C000-000000000046}']
    function Get_Application: _Application; safecall;
    function Get_Class_: OlObjectClass; safecall;
    function Get_Session: _NameSpace; safecall;
    function Get_Parent: IDispatch; safecall;
    function Get_Count: Integer; safecall;
    function Item(Index: OleVariant): Recipient; safecall;
    function Add(const Name: WideString): Recipient; safecall;
    procedure Remove(Index: Integer); safecall;
    function ResolveAll: WordBool; safecall;
    property Application: _Application read Get_Application;
    property Class_: OlObjectClass read Get_Class_;
    property Session: _NameSpace read Get_Session;
    property Parent: IDispatch read Get_Parent;
    property Count: Integer read Get_Count;
  end;

// *********************************************************************//
// DispIntf:  RecipientsDisp
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {0006303B-0000-0000-C000-000000000046}
// *********************************************************************//
  RecipientsDisp = dispinterface
    ['{0006303B-0000-0000-C000-000000000046}']
    property Application: _Application readonly dispid 61440;
    property Class_: OlObjectClass readonly dispid 61450;
    property Session: _NameSpace readonly dispid 61451;
    property Parent: IDispatch readonly dispid 61441;
    property Count: Integer readonly dispid 80;
    function Item(Index: OleVariant): Recipient; dispid 81;
    function Add(const Name: WideString): Recipient; dispid 111;
    procedure Remove(Index: Integer); dispid 84;
    function ResolveAll: WordBool; dispid 126;
  end;

// *********************************************************************//
// Interface: _MailItem
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {00063034-0000-0000-C000-000000000046}
// *********************************************************************//
  _MailItem = interface(IDispatch)
    ['{00063034-0000-0000-C000-000000000046}']
    function Get_Application: _Application; safecall;
    function Get_Class_: OlObjectClass; safecall;
    function Get_Session: _NameSpace; safecall;
    function Get_Parent: IDispatch; safecall;
    function Get_Actions: Actions; safecall;
    function Get_Attachments: Attachments; safecall;
    function Get_BillingInformation: WideString; safecall;
    procedure Set_BillingInformation(const BillingInformation: WideString); safecall;
    function Get_Body: WideString; safecall;
    procedure Set_Body(const Body: WideString); safecall;
    function Get_Categories: WideString; safecall;
    procedure Set_Categories(const Categories: WideString); safecall;
    function Get_Companies: WideString; safecall;
    procedure Set_Companies(const Companies: WideString); safecall;
    function Get_ConversationIndex: WideString; safecall;
    function Get_ConversationTopic: WideString; safecall;
    function Get_CreationTime: TDateTime; safecall;
    function Get_EntryID: WideString; safecall;
    function Get_FormDescription: FormDescription; safecall;
    function Get_GetInspector: _Inspector; safecall;
    function Get_Importance: OlImportance; safecall;
    procedure Set_Importance(Importance: OlImportance); safecall;
    function Get_LastModificationTime: TDateTime; safecall;
    function Get_MAPIOBJECT: IUnknown; safecall;
    function Get_MessageClass: WideString; safecall;
    procedure Set_MessageClass(const MessageClass: WideString); safecall;
    function Get_Mileage: WideString; safecall;
    procedure Set_Mileage(const Mileage: WideString); safecall;
    function Get_NoAging: WordBool; safecall;
    procedure Set_NoAging(NoAging: WordBool); safecall;
    function Get_OutlookInternalVersion: Integer; safecall;
    function Get_OutlookVersion: WideString; safecall;
    function Get_Saved: WordBool; safecall;
    function Get_Sensitivity: OlSensitivity; safecall;
    procedure Set_Sensitivity(Sensitivity: OlSensitivity); safecall;
    function Get_Size: Integer; safecall;
    function Get_Subject: WideString; safecall;
    procedure Set_Subject(const Subject: WideString); safecall;
    function Get_UnRead: WordBool; safecall;
    procedure Set_UnRead(UnRead: WordBool); safecall;
    function Get_UserProperties: UserProperties; safecall;
    procedure Close(SaveMode: OlInspectorClose); safecall;
    function Copy: IDispatch; safecall;
    procedure Delete; safecall;
    procedure Display(Modal: OleVariant); safecall;
    function Move(const DestFldr: MAPIFolder): IDispatch; safecall;
    procedure PrintOut; safecall;
    procedure Save; safecall;
    procedure SaveAs(const Path: WideString; Type_: OleVariant); safecall;
    function Get_AlternateRecipientAllowed: WordBool; safecall;
    procedure Set_AlternateRecipientAllowed(AlternateRecipientAllowed: WordBool); safecall;
    function Get_AutoForwarded: WordBool; safecall;
    procedure Set_AutoForwarded(AutoForwarded: WordBool); safecall;
    function Get_BCC: WideString; safecall;
    procedure Set_BCC(const BCC: WideString); safecall;
    function Get_CC: WideString; safecall;
    procedure Set_CC(const CC: WideString); safecall;
    function Get_DeferredDeliveryTime: TDateTime; safecall;
    procedure Set_DeferredDeliveryTime(DeferredDeliveryTime: TDateTime); safecall;
    function Get_DeleteAfterSubmit: WordBool; safecall;
    procedure Set_DeleteAfterSubmit(DeleteAfterSubmit: WordBool); safecall;
    function Get_ExpiryTime: TDateTime; safecall;
    procedure Set_ExpiryTime(ExpiryTime: TDateTime); safecall;
    function Get_FlagDueBy: TDateTime; safecall;
    procedure Set_FlagDueBy(FlagDueBy: TDateTime); safecall;
    function Get_FlagRequest: WideString; safecall;
    procedure Set_FlagRequest(const FlagRequest: WideString); safecall;
    function Get_FlagStatus: OlFlagStatus; safecall;
    procedure Set_FlagStatus(FlagStatus: OlFlagStatus); safecall;
    function Get_HTMLBody: WideString; safecall;
    procedure Set_HTMLBody(const HTMLBody: WideString); safecall;
    function Get_OriginatorDeliveryReportRequested: WordBool; safecall;
    procedure Set_OriginatorDeliveryReportRequested(OriginatorDeliveryReportRequested: WordBool); safecall;
    function Get_ReadReceiptRequested: WordBool; safecall;
    procedure Set_ReadReceiptRequested(ReadReceiptRequested: WordBool); safecall;
    function Get_ReceivedByEntryID: WideString; safecall;
    function Get_ReceivedByName: WideString; safecall;
    function Get_ReceivedOnBehalfOfEntryID: WideString; safecall;
    function Get_ReceivedOnBehalfOfName: WideString; safecall;
    function Get_ReceivedTime: TDateTime; safecall;
    function Get_RecipientReassignmentProhibited: WordBool; safecall;
    procedure Set_RecipientReassignmentProhibited(RecipientReassignmentProhibited: WordBool); safecall;
    function Get_Recipients: Recipients; safecall;
    function Get_ReminderOverrideDefault: WordBool; safecall;
    procedure Set_ReminderOverrideDefault(ReminderOverrideDefault: WordBool); safecall;
    function Get_ReminderPlaySound: WordBool; safecall;
    procedure Set_ReminderPlaySound(ReminderPlaySound: WordBool); safecall;
    function Get_ReminderSet: WordBool; safecall;
    procedure Set_ReminderSet(ReminderSet: WordBool); safecall;
    function Get_ReminderSoundFile: WideString; safecall;
    procedure Set_ReminderSoundFile(const ReminderSoundFile: WideString); safecall;
    function Get_ReminderTime: TDateTime; safecall;
    procedure Set_ReminderTime(ReminderTime: TDateTime); safecall;
    function Get_RemoteStatus: OlRemoteStatus; safecall;
    procedure Set_RemoteStatus(RemoteStatus: OlRemoteStatus); safecall;
    function Get_ReplyRecipientNames: WideString; safecall;
    function Get_ReplyRecipients: Recipients; safecall;
    function Get_SaveSentMessageFolder: MAPIFolder; safecall;
    procedure _Set_SaveSentMessageFolder(const SaveSentMessageFolder: MAPIFolder); safecall;
    function Get_SenderName: WideString; safecall;
    function Get_Sent: WordBool; safecall;
    function Get_SentOn: TDateTime; safecall;
    function Get_SentOnBehalfOfName: WideString; safecall;
    procedure Set_SentOnBehalfOfName(const SentOnBehalfOfName: WideString); safecall;
    function Get_Submitted: WordBool; safecall;
    function Get_To_: WideString; safecall;
    procedure Set_To_(const To_: WideString); safecall;
    function Get_VotingOptions: WideString; safecall;
    procedure Set_VotingOptions(const VotingOptions: WideString); safecall;
    function Get_VotingResponse: WideString; safecall;
    procedure Set_VotingResponse(const VotingResponse: WideString); safecall;
    procedure ClearConversationIndex; safecall;
    function Forward: MailItem; safecall;
    function Reply: MailItem; safecall;
    function ReplyAll: MailItem; safecall;
    procedure Send; safecall;
    function Get_Links: Links; safecall;
    function Get_ItemProperties: ItemProperties; safecall;
    function Get_BodyFormat: OlBodyFormat; safecall;
    procedure Set_BodyFormat(BodyFormat: OlBodyFormat); safecall;
    function Get_DownloadState: OlDownloadState; safecall;
    procedure ShowCategoriesDialog; safecall;
    function Get_InternetCodepage: Integer; safecall;
    procedure Set_InternetCodepage(InternetCodepage: Integer); safecall;
    function Get_MarkForDownload: OlRemoteStatus; safecall;
    procedure Set_MarkForDownload(MarkForDownload: OlRemoteStatus); safecall;
    function Get_IsConflict: WordBool; safecall;
    property Application: _Application read Get_Application;
    property Class_: OlObjectClass read Get_Class_;
    property Session: _NameSpace read Get_Session;
    property Parent: IDispatch read Get_Parent;
    property Actions: Actions read Get_Actions;
    property Attachments: Attachments read Get_Attachments;
    property BillingInformation: WideString read Get_BillingInformation write Set_BillingInformation;
    property Body: WideString read Get_Body write Set_Body;
    property Categories: WideString read Get_Categories write Set_Categories;
    property Companies: WideString read Get_Companies write Set_Companies;
    property ConversationIndex: WideString read Get_ConversationIndex;
    property ConversationTopic: WideString read Get_ConversationTopic;
    property CreationTime: TDateTime read Get_CreationTime;
    property EntryID: WideString read Get_EntryID;
    property FormDescription: FormDescription read Get_FormDescription;
    property GetInspector: _Inspector read Get_GetInspector;
    property Importance: OlImportance read Get_Importance write Set_Importance;
    property LastModificationTime: TDateTime read Get_LastModificationTime;
    property MAPIOBJECT: IUnknown read Get_MAPIOBJECT;
    property MessageClass: WideString read Get_MessageClass write Set_MessageClass;
    property Mileage: WideString read Get_Mileage write Set_Mileage;
    property NoAging: WordBool read Get_NoAging write Set_NoAging;
    property OutlookInternalVersion: Integer read Get_OutlookInternalVersion;
    property OutlookVersion: WideString read Get_OutlookVersion;
    property Saved: WordBool read Get_Saved;
    property Sensitivity: OlSensitivity read Get_Sensitivity write Set_Sensitivity;
    property Size: Integer read Get_Size;
    property Subject: WideString read Get_Subject write Set_Subject;
    property UnRead: WordBool read Get_UnRead write Set_UnRead;
    property UserProperties: UserProperties read Get_UserProperties;
    property AlternateRecipientAllowed: WordBool read Get_AlternateRecipientAllowed write Set_AlternateRecipientAllowed;
    property AutoForwarded: WordBool read Get_AutoForwarded write Set_AutoForwarded;
    property BCC: WideString read Get_BCC write Set_BCC;
    property CC: WideString read Get_CC write Set_CC;
    property DeferredDeliveryTime: TDateTime read Get_DeferredDeliveryTime write Set_DeferredDeliveryTime;
    property DeleteAfterSubmit: WordBool read Get_DeleteAfterSubmit write Set_DeleteAfterSubmit;
    property ExpiryTime: TDateTime read Get_ExpiryTime write Set_ExpiryTime;
    property FlagDueBy: TDateTime read Get_FlagDueBy write Set_FlagDueBy;
    property FlagRequest: WideString read Get_FlagRequest write Set_FlagRequest;
    property FlagStatus: OlFlagStatus read Get_FlagStatus write Set_FlagStatus;
    property HTMLBody: WideString read Get_HTMLBody write Set_HTMLBody;
    property OriginatorDeliveryReportRequested: WordBool read Get_OriginatorDeliveryReportRequested write Set_OriginatorDeliveryReportRequested;
    property ReadReceiptRequested: WordBool read Get_ReadReceiptRequested write Set_ReadReceiptRequested;
    property ReceivedByEntryID: WideString read Get_ReceivedByEntryID;
    property ReceivedByName: WideString read Get_ReceivedByName;
    property ReceivedOnBehalfOfEntryID: WideString read Get_ReceivedOnBehalfOfEntryID;
    property ReceivedOnBehalfOfName: WideString read Get_ReceivedOnBehalfOfName;
    property ReceivedTime: TDateTime read Get_ReceivedTime;
    property RecipientReassignmentProhibited: WordBool read Get_RecipientReassignmentProhibited write Set_RecipientReassignmentProhibited;
    property Recipients: Recipients read Get_Recipients;
    property ReminderOverrideDefault: WordBool read Get_ReminderOverrideDefault write Set_ReminderOverrideDefault;
    property ReminderPlaySound: WordBool read Get_ReminderPlaySound write Set_ReminderPlaySound;
    property ReminderSet: WordBool read Get_ReminderSet write Set_ReminderSet;
    property ReminderSoundFile: WideString read Get_ReminderSoundFile write Set_ReminderSoundFile;
    property ReminderTime: TDateTime read Get_ReminderTime write Set_ReminderTime;
    property RemoteStatus: OlRemoteStatus read Get_RemoteStatus write Set_RemoteStatus;
    property ReplyRecipientNames: WideString read Get_ReplyRecipientNames;
    property ReplyRecipients: Recipients read Get_ReplyRecipients;
    property SaveSentMessageFolder: MAPIFolder read Get_SaveSentMessageFolder write _Set_SaveSentMessageFolder;
    property SenderName: WideString read Get_SenderName;
    property Sent: WordBool read Get_Sent;
    property SentOn: TDateTime read Get_SentOn;
    property SentOnBehalfOfName: WideString read Get_SentOnBehalfOfName write Set_SentOnBehalfOfName;
    property Submitted: WordBool read Get_Submitted;
    property To_: WideString read Get_To_ write Set_To_;
    property VotingOptions: WideString read Get_VotingOptions write Set_VotingOptions;
    property VotingResponse: WideString read Get_VotingResponse write Set_VotingResponse;
    property Links: Links read Get_Links;
    property ItemProperties: ItemProperties read Get_ItemProperties;
    property BodyFormat: OlBodyFormat read Get_BodyFormat write Set_BodyFormat;
    property DownloadState: OlDownloadState read Get_DownloadState;
    property InternetCodepage: Integer read Get_InternetCodepage write Set_InternetCodepage;
    property MarkForDownload: OlRemoteStatus read Get_MarkForDownload write Set_MarkForDownload;
    property IsConflict: WordBool read Get_IsConflict;
  end;

// *********************************************************************//
// DispIntf:  _MailItemDisp
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {00063034-0000-0000-C000-000000000046}
// *********************************************************************//
  _MailItemDisp = dispinterface
    ['{00063034-0000-0000-C000-000000000046}']
    property Application: _Application readonly dispid 61440;
    property Class_: OlObjectClass readonly dispid 61450;
    property Session: _NameSpace readonly dispid 61451;
    property Parent: IDispatch readonly dispid 61441;
    property Actions: Actions readonly dispid 63511;
    property Attachments: Attachments readonly dispid 63509;
    property BillingInformation: WideString dispid 34101;
    property Body: WideString dispid 37120;
    property Categories: WideString dispid 36865;
    property Companies: WideString dispid 34107;
    property ConversationIndex: WideString readonly dispid 113;
    property ConversationTopic: WideString readonly dispid 112;
    property CreationTime: TDateTime readonly dispid 12295;
    property EntryID: WideString readonly dispid 61470;
    property FormDescription: FormDescription readonly dispid 61589;
    property GetInspector: _Inspector readonly dispid 61502;
    property Importance: OlImportance dispid 23;
    property LastModificationTime: TDateTime readonly dispid 12296;
    property MAPIOBJECT: IUnknown readonly dispid 61696;
    property MessageClass: WideString dispid 26;
    property Mileage: WideString dispid 34100;
    property NoAging: WordBool dispid 34062;
    property OutlookInternalVersion: Integer readonly dispid 34130;
    property OutlookVersion: WideString readonly dispid 34132;
    property Saved: WordBool readonly dispid 61603;
    property Sensitivity: OlSensitivity dispid 54;
    property Size: Integer readonly dispid 3592;
    property Subject: WideString dispid 55;
    property UnRead: WordBool dispid 61468;
    property UserProperties: UserProperties readonly dispid 63510;
    procedure Close(SaveMode: OlInspectorClose); dispid 61475;
    function Copy: IDispatch; dispid 61490;
    procedure Delete; dispid 61514;
    procedure Display(Modal: OleVariant); dispid 61606;
    function Move(const DestFldr: MAPIFolder): IDispatch; dispid 61492;
    procedure PrintOut; dispid 61491;
    procedure Save; dispid 61512;
    procedure SaveAs(const Path: WideString; Type_: OleVariant); dispid 61521;
    property AlternateRecipientAllowed: WordBool dispid 2;
    property AutoForwarded: WordBool dispid 5;
    property BCC: WideString dispid 3586;
    property CC: WideString dispid 3587;
    property DeferredDeliveryTime: TDateTime dispid 15;
    property DeleteAfterSubmit: WordBool dispid 3585;
    property ExpiryTime: TDateTime dispid 21;
    property FlagDueBy: TDateTime dispid 48;
    property FlagRequest: WideString dispid 34096;
    property FlagStatus: OlFlagStatus dispid 4240;
    property HTMLBody: WideString dispid 62468;
    property OriginatorDeliveryReportRequested: WordBool dispid 35;
    property ReadReceiptRequested: WordBool dispid 41;
    property ReceivedByEntryID: WideString readonly dispid 63;
    property ReceivedByName: WideString readonly dispid 64;
    property ReceivedOnBehalfOfEntryID: WideString readonly dispid 67;
    property ReceivedOnBehalfOfName: WideString readonly dispid 68;
    property ReceivedTime: TDateTime readonly dispid 3590;
    property RecipientReassignmentProhibited: WordBool dispid 43;
    property Recipients: Recipients readonly dispid 63508;
    property ReminderOverrideDefault: WordBool dispid 34076;
    property ReminderPlaySound: WordBool dispid 34078;
    property ReminderSet: WordBool dispid 34051;
    property ReminderSoundFile: WideString dispid 34079;
    property ReminderTime: TDateTime dispid 34050;
    property RemoteStatus: OlRemoteStatus dispid 34065;
    property ReplyRecipientNames: WideString readonly dispid 80;
    property ReplyRecipients: Recipients readonly dispid 61459;
    property SaveSentMessageFolder: MAPIFolder dispid 62465;
    property SenderName: WideString readonly dispid 3098;
    property Sent: WordBool readonly dispid 62466;
    property SentOn: TDateTime readonly dispid 57;
    property SentOnBehalfOfName: WideString dispid 66;
    property Submitted: WordBool readonly dispid 62467;
    property To_: WideString dispid 3588;
    property VotingOptions: WideString dispid 61467;
    property VotingResponse: WideString dispid 34084;
    procedure ClearConversationIndex; dispid 63522;
    function Forward: MailItem; dispid 63507;
    function Reply: MailItem; dispid 63504;
    function ReplyAll: MailItem; dispid 63505;
    procedure Send; dispid 61557;
    property Links: Links readonly dispid 62469;
    property ItemProperties: ItemProperties readonly dispid 64009;
    property BodyFormat: OlBodyFormat dispid 64073;
    property DownloadState: OlDownloadState readonly dispid 64077;
    procedure ShowCategoriesDialog; dispid 64011;
    property InternetCodepage: Integer dispid 16350;
    property MarkForDownload: OlRemoteStatus dispid 34161;
    property IsConflict: WordBool readonly dispid 64164;
  end;

// *********************************************************************//
// DispIntf:  ItemEvents
// Flags:     (4096) Dispatchable
// GUID:      {0006303A-0000-0000-C000-000000000046}
// *********************************************************************//
  ItemEvents = dispinterface
    ['{0006303A-0000-0000-C000-000000000046}']
    procedure Open(var Cancel: WordBool); dispid 61443;
    procedure CustomAction(const Action: IDispatch; const Response: IDispatch; var Cancel: WordBool); dispid 61446;
    procedure CustomPropertyChange(const Name: WideString); dispid 61448;
    procedure Forward(const Forward: IDispatch; var Cancel: WordBool); dispid 62568;
    procedure Close(var Cancel: WordBool); dispid 61444;
    procedure PropertyChange(const Name: WideString); dispid 61449;
    procedure Read; dispid 61441;
    procedure Reply(const Response: IDispatch; var Cancel: WordBool); dispid 62566;
    procedure ReplyAll(const Response: IDispatch; var Cancel: WordBool); dispid 62567;
    procedure Send(var Cancel: WordBool); dispid 61445;
    procedure Write(var Cancel: WordBool); dispid 61442;
    procedure BeforeCheckNames(var Cancel: WordBool); dispid 61450;
    procedure AttachmentAdd(const Attachment: Attachment); dispid 61451;
    procedure AttachmentRead(const Attachment: Attachment); dispid 61452;
    procedure BeforeAttachmentSave(const Attachment: Attachment; var Cancel: WordBool); dispid 61453;
  end;

// *********************************************************************//
// Interface: Links
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {0006308A-0000-0000-C000-000000000046}
// *********************************************************************//
  Links = interface(IDispatch)
    ['{0006308A-0000-0000-C000-000000000046}']
    function Get_Application: _Application; safecall;
    function Get_Class_: OlObjectClass; safecall;
    function Get_Session: _NameSpace; safecall;
    function Get_Parent: IDispatch; safecall;
    function Get_Count: Integer; safecall;
    function Item(Index: OleVariant): Link; safecall;
    function Add(const Item: IDispatch): Link; safecall;
    procedure Remove(Index: OleVariant); safecall;
    property Application: _Application read Get_Application;
    property Class_: OlObjectClass read Get_Class_;
    property Session: _NameSpace read Get_Session;
    property Parent: IDispatch read Get_Parent;
    property Count: Integer read Get_Count;
  end;

// *********************************************************************//
// DispIntf:  LinksDisp
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {0006308A-0000-0000-C000-000000000046}
// *********************************************************************//
  LinksDisp = dispinterface
    ['{0006308A-0000-0000-C000-000000000046}']
    property Application: _Application readonly dispid 61440;
    property Class_: OlObjectClass readonly dispid 61450;
    property Session: _NameSpace readonly dispid 61451;
    property Parent: IDispatch readonly dispid 61441;
    property Count: Integer readonly dispid 80;
    function Item(Index: OleVariant): Link; dispid 81;
    function Add(const Item: IDispatch): Link; dispid 95;
    procedure Remove(Index: OleVariant); dispid 84;
  end;

// *********************************************************************//
// Interface: Link
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {00063089-0000-0000-C000-000000000046}
// *********************************************************************//
  Link = interface(IDispatch)
    ['{00063089-0000-0000-C000-000000000046}']
    function Get_Application: _Application; safecall;
    function Get_Class_: OlObjectClass; safecall;
    function Get_Session: _NameSpace; safecall;
    function Get_Parent: IDispatch; safecall;
    function Get_Name: WideString; safecall;
    function Get_type_: OlObjectClass; safecall;
    function Get_Item: IDispatch; safecall;
    property Application: _Application read Get_Application;
    property Class_: OlObjectClass read Get_Class_;
    property Session: _NameSpace read Get_Session;
    property Parent: IDispatch read Get_Parent;
    property Name: WideString read Get_Name;
    property type_: OlObjectClass read Get_type_;
    property Item: IDispatch read Get_Item;
  end;

// *********************************************************************//
// DispIntf:  LinkDisp
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {00063089-0000-0000-C000-000000000046}
// *********************************************************************//
  LinkDisp = dispinterface
    ['{00063089-0000-0000-C000-000000000046}']
    property Application: _Application readonly dispid 61440;
    property Class_: OlObjectClass readonly dispid 61450;
    property Session: _NameSpace readonly dispid 61451;
    property Parent: IDispatch readonly dispid 109;
    property Name: WideString readonly dispid 12289;
    property type_: OlObjectClass readonly dispid 8449;
    property Item: IDispatch readonly dispid 8450;
  end;

// *********************************************************************//
// Interface: ItemProperties
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {000630A8-0000-0000-C000-000000000046}
// *********************************************************************//
  ItemProperties = interface(IDispatch)
    ['{000630A8-0000-0000-C000-000000000046}']
    function Get_Application: _Application; safecall;
    function Get_Class_: OlObjectClass; safecall;
    function Get_Session: _NameSpace; safecall;
    function Get_Parent: IDispatch; safecall;
    function Get_Count: Integer; safecall;
    function Item(Index: OleVariant): ItemProperty; safecall;
    function _NewEnum: IUnknown; safecall;
    function Add(const Name: WideString; Type_: OlUserPropertyType; AddToFolderFields: OleVariant; 
                 DisplayFormat: OleVariant): ItemProperty; safecall;
    procedure Remove(Index: Integer); safecall;
    property Application: _Application read Get_Application;
    property Class_: OlObjectClass read Get_Class_;
    property Session: _NameSpace read Get_Session;
    property Parent: IDispatch read Get_Parent;
    property Count: Integer read Get_Count;
  end;

// *********************************************************************//
// DispIntf:  ItemPropertiesDisp
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {000630A8-0000-0000-C000-000000000046}
// *********************************************************************//
  ItemPropertiesDisp = dispinterface
    ['{000630A8-0000-0000-C000-000000000046}']
    property Application: _Application readonly dispid 61440;
    property Class_: OlObjectClass readonly dispid 61450;
    property Session: _NameSpace readonly dispid 61451;
    property Parent: IDispatch readonly dispid 61441;
    property Count: Integer readonly dispid 80;
    function Item(Index: OleVariant): ItemProperty; dispid 0;
    function _NewEnum: IUnknown; dispid -4;
    function Add(const Name: WideString; Type_: OlUserPropertyType; AddToFolderFields: OleVariant; 
                 DisplayFormat: OleVariant): ItemProperty; dispid 102;
    procedure Remove(Index: Integer); dispid 82;
  end;

// *********************************************************************//
// Interface: ItemProperty
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {000630A7-0000-0000-C000-000000000046}
// *********************************************************************//
  ItemProperty = interface(IDispatch)
    ['{000630A7-0000-0000-C000-000000000046}']
    function Get_Application: _Application; safecall;
    function Get_Class_: OlObjectClass; safecall;
    function Get_Session: _NameSpace; safecall;
    function Get_Parent: IDispatch; safecall;
    function Get_Formula: WideString; safecall;
    procedure Set_Formula(const Formula: WideString); safecall;
    function Get_Name: WideString; safecall;
    function Get_type_: OlUserPropertyType; safecall;
    function Get_ValidationFormula: WideString; safecall;
    procedure Set_ValidationFormula(const ValidationFormula: WideString); safecall;
    function Get_ValidationText: WideString; safecall;
    procedure Set_ValidationText(const ValidationText: WideString); safecall;
    function Get_Value: OleVariant; safecall;
    procedure Set_Value(Value: OleVariant); safecall;
    procedure Delete; safecall;
    function Get_IsUserProperty: WordBool; safecall;
    property Application: _Application read Get_Application;
    property Class_: OlObjectClass read Get_Class_;
    property Session: _NameSpace read Get_Session;
    property Parent: IDispatch read Get_Parent;
    property Formula: WideString read Get_Formula write Set_Formula;
    property Name: WideString read Get_Name;
    property type_: OlUserPropertyType read Get_type_;
    property ValidationFormula: WideString read Get_ValidationFormula write Set_ValidationFormula;
    property ValidationText: WideString read Get_ValidationText write Set_ValidationText;
    property Value: OleVariant read Get_Value write Set_Value;
    property IsUserProperty: WordBool read Get_IsUserProperty;
  end;

// *********************************************************************//
// DispIntf:  ItemPropertyDisp
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {000630A7-0000-0000-C000-000000000046}
// *********************************************************************//
  ItemPropertyDisp = dispinterface
    ['{000630A7-0000-0000-C000-000000000046}']
    property Application: _Application readonly dispid 61440;
    property Class_: OlObjectClass readonly dispid 61450;
    property Session: _NameSpace readonly dispid 61451;
    property Parent: IDispatch readonly dispid 61441;
    property Formula: WideString dispid 103;
    property Name: WideString readonly dispid 112;
    property type_: OlUserPropertyType readonly dispid 109;
    property ValidationFormula: WideString dispid 104;
    property ValidationText: WideString dispid 105;
    property Value: OleVariant dispid 0;
    procedure Delete; dispid 108;
    property IsUserProperty: WordBool readonly dispid 64008;
  end;

// *********************************************************************//
// DispIntf:  ItemEvents_10
// Flags:     (4096) Dispatchable
// GUID:      {0006302B-0000-0000-C000-000000000046}
// *********************************************************************//
  ItemEvents_10 = dispinterface
    ['{0006302B-0000-0000-C000-000000000046}']
    procedure Open(var Cancel: WordBool); dispid 61443;
    procedure CustomAction(const Action: IDispatch; const Response: IDispatch; var Cancel: WordBool); dispid 61446;
    procedure CustomPropertyChange(const Name: WideString); dispid 61448;
    procedure Forward(const Forward: IDispatch; var Cancel: WordBool); dispid 62568;
    procedure Close(var Cancel: WordBool); dispid 61444;
    procedure PropertyChange(const Name: WideString); dispid 61449;
    procedure Read; dispid 61441;
    procedure Reply(const Response: IDispatch; var Cancel: WordBool); dispid 62566;
    procedure ReplyAll(const Response: IDispatch; var Cancel: WordBool); dispid 62567;
    procedure Send(var Cancel: WordBool); dispid 61445;
    procedure Write(var Cancel: WordBool); dispid 61442;
    procedure BeforeCheckNames(var Cancel: WordBool); dispid 61450;
    procedure AttachmentAdd(const Attachment: Attachment); dispid 61451;
    procedure AttachmentRead(const Attachment: Attachment); dispid 61452;
    procedure BeforeAttachmentSave(const Attachment: Attachment; var Cancel: WordBool); dispid 61453;
    procedure BeforeDelete(const Item: IDispatch; var Cancel: WordBool); dispid 64117;
  end;

// *********************************************************************//
// Interface: RecurrencePattern
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {00063044-0000-0000-C000-000000000046}
// *********************************************************************//
  RecurrencePattern = interface(IDispatch)
    ['{00063044-0000-0000-C000-000000000046}']
    function Get_Application: _Application; safecall;
    function Get_Class_: OlObjectClass; safecall;
    function Get_Session: _NameSpace; safecall;
    function Get_Parent: IDispatch; safecall;
    function Get_DayOfMonth: Integer; safecall;
    procedure Set_DayOfMonth(DayOfMonth: Integer); safecall;
    function Get_DayOfWeekMask: OlDaysOfWeek; safecall;
    procedure Set_DayOfWeekMask(DayOfWeekMask: OlDaysOfWeek); safecall;
    function Get_Duration: Integer; safecall;
    procedure Set_Duration(Duration: Integer); safecall;
    function Get_EndTime: TDateTime; safecall;
    procedure Set_EndTime(EndTime: TDateTime); safecall;
    function Get_Exceptions: Exceptions; safecall;
    function Get_Instance: Integer; safecall;
    procedure Set_Instance(Instance: Integer); safecall;
    function Get_Interval: Integer; safecall;
    procedure Set_Interval(Interval: Integer); safecall;
    function Get_MonthOfYear: Integer; safecall;
    procedure Set_MonthOfYear(MonthOfYear: Integer); safecall;
    function Get_NoEndDate: WordBool; safecall;
    procedure Set_NoEndDate(NoEndDate: WordBool); safecall;
    function Get_Occurrences: Integer; safecall;
    procedure Set_Occurrences(Occurrences: Integer); safecall;
    function Get_PatternEndDate: TDateTime; safecall;
    procedure Set_PatternEndDate(PatternEndDate: TDateTime); safecall;
    function Get_PatternStartDate: TDateTime; safecall;
    procedure Set_PatternStartDate(PatternStartDate: TDateTime); safecall;
    function Get_RecurrenceType: OlRecurrenceType; safecall;
    procedure Set_RecurrenceType(RecurrenceType: OlRecurrenceType); safecall;
    function Get_Regenerate: WordBool; safecall;
    procedure Set_Regenerate(Regenerate: WordBool); safecall;
    function Get_StartTime: TDateTime; safecall;
    procedure Set_StartTime(StartTime: TDateTime); safecall;
    function GetOccurrence(StartDate: TDateTime): AppointmentItem; safecall;
    property Application: _Application read Get_Application;
    property Class_: OlObjectClass read Get_Class_;
    property Session: _NameSpace read Get_Session;
    property Parent: IDispatch read Get_Parent;
    property DayOfMonth: Integer read Get_DayOfMonth write Set_DayOfMonth;
    property DayOfWeekMask: OlDaysOfWeek read Get_DayOfWeekMask write Set_DayOfWeekMask;
    property Duration: Integer read Get_Duration write Set_Duration;
    property EndTime: TDateTime read Get_EndTime write Set_EndTime;
    property Exceptions: Exceptions read Get_Exceptions;
    property Instance: Integer read Get_Instance write Set_Instance;
    property Interval: Integer read Get_Interval write Set_Interval;
    property MonthOfYear: Integer read Get_MonthOfYear write Set_MonthOfYear;
    property NoEndDate: WordBool read Get_NoEndDate write Set_NoEndDate;
    property Occurrences: Integer read Get_Occurrences write Set_Occurrences;
    property PatternEndDate: TDateTime read Get_PatternEndDate write Set_PatternEndDate;
    property PatternStartDate: TDateTime read Get_PatternStartDate write Set_PatternStartDate;
    property RecurrenceType: OlRecurrenceType read Get_RecurrenceType write Set_RecurrenceType;
    property Regenerate: WordBool read Get_Regenerate write Set_Regenerate;
    property StartTime: TDateTime read Get_StartTime write Set_StartTime;
  end;

// *********************************************************************//
// DispIntf:  RecurrencePatternDisp
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {00063044-0000-0000-C000-000000000046}
// *********************************************************************//
  RecurrencePatternDisp = dispinterface
    ['{00063044-0000-0000-C000-000000000046}']
    property Application: _Application readonly dispid 61440;
    property Class_: OlObjectClass readonly dispid 61450;
    property Session: _NameSpace readonly dispid 61451;
    property Parent: IDispatch readonly dispid 61441;
    property DayOfMonth: Integer dispid 4096;
    property DayOfWeekMask: OlDaysOfWeek dispid 4097;
    property Duration: Integer dispid 4109;
    property EndTime: TDateTime dispid 4108;
    property Exceptions: Exceptions readonly dispid 4110;
    property Instance: Integer dispid 4099;
    property Interval: Integer dispid 4100;
    property MonthOfYear: Integer dispid 4102;
    property NoEndDate: WordBool dispid 4107;
    property Occurrences: Integer dispid 4101;
    property PatternEndDate: TDateTime dispid 4098;
    property PatternStartDate: TDateTime dispid 4104;
    property RecurrenceType: OlRecurrenceType dispid 4103;
    property Regenerate: WordBool dispid 4106;
    property StartTime: TDateTime dispid 4105;
    function GetOccurrence(StartDate: TDateTime): AppointmentItem; dispid 4111;
  end;

// *********************************************************************//
// Interface: Exceptions
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {0006304C-0000-0000-C000-000000000046}
// *********************************************************************//
  Exceptions = interface(IDispatch)
    ['{0006304C-0000-0000-C000-000000000046}']
    function Get_Application: _Application; safecall;
    function Get_Class_: OlObjectClass; safecall;
    function Get_Session: _NameSpace; safecall;
    function Get_Parent: IDispatch; safecall;
    function Get_Count: Integer; safecall;
    function Item(Index: OleVariant): Exception; safecall;
    property Application: _Application read Get_Application;
    property Class_: OlObjectClass read Get_Class_;
    property Session: _NameSpace read Get_Session;
    property Parent: IDispatch read Get_Parent;
    property Count: Integer read Get_Count;
  end;

// *********************************************************************//
// DispIntf:  ExceptionsDisp
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {0006304C-0000-0000-C000-000000000046}
// *********************************************************************//
  ExceptionsDisp = dispinterface
    ['{0006304C-0000-0000-C000-000000000046}']
    property Application: _Application readonly dispid 61440;
    property Class_: OlObjectClass readonly dispid 61450;
    property Session: _NameSpace readonly dispid 61451;
    property Parent: IDispatch readonly dispid 61441;
    property Count: Integer readonly dispid 80;
    function Item(Index: OleVariant): Exception; dispid 81;
  end;

// *********************************************************************//
// Interface: Exception
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {0006304D-0000-0000-C000-000000000046}
// *********************************************************************//
  Exception = interface(IDispatch)
    ['{0006304D-0000-0000-C000-000000000046}']
    function Get_Application: _Application; safecall;
    function Get_Class_: OlObjectClass; safecall;
    function Get_Session: _NameSpace; safecall;
    function Get_Parent: IDispatch; safecall;
    function Get_AppointmentItem: AppointmentItem; safecall;
    function Get_Deleted: WordBool; safecall;
    function Get_OriginalDate: TDateTime; safecall;
    function Get_ItemProperties: ItemProperties; safecall;
    property Application: _Application read Get_Application;
    property Class_: OlObjectClass read Get_Class_;
    property Session: _NameSpace read Get_Session;
    property Parent: IDispatch read Get_Parent;
    property AppointmentItem: AppointmentItem read Get_AppointmentItem;
    property Deleted: WordBool read Get_Deleted;
    property OriginalDate: TDateTime read Get_OriginalDate;
    property ItemProperties: ItemProperties read Get_ItemProperties;
  end;

// *********************************************************************//
// DispIntf:  ExceptionDisp
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {0006304D-0000-0000-C000-000000000046}
// *********************************************************************//
  ExceptionDisp = dispinterface
    ['{0006304D-0000-0000-C000-000000000046}']
    property Application: _Application readonly dispid 61440;
    property Class_: OlObjectClass readonly dispid 61450;
    property Session: _NameSpace readonly dispid 61451;
    property Parent: IDispatch readonly dispid 61441;
    property AppointmentItem: AppointmentItem readonly dispid 8193;
    property Deleted: WordBool readonly dispid 8194;
    property OriginalDate: TDateTime readonly dispid 8192;
    property ItemProperties: ItemProperties readonly dispid 64009;
  end;

// *********************************************************************//
// Interface: _MeetingItem
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {00063062-0000-0000-C000-000000000046}
// *********************************************************************//
  _MeetingItem = interface(IDispatch)
    ['{00063062-0000-0000-C000-000000000046}']
    function Get_Application: _Application; safecall;
    function Get_Class_: OlObjectClass; safecall;
    function Get_Session: _NameSpace; safecall;
    function Get_Parent: IDispatch; safecall;
    function Get_Actions: Actions; safecall;
    function Get_Attachments: Attachments; safecall;
    function Get_BillingInformation: WideString; safecall;
    procedure Set_BillingInformation(const BillingInformation: WideString); safecall;
    function Get_Body: WideString; safecall;
    procedure Set_Body(const Body: WideString); safecall;
    function Get_Categories: WideString; safecall;
    procedure Set_Categories(const Categories: WideString); safecall;
    function Get_Companies: WideString; safecall;
    procedure Set_Companies(const Companies: WideString); safecall;
    function Get_ConversationIndex: WideString; safecall;
    function Get_ConversationTopic: WideString; safecall;
    function Get_CreationTime: TDateTime; safecall;
    function Get_EntryID: WideString; safecall;
    function Get_FormDescription: FormDescription; safecall;
    function Get_GetInspector: _Inspector; safecall;
    function Get_Importance: OlImportance; safecall;
    procedure Set_Importance(Importance: OlImportance); safecall;
    function Get_LastModificationTime: TDateTime; safecall;
    function Get_MAPIOBJECT: IUnknown; safecall;
    function Get_MessageClass: WideString; safecall;
    procedure Set_MessageClass(const MessageClass: WideString); safecall;
    function Get_Mileage: WideString; safecall;
    procedure Set_Mileage(const Mileage: WideString); safecall;
    function Get_NoAging: WordBool; safecall;
    procedure Set_NoAging(NoAging: WordBool); safecall;
    function Get_OutlookInternalVersion: Integer; safecall;
    function Get_OutlookVersion: WideString; safecall;
    function Get_Saved: WordBool; safecall;
    function Get_Sensitivity: OlSensitivity; safecall;
    procedure Set_Sensitivity(Sensitivity: OlSensitivity); safecall;
    function Get_Size: Integer; safecall;
    function Get_Subject: WideString; safecall;
    procedure Set_Subject(const Subject: WideString); safecall;
    function Get_UnRead: WordBool; safecall;
    procedure Set_UnRead(UnRead: WordBool); safecall;
    function Get_UserProperties: UserProperties; safecall;
    procedure Close(SaveMode: OlInspectorClose); safecall;
    function Copy: IDispatch; safecall;
    procedure Delete; safecall;
    procedure Display(Modal: OleVariant); safecall;
    function Move(const DestFldr: MAPIFolder): IDispatch; safecall;
    procedure PrintOut; safecall;
    procedure Save; safecall;
    procedure SaveAs(const Path: WideString; Type_: OleVariant); safecall;
    function Get_AutoForwarded: WordBool; safecall;
    procedure Set_AutoForwarded(AutoForwarded: WordBool); safecall;
    function Get_DeferredDeliveryTime: TDateTime; safecall;
    procedure Set_DeferredDeliveryTime(DeferredDeliveryTime: TDateTime); safecall;
    function Get_DeleteAfterSubmit: WordBool; safecall;
    procedure Set_DeleteAfterSubmit(DeleteAfterSubmit: WordBool); safecall;
    function Get_ExpiryTime: TDateTime; safecall;
    procedure Set_ExpiryTime(ExpiryTime: TDateTime); safecall;
    function Get_FlagDueBy: TDateTime; safecall;
    procedure Set_FlagDueBy(FlagDueBy: TDateTime); safecall;
    function Get_FlagRequest: WideString; safecall;
    procedure Set_FlagRequest(const FlagRequest: WideString); safecall;
    function Get_FlagStatus: OlFlagStatus; safecall;
    procedure Set_FlagStatus(FlagStatus: OlFlagStatus); safecall;
    function Get_OriginatorDeliveryReportRequested: WordBool; safecall;
    procedure Set_OriginatorDeliveryReportRequested(OriginatorDeliveryReportRequested: WordBool); safecall;
    function Get_ReceivedTime: TDateTime; safecall;
    procedure Set_ReceivedTime(ReceivedTime: TDateTime); safecall;
    function Get_Recipients: Recipients; safecall;
    function Get_ReminderSet: WordBool; safecall;
    procedure Set_ReminderSet(ReminderSet: WordBool); safecall;
    function Get_ReminderTime: TDateTime; safecall;
    procedure Set_ReminderTime(ReminderTime: TDateTime); safecall;
    function Get_ReplyRecipients: Recipients; safecall;
    function Get_SaveSentMessageFolder: MAPIFolder; safecall;
    procedure _Set_SaveSentMessageFolder(const SaveSentMessageFolder: MAPIFolder); safecall;
    function Get_SenderName: WideString; safecall;
    function Get_Sent: WordBool; safecall;
    function Get_SentOn: TDateTime; safecall;
    function Get_Submitted: WordBool; safecall;
    function Forward: MeetingItem; safecall;
    function GetAssociatedAppointment(AddToCalendar: WordBool): AppointmentItem; safecall;
    function Reply: MailItem; safecall;
    function ReplyAll: MailItem; safecall;
    procedure Send; safecall;
    function Get_Links: Links; safecall;
    function Get_DownloadState: OlDownloadState; safecall;
    procedure ShowCategoriesDialog; safecall;
    function Get_ItemProperties: ItemProperties; safecall;
    function Get_MarkForDownload: OlRemoteStatus; safecall;
    procedure Set_MarkForDownload(MarkForDownload: OlRemoteStatus); safecall;
    function Get_IsConflict: WordBool; safecall;
    property Application: _Application read Get_Application;
    property Class_: OlObjectClass read Get_Class_;
    property Session: _NameSpace read Get_Session;
    property Parent: IDispatch read Get_Parent;
    property Actions: Actions read Get_Actions;
    property Attachments: Attachments read Get_Attachments;
    property BillingInformation: WideString read Get_BillingInformation write Set_BillingInformation;
    property Body: WideString read Get_Body write Set_Body;
    property Categories: WideString read Get_Categories write Set_Categories;
    property Companies: WideString read Get_Companies write Set_Companies;
    property ConversationIndex: WideString read Get_ConversationIndex;
    property ConversationTopic: WideString read Get_ConversationTopic;
    property CreationTime: TDateTime read Get_CreationTime;
    property EntryID: WideString read Get_EntryID;
    property FormDescription: FormDescription read Get_FormDescription;
    property GetInspector: _Inspector read Get_GetInspector;
    property Importance: OlImportance read Get_Importance write Set_Importance;
    property LastModificationTime: TDateTime read Get_LastModificationTime;
    property MAPIOBJECT: IUnknown read Get_MAPIOBJECT;
    property MessageClass: WideString read Get_MessageClass write Set_MessageClass;
    property Mileage: WideString read Get_Mileage write Set_Mileage;
    property NoAging: WordBool read Get_NoAging write Set_NoAging;
    property OutlookInternalVersion: Integer read Get_OutlookInternalVersion;
    property OutlookVersion: WideString read Get_OutlookVersion;
    property Saved: WordBool read Get_Saved;
    property Sensitivity: OlSensitivity read Get_Sensitivity write Set_Sensitivity;
    property Size: Integer read Get_Size;
    property Subject: WideString read Get_Subject write Set_Subject;
    property UnRead: WordBool read Get_UnRead write Set_UnRead;
    property UserProperties: UserProperties read Get_UserProperties;
    property AutoForwarded: WordBool read Get_AutoForwarded write Set_AutoForwarded;
    property DeferredDeliveryTime: TDateTime read Get_DeferredDeliveryTime write Set_DeferredDeliveryTime;
    property DeleteAfterSubmit: WordBool read Get_DeleteAfterSubmit write Set_DeleteAfterSubmit;
    property ExpiryTime: TDateTime read Get_ExpiryTime write Set_ExpiryTime;
    property FlagDueBy: TDateTime read Get_FlagDueBy write Set_FlagDueBy;
    property FlagRequest: WideString read Get_FlagRequest write Set_FlagRequest;
    property FlagStatus: OlFlagStatus read Get_FlagStatus write Set_FlagStatus;
    property OriginatorDeliveryReportRequested: WordBool read Get_OriginatorDeliveryReportRequested write Set_OriginatorDeliveryReportRequested;
    property ReceivedTime: TDateTime read Get_ReceivedTime write Set_ReceivedTime;
    property Recipients: Recipients read Get_Recipients;
    property ReminderSet: WordBool read Get_ReminderSet write Set_ReminderSet;
    property ReminderTime: TDateTime read Get_ReminderTime write Set_ReminderTime;
    property ReplyRecipients: Recipients read Get_ReplyRecipients;
    property SaveSentMessageFolder: MAPIFolder read Get_SaveSentMessageFolder write _Set_SaveSentMessageFolder;
    property SenderName: WideString read Get_SenderName;
    property Sent: WordBool read Get_Sent;
    property SentOn: TDateTime read Get_SentOn;
    property Submitted: WordBool read Get_Submitted;
    property Links: Links read Get_Links;
    property DownloadState: OlDownloadState read Get_DownloadState;
    property ItemProperties: ItemProperties read Get_ItemProperties;
    property MarkForDownload: OlRemoteStatus read Get_MarkForDownload write Set_MarkForDownload;
    property IsConflict: WordBool read Get_IsConflict;
  end;

// *********************************************************************//
// DispIntf:  _MeetingItemDisp
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {00063062-0000-0000-C000-000000000046}
// *********************************************************************//
  _MeetingItemDisp = dispinterface
    ['{00063062-0000-0000-C000-000000000046}']
    property Application: _Application readonly dispid 61440;
    property Class_: OlObjectClass readonly dispid 61450;
    property Session: _NameSpace readonly dispid 61451;
    property Parent: IDispatch readonly dispid 61441;
    property Actions: Actions readonly dispid 63511;
    property Attachments: Attachments readonly dispid 63509;
    property BillingInformation: WideString dispid 34101;
    property Body: WideString dispid 37120;
    property Categories: WideString dispid 36865;
    property Companies: WideString dispid 34107;
    property ConversationIndex: WideString readonly dispid 113;
    property ConversationTopic: WideString readonly dispid 112;
    property CreationTime: TDateTime readonly dispid 12295;
    property EntryID: WideString readonly dispid 61470;
    property FormDescription: FormDescription readonly dispid 61589;
    property GetInspector: _Inspector readonly dispid 61502;
    property Importance: OlImportance dispid 23;
    property LastModificationTime: TDateTime readonly dispid 12296;
    property MAPIOBJECT: IUnknown readonly dispid 61696;
    property MessageClass: WideString dispid 26;
    property Mileage: WideString dispid 34100;
    property NoAging: WordBool dispid 34062;
    property OutlookInternalVersion: Integer readonly dispid 34130;
    property OutlookVersion: WideString readonly dispid 34132;
    property Saved: WordBool readonly dispid 61603;
    property Sensitivity: OlSensitivity dispid 54;
    property Size: Integer readonly dispid 3592;
    property Subject: WideString dispid 55;
    property UnRead: WordBool dispid 61468;
    property UserProperties: UserProperties readonly dispid 63510;
    procedure Close(SaveMode: OlInspectorClose); dispid 61475;
    function Copy: IDispatch; dispid 61490;
    procedure Delete; dispid 61514;
    procedure Display(Modal: OleVariant); dispid 61606;
    function Move(const DestFldr: MAPIFolder): IDispatch; dispid 61492;
    procedure PrintOut; dispid 61491;
    procedure Save; dispid 61512;
    procedure SaveAs(const Path: WideString; Type_: OleVariant); dispid 61521;
    property AutoForwarded: WordBool dispid 5;
    property DeferredDeliveryTime: TDateTime dispid 15;
    property DeleteAfterSubmit: WordBool dispid 3585;
    property ExpiryTime: TDateTime dispid 21;
    property FlagDueBy: TDateTime dispid 48;
    property FlagRequest: WideString dispid 34096;
    property FlagStatus: OlFlagStatus dispid 4240;
    property OriginatorDeliveryReportRequested: WordBool dispid 35;
    property ReceivedTime: TDateTime dispid 3590;
    property Recipients: Recipients readonly dispid 63508;
    property ReminderSet: WordBool dispid 34051;
    property ReminderTime: TDateTime dispid 34050;
    property ReplyRecipients: Recipients readonly dispid 61459;
    property SaveSentMessageFolder: MAPIFolder dispid 62465;
    property SenderName: WideString readonly dispid 3098;
    property Sent: WordBool readonly dispid 62466;
    property SentOn: TDateTime readonly dispid 57;
    property Submitted: WordBool readonly dispid 62467;
    function Forward: MeetingItem; dispid 63507;
    function GetAssociatedAppointment(AddToCalendar: WordBool): AppointmentItem; dispid 63328;
    function Reply: MailItem; dispid 63504;
    function ReplyAll: MailItem; dispid 63505;
    procedure Send; dispid 61557;
    property Links: Links readonly dispid 62469;
    property DownloadState: OlDownloadState readonly dispid 64077;
    procedure ShowCategoriesDialog; dispid 64011;
    property ItemProperties: ItemProperties readonly dispid 64009;
    property MarkForDownload: OlRemoteStatus dispid 34161;
    property IsConflict: WordBool readonly dispid 64164;
  end;

// *********************************************************************//
// Interface: _ContactItem
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {00063021-0000-0000-C000-000000000046}
// *********************************************************************//
  _ContactItem = interface(IDispatch)
    ['{00063021-0000-0000-C000-000000000046}']
    function Get_Application: _Application; safecall;
    function Get_Class_: OlObjectClass; safecall;
    function Get_Session: _NameSpace; safecall;
    function Get_Parent: IDispatch; safecall;
    function Get_Actions: Actions; safecall;
    function Get_Attachments: Attachments; safecall;
    function Get_BillingInformation: WideString; safecall;
    procedure Set_BillingInformation(const BillingInformation: WideString); safecall;
    function Get_Body: WideString; safecall;
    procedure Set_Body(const Body: WideString); safecall;
    function Get_Categories: WideString; safecall;
    procedure Set_Categories(const Categories: WideString); safecall;
    function Get_Companies: WideString; safecall;
    procedure Set_Companies(const Companies: WideString); safecall;
    function Get_ConversationIndex: WideString; safecall;
    function Get_ConversationTopic: WideString; safecall;
    function Get_CreationTime: TDateTime; safecall;
    function Get_EntryID: WideString; safecall;
    function Get_FormDescription: FormDescription; safecall;
    function Get_GetInspector: _Inspector; safecall;
    function Get_Importance: OlImportance; safecall;
    procedure Set_Importance(Importance: OlImportance); safecall;
    function Get_LastModificationTime: TDateTime; safecall;
    function Get_MAPIOBJECT: IUnknown; safecall;
    function Get_MessageClass: WideString; safecall;
    procedure Set_MessageClass(const MessageClass: WideString); safecall;
    function Get_Mileage: WideString; safecall;
    procedure Set_Mileage(const Mileage: WideString); safecall;
    function Get_NoAging: WordBool; safecall;
    procedure Set_NoAging(NoAging: WordBool); safecall;
    function Get_OutlookInternalVersion: Integer; safecall;
    function Get_OutlookVersion: WideString; safecall;
    function Get_Saved: WordBool; safecall;
    function Get_Sensitivity: OlSensitivity; safecall;
    procedure Set_Sensitivity(Sensitivity: OlSensitivity); safecall;
    function Get_Size: Integer; safecall;
    function Get_Subject: WideString; safecall;
    procedure Set_Subject(const Subject: WideString); safecall;
    function Get_UnRead: WordBool; safecall;
    procedure Set_UnRead(UnRead: WordBool); safecall;
    function Get_UserProperties: UserProperties; safecall;
    procedure Close(SaveMode: OlInspectorClose); safecall;
    function Copy: IDispatch; safecall;
    procedure Delete; safecall;
    procedure Display(Modal: OleVariant); safecall;
    function Move(const DestFldr: MAPIFolder): IDispatch; safecall;
    procedure PrintOut; safecall;
    procedure Save; safecall;
    procedure SaveAs(const Path: WideString; Type_: OleVariant); safecall;
    function Get_Account: WideString; safecall;
    procedure Set_Account(const Account: WideString); safecall;
    function Get_Anniversary: TDateTime; safecall;
    procedure Set_Anniversary(Anniversary: TDateTime); safecall;
    function Get_AssistantName: WideString; safecall;
    procedure Set_AssistantName(const AssistantName: WideString); safecall;
    function Get_AssistantTelephoneNumber: WideString; safecall;
    procedure Set_AssistantTelephoneNumber(const AssistantTelephoneNumber: WideString); safecall;
    function Get_Birthday: TDateTime; safecall;
    procedure Set_Birthday(Birthday: TDateTime); safecall;
    function Get_Business2TelephoneNumber: WideString; safecall;
    procedure Set_Business2TelephoneNumber(const Business2TelephoneNumber: WideString); safecall;
    function Get_BusinessAddress: WideString; safecall;
    procedure Set_BusinessAddress(const BusinessAddress: WideString); safecall;
    function Get_BusinessAddressCity: WideString; safecall;
    procedure Set_BusinessAddressCity(const BusinessAddressCity: WideString); safecall;
    function Get_BusinessAddressCountry: WideString; safecall;
    procedure Set_BusinessAddressCountry(const BusinessAddressCountry: WideString); safecall;
    function Get_BusinessAddressPostalCode: WideString; safecall;
    procedure Set_BusinessAddressPostalCode(const BusinessAddressPostalCode: WideString); safecall;
    function Get_BusinessAddressPostOfficeBox: WideString; safecall;
    procedure Set_BusinessAddressPostOfficeBox(const BusinessAddressPostOfficeBox: WideString); safecall;
    function Get_BusinessAddressState: WideString; safecall;
    procedure Set_BusinessAddressState(const BusinessAddressState: WideString); safecall;
    function Get_BusinessAddressStreet: WideString; safecall;
    procedure Set_BusinessAddressStreet(const BusinessAddressStreet: WideString); safecall;
    function Get_BusinessFaxNumber: WideString; safecall;
    procedure Set_BusinessFaxNumber(const BusinessFaxNumber: WideString); safecall;
    function Get_BusinessHomePage: WideString; safecall;
    procedure Set_BusinessHomePage(const BusinessHomePage: WideString); safecall;
    function Get_BusinessTelephoneNumber: WideString; safecall;
    procedure Set_BusinessTelephoneNumber(const BusinessTelephoneNumber: WideString); safecall;
    function Get_CallbackTelephoneNumber: WideString; safecall;
    procedure Set_CallbackTelephoneNumber(const CallbackTelephoneNumber: WideString); safecall;
    function Get_CarTelephoneNumber: WideString; safecall;
    procedure Set_CarTelephoneNumber(const CarTelephoneNumber: WideString); safecall;
    function Get_Children: WideString; safecall;
    procedure Set_Children(const Children: WideString); safecall;
    function Get_CompanyAndFullName: WideString; safecall;
    function Get_CompanyLastFirstNoSpace: WideString; safecall;
    function Get_CompanyLastFirstSpaceOnly: WideString; safecall;
    function Get_CompanyMainTelephoneNumber: WideString; safecall;
    procedure Set_CompanyMainTelephoneNumber(const CompanyMainTelephoneNumber: WideString); safecall;
    function Get_CompanyName: WideString; safecall;
    procedure Set_CompanyName(const CompanyName: WideString); safecall;
    function Get_ComputerNetworkName: WideString; safecall;
    procedure Set_ComputerNetworkName(const ComputerNetworkName: WideString); safecall;
    function Get_CustomerID: WideString; safecall;
    procedure Set_CustomerID(const CustomerID: WideString); safecall;
    function Get_Department: WideString; safecall;
    procedure Set_Department(const Department: WideString); safecall;
    function Get_Email1Address: WideString; safecall;
    procedure Set_Email1Address(const Email1Address: WideString); safecall;
    function Get_Email1AddressType: WideString; safecall;
    procedure Set_Email1AddressType(const Email1AddressType: WideString); safecall;
    function Get_Email1DisplayName: WideString; safecall;
    function Get_Email1EntryID: WideString; safecall;
    function Get_Email2Address: WideString; safecall;
    procedure Set_Email2Address(const Email2Address: WideString); safecall;
    function Get_Email2AddressType: WideString; safecall;
    procedure Set_Email2AddressType(const Email2AddressType: WideString); safecall;
    function Get_Email2DisplayName: WideString; safecall;
    function Get_Email2EntryID: WideString; safecall;
    function Get_Email3Address: WideString; safecall;
    procedure Set_Email3Address(const Email3Address: WideString); safecall;
    function Get_Email3AddressType: WideString; safecall;
    procedure Set_Email3AddressType(const Email3AddressType: WideString); safecall;
    function Get_Email3DisplayName: WideString; safecall;
    function Get_Email3EntryID: WideString; safecall;
    function Get_FileAs: WideString; safecall;
    procedure Set_FileAs(const FileAs: WideString); safecall;
    function Get_FirstName: WideString; safecall;
    procedure Set_FirstName(const FirstName: WideString); safecall;
    function Get_FTPSite: WideString; safecall;
    procedure Set_FTPSite(const FTPSite: WideString); safecall;
    function Get_FullName: WideString; safecall;
    procedure Set_FullName(const FullName: WideString); safecall;
    function Get_FullNameAndCompany: WideString; safecall;
    function Get_Gender: OlGender; safecall;
    procedure Set_Gender(Gender: OlGender); safecall;
    function Get_GovernmentIDNumber: WideString; safecall;
    procedure Set_GovernmentIDNumber(const GovernmentIDNumber: WideString); safecall;
    function Get_Hobby: WideString; safecall;
    procedure Set_Hobby(const Hobby: WideString); safecall;
    function Get_Home2TelephoneNumber: WideString; safecall;
    procedure Set_Home2TelephoneNumber(const Home2TelephoneNumber: WideString); safecall;
    function Get_HomeAddress: WideString; safecall;
    procedure Set_HomeAddress(const HomeAddress: WideString); safecall;
    function Get_HomeAddressCity: WideString; safecall;
    procedure Set_HomeAddressCity(const HomeAddressCity: WideString); safecall;
    function Get_HomeAddressCountry: WideString; safecall;
    procedure Set_HomeAddressCountry(const HomeAddressCountry: WideString); safecall;
    function Get_HomeAddressPostalCode: WideString; safecall;
    procedure Set_HomeAddressPostalCode(const HomeAddressPostalCode: WideString); safecall;
    function Get_HomeAddressPostOfficeBox: WideString; safecall;
    procedure Set_HomeAddressPostOfficeBox(const HomeAddressPostOfficeBox: WideString); safecall;
    function Get_HomeAddressState: WideString; safecall;
    procedure Set_HomeAddressState(const HomeAddressState: WideString); safecall;
    function Get_HomeAddressStreet: WideString; safecall;
    procedure Set_HomeAddressStreet(const HomeAddressStreet: WideString); safecall;
    function Get_HomeFaxNumber: WideString; safecall;
    procedure Set_HomeFaxNumber(const HomeFaxNumber: WideString); safecall;
    function Get_HomeTelephoneNumber: WideString; safecall;
    procedure Set_HomeTelephoneNumber(const HomeTelephoneNumber: WideString); safecall;
    function Get_Initials: WideString; safecall;
    procedure Set_Initials(const Initials: WideString); safecall;
    function Get_InternetFreeBusyAddress: WideString; safecall;
    procedure Set_InternetFreeBusyAddress(const InternetFreeBusyAddress: WideString); safecall;
    function Get_ISDNNumber: WideString; safecall;
    procedure Set_ISDNNumber(const ISDNNumber: WideString); safecall;
    function Get_JobTitle: WideString; safecall;
    procedure Set_JobTitle(const JobTitle: WideString); safecall;
    function Get_Journal: WordBool; safecall;
    procedure Set_Journal(Journal: WordBool); safecall;
    function Get_Language: WideString; safecall;
    procedure Set_Language(const Language: WideString); safecall;
    function Get_LastFirstAndSuffix: WideString; safecall;
    function Get_LastFirstNoSpace: WideString; safecall;
    function Get_LastFirstNoSpaceCompany: WideString; safecall;
    function Get_LastFirstSpaceOnly: WideString; safecall;
    function Get_LastFirstSpaceOnlyCompany: WideString; safecall;
    function Get_LastName: WideString; safecall;
    procedure Set_LastName(const LastName: WideString); safecall;
    function Get_LastNameAndFirstName: WideString; safecall;
    function Get_MailingAddress: WideString; safecall;
    procedure Set_MailingAddress(const MailingAddress: WideString); safecall;
    function Get_MailingAddressCity: WideString; safecall;
    procedure Set_MailingAddressCity(const MailingAddressCity: WideString); safecall;
    function Get_MailingAddressCountry: WideString; safecall;
    procedure Set_MailingAddressCountry(const MailingAddressCountry: WideString); safecall;
    function Get_MailingAddressPostalCode: WideString; safecall;
    procedure Set_MailingAddressPostalCode(const MailingAddressPostalCode: WideString); safecall;
    function Get_MailingAddressPostOfficeBox: WideString; safecall;
    procedure Set_MailingAddressPostOfficeBox(const MailingAddressPostOfficeBox: WideString); safecall;
    function Get_MailingAddressState: WideString; safecall;
    procedure Set_MailingAddressState(const MailingAddressState: WideString); safecall;
    function Get_MailingAddressStreet: WideString; safecall;
    procedure Set_MailingAddressStreet(const MailingAddressStreet: WideString); safecall;
    function Get_ManagerName: WideString; safecall;
    procedure Set_ManagerName(const ManagerName: WideString); safecall;
    function Get_MiddleName: WideString; safecall;
    procedure Set_MiddleName(const MiddleName: WideString); safecall;
    function Get_MobileTelephoneNumber: WideString; safecall;
    procedure Set_MobileTelephoneNumber(const MobileTelephoneNumber: WideString); safecall;
    function Get_NetMeetingAlias: WideString; safecall;
    procedure Set_NetMeetingAlias(const NetMeetingAlias: WideString); safecall;
    function Get_NetMeetingServer: WideString; safecall;
    procedure Set_NetMeetingServer(const NetMeetingServer: WideString); safecall;
    function Get_NickName: WideString; safecall;
    procedure Set_NickName(const NickName: WideString); safecall;
    function Get_OfficeLocation: WideString; safecall;
    procedure Set_OfficeLocation(const OfficeLocation: WideString); safecall;
    function Get_OrganizationalIDNumber: WideString; safecall;
    procedure Set_OrganizationalIDNumber(const OrganizationalIDNumber: WideString); safecall;
    function Get_OtherAddress: WideString; safecall;
    procedure Set_OtherAddress(const OtherAddress: WideString); safecall;
    function Get_OtherAddressCity: WideString; safecall;
    procedure Set_OtherAddressCity(const OtherAddressCity: WideString); safecall;
    function Get_OtherAddressCountry: WideString; safecall;
    procedure Set_OtherAddressCountry(const OtherAddressCountry: WideString); safecall;
    function Get_OtherAddressPostalCode: WideString; safecall;
    procedure Set_OtherAddressPostalCode(const OtherAddressPostalCode: WideString); safecall;
    function Get_OtherAddressPostOfficeBox: WideString; safecall;
    procedure Set_OtherAddressPostOfficeBox(const OtherAddressPostOfficeBox: WideString); safecall;
    function Get_OtherAddressState: WideString; safecall;
    procedure Set_OtherAddressState(const OtherAddressState: WideString); safecall;
    function Get_OtherAddressStreet: WideString; safecall;
    procedure Set_OtherAddressStreet(const OtherAddressStreet: WideString); safecall;
    function Get_OtherFaxNumber: WideString; safecall;
    procedure Set_OtherFaxNumber(const OtherFaxNumber: WideString); safecall;
    function Get_OtherTelephoneNumber: WideString; safecall;
    procedure Set_OtherTelephoneNumber(const OtherTelephoneNumber: WideString); safecall;
    function Get_PagerNumber: WideString; safecall;
    procedure Set_PagerNumber(const PagerNumber: WideString); safecall;
    function Get_PersonalHomePage: WideString; safecall;
    procedure Set_PersonalHomePage(const PersonalHomePage: WideString); safecall;
    function Get_PrimaryTelephoneNumber: WideString; safecall;
    procedure Set_PrimaryTelephoneNumber(const PrimaryTelephoneNumber: WideString); safecall;
    function Get_Profession: WideString; safecall;
    procedure Set_Profession(const Profession: WideString); safecall;
    function Get_RadioTelephoneNumber: WideString; safecall;
    procedure Set_RadioTelephoneNumber(const RadioTelephoneNumber: WideString); safecall;
    function Get_ReferredBy: WideString; safecall;
    procedure Set_ReferredBy(const ReferredBy: WideString); safecall;
    function Get_SelectedMailingAddress: OlMailingAddress; safecall;
    procedure Set_SelectedMailingAddress(SelectedMailingAddress: OlMailingAddress); safecall;
    function Get_Spouse: WideString; safecall;
    procedure Set_Spouse(const Spouse: WideString); safecall;
    function Get_Suffix: WideString; safecall;
    procedure Set_Suffix(const Suffix: WideString); safecall;
    function Get_TelexNumber: WideString; safecall;
    procedure Set_TelexNumber(const TelexNumber: WideString); safecall;
    function Get_Title: WideString; safecall;
    procedure Set_Title(const Title: WideString); safecall;
    function Get_TTYTDDTelephoneNumber: WideString; safecall;
    procedure Set_TTYTDDTelephoneNumber(const TTYTDDTelephoneNumber: WideString); safecall;
    function Get_User1: WideString; safecall;
    procedure Set_User1(const User1: WideString); safecall;
    function Get_User2: WideString; safecall;
    procedure Set_User2(const User2: WideString); safecall;
    function Get_User3: WideString; safecall;
    procedure Set_User3(const User3: WideString); safecall;
    function Get_User4: WideString; safecall;
    procedure Set_User4(const User4: WideString); safecall;
    function Get_UserCertificate: WideString; safecall;
    procedure Set_UserCertificate(const UserCertificate: WideString); safecall;
    function Get_WebPage: WideString; safecall;
    procedure Set_WebPage(const WebPage: WideString); safecall;
    function Get_YomiCompanyName: WideString; safecall;
    procedure Set_YomiCompanyName(const YomiCompanyName: WideString); safecall;
    function Get_YomiFirstName: WideString; safecall;
    procedure Set_YomiFirstName(const YomiFirstName: WideString); safecall;
    function Get_YomiLastName: WideString; safecall;
    procedure Set_YomiLastName(const YomiLastName: WideString); safecall;
    function ForwardAsVcard: MailItem; safecall;
    function Get_Links: Links; safecall;
    function Get_ItemProperties: ItemProperties; safecall;
    function Get_LastFirstNoSpaceAndSuffix: WideString; safecall;
    function Get_DownloadState: OlDownloadState; safecall;
    procedure ShowCategoriesDialog; safecall;
    function Get_IMAddress: WideString; safecall;
    procedure Set_IMAddress(const IMAddress: WideString); safecall;
    function Get_MarkForDownload: OlRemoteStatus; safecall;
    procedure Set_MarkForDownload(MarkForDownload: OlRemoteStatus); safecall;
    procedure Set_Email1DisplayName(const Email1DisplayName: WideString); safecall;
    procedure Set_Email2DisplayName(const Email2DisplayName: WideString); safecall;
    procedure Set_Email3DisplayName(const Email3DisplayName: WideString); safecall;
    function Get_IsConflict: WordBool; safecall;
    property Application: _Application read Get_Application;
    property Class_: OlObjectClass read Get_Class_;
    property Session: _NameSpace read Get_Session;
    property Parent: IDispatch read Get_Parent;
    property Actions: Actions read Get_Actions;
    property Attachments: Attachments read Get_Attachments;
    property BillingInformation: WideString read Get_BillingInformation write Set_BillingInformation;
    property Body: WideString read Get_Body write Set_Body;
    property Categories: WideString read Get_Categories write Set_Categories;
    property Companies: WideString read Get_Companies write Set_Companies;
    property ConversationIndex: WideString read Get_ConversationIndex;
    property ConversationTopic: WideString read Get_ConversationTopic;
    property CreationTime: TDateTime read Get_CreationTime;
    property EntryID: WideString read Get_EntryID;
    property FormDescription: FormDescription read Get_FormDescription;
    property GetInspector: _Inspector read Get_GetInspector;
    property Importance: OlImportance read Get_Importance write Set_Importance;
    property LastModificationTime: TDateTime read Get_LastModificationTime;
    property MAPIOBJECT: IUnknown read Get_MAPIOBJECT;
    property MessageClass: WideString read Get_MessageClass write Set_MessageClass;
    property Mileage: WideString read Get_Mileage write Set_Mileage;
    property NoAging: WordBool read Get_NoAging write Set_NoAging;
    property OutlookInternalVersion: Integer read Get_OutlookInternalVersion;
    property OutlookVersion: WideString read Get_OutlookVersion;
    property Saved: WordBool read Get_Saved;
    property Sensitivity: OlSensitivity read Get_Sensitivity write Set_Sensitivity;
    property Size: Integer read Get_Size;
    property Subject: WideString read Get_Subject write Set_Subject;
    property UnRead: WordBool read Get_UnRead write Set_UnRead;
    property UserProperties: UserProperties read Get_UserProperties;
    property Account: WideString read Get_Account write Set_Account;
    property Anniversary: TDateTime read Get_Anniversary write Set_Anniversary;
    property AssistantName: WideString read Get_AssistantName write Set_AssistantName;
    property AssistantTelephoneNumber: WideString read Get_AssistantTelephoneNumber write Set_AssistantTelephoneNumber;
    property Birthday: TDateTime read Get_Birthday write Set_Birthday;
    property Business2TelephoneNumber: WideString read Get_Business2TelephoneNumber write Set_Business2TelephoneNumber;
    property BusinessAddress: WideString read Get_BusinessAddress write Set_BusinessAddress;
    property BusinessAddressCity: WideString read Get_BusinessAddressCity write Set_BusinessAddressCity;
    property BusinessAddressCountry: WideString read Get_BusinessAddressCountry write Set_BusinessAddressCountry;
    property BusinessAddressPostalCode: WideString read Get_BusinessAddressPostalCode write Set_BusinessAddressPostalCode;
    property BusinessAddressPostOfficeBox: WideString read Get_BusinessAddressPostOfficeBox write Set_BusinessAddressPostOfficeBox;
    property BusinessAddressState: WideString read Get_BusinessAddressState write Set_BusinessAddressState;
    property BusinessAddressStreet: WideString read Get_BusinessAddressStreet write Set_BusinessAddressStreet;
    property BusinessFaxNumber: WideString read Get_BusinessFaxNumber write Set_BusinessFaxNumber;
    property BusinessHomePage: WideString read Get_BusinessHomePage write Set_BusinessHomePage;
    property BusinessTelephoneNumber: WideString read Get_BusinessTelephoneNumber write Set_BusinessTelephoneNumber;
    property CallbackTelephoneNumber: WideString read Get_CallbackTelephoneNumber write Set_CallbackTelephoneNumber;
    property CarTelephoneNumber: WideString read Get_CarTelephoneNumber write Set_CarTelephoneNumber;
    property Children: WideString read Get_Children write Set_Children;
    property CompanyAndFullName: WideString read Get_CompanyAndFullName;
    property CompanyLastFirstNoSpace: WideString read Get_CompanyLastFirstNoSpace;
    property CompanyLastFirstSpaceOnly: WideString read Get_CompanyLastFirstSpaceOnly;
    property CompanyMainTelephoneNumber: WideString read Get_CompanyMainTelephoneNumber write Set_CompanyMainTelephoneNumber;
    property CompanyName: WideString read Get_CompanyName write Set_CompanyName;
    property ComputerNetworkName: WideString read Get_ComputerNetworkName write Set_ComputerNetworkName;
    property CustomerID: WideString read Get_CustomerID write Set_CustomerID;
    property Department: WideString read Get_Department write Set_Department;
    property Email1Address: WideString read Get_Email1Address write Set_Email1Address;
    property Email1AddressType: WideString read Get_Email1AddressType write Set_Email1AddressType;
    property Email1DisplayName: WideString read Get_Email1DisplayName write Set_Email1DisplayName;
    property Email1EntryID: WideString read Get_Email1EntryID;
    property Email2Address: WideString read Get_Email2Address write Set_Email2Address;
    property Email2AddressType: WideString read Get_Email2AddressType write Set_Email2AddressType;
    property Email2DisplayName: WideString read Get_Email2DisplayName write Set_Email2DisplayName;
    property Email2EntryID: WideString read Get_Email2EntryID;
    property Email3Address: WideString read Get_Email3Address write Set_Email3Address;
    property Email3AddressType: WideString read Get_Email3AddressType write Set_Email3AddressType;
    property Email3DisplayName: WideString read Get_Email3DisplayName write Set_Email3DisplayName;
    property Email3EntryID: WideString read Get_Email3EntryID;
    property FileAs: WideString read Get_FileAs write Set_FileAs;
    property FirstName: WideString read Get_FirstName write Set_FirstName;
    property FTPSite: WideString read Get_FTPSite write Set_FTPSite;
    property FullName: WideString read Get_FullName write Set_FullName;
    property FullNameAndCompany: WideString read Get_FullNameAndCompany;
    property Gender: OlGender read Get_Gender write Set_Gender;
    property GovernmentIDNumber: WideString read Get_GovernmentIDNumber write Set_GovernmentIDNumber;
    property Hobby: WideString read Get_Hobby write Set_Hobby;
    property Home2TelephoneNumber: WideString read Get_Home2TelephoneNumber write Set_Home2TelephoneNumber;
    property HomeAddress: WideString read Get_HomeAddress write Set_HomeAddress;
    property HomeAddressCity: WideString read Get_HomeAddressCity write Set_HomeAddressCity;
    property HomeAddressCountry: WideString read Get_HomeAddressCountry write Set_HomeAddressCountry;
    property HomeAddressPostalCode: WideString read Get_HomeAddressPostalCode write Set_HomeAddressPostalCode;
    property HomeAddressPostOfficeBox: WideString read Get_HomeAddressPostOfficeBox write Set_HomeAddressPostOfficeBox;
    property HomeAddressState: WideString read Get_HomeAddressState write Set_HomeAddressState;
    property HomeAddressStreet: WideString read Get_HomeAddressStreet write Set_HomeAddressStreet;
    property HomeFaxNumber: WideString read Get_HomeFaxNumber write Set_HomeFaxNumber;
    property HomeTelephoneNumber: WideString read Get_HomeTelephoneNumber write Set_HomeTelephoneNumber;
    property Initials: WideString read Get_Initials write Set_Initials;
    property InternetFreeBusyAddress: WideString read Get_InternetFreeBusyAddress write Set_InternetFreeBusyAddress;
    property ISDNNumber: WideString read Get_ISDNNumber write Set_ISDNNumber;
    property JobTitle: WideString read Get_JobTitle write Set_JobTitle;
    property Journal: WordBool read Get_Journal write Set_Journal;
    property Language: WideString read Get_Language write Set_Language;
    property LastFirstAndSuffix: WideString read Get_LastFirstAndSuffix;
    property LastFirstNoSpace: WideString read Get_LastFirstNoSpace;
    property LastFirstNoSpaceCompany: WideString read Get_LastFirstNoSpaceCompany;
    property LastFirstSpaceOnly: WideString read Get_LastFirstSpaceOnly;
    property LastFirstSpaceOnlyCompany: WideString read Get_LastFirstSpaceOnlyCompany;
    property LastName: WideString read Get_LastName write Set_LastName;
    property LastNameAndFirstName: WideString read Get_LastNameAndFirstName;
    property MailingAddress: WideString read Get_MailingAddress write Set_MailingAddress;
    property MailingAddressCity: WideString read Get_MailingAddressCity write Set_MailingAddressCity;
    property MailingAddressCountry: WideString read Get_MailingAddressCountry write Set_MailingAddressCountry;
    property MailingAddressPostalCode: WideString read Get_MailingAddressPostalCode write Set_MailingAddressPostalCode;
    property MailingAddressPostOfficeBox: WideString read Get_MailingAddressPostOfficeBox write Set_MailingAddressPostOfficeBox;
    property MailingAddressState: WideString read Get_MailingAddressState write Set_MailingAddressState;
    property MailingAddressStreet: WideString read Get_MailingAddressStreet write Set_MailingAddressStreet;
    property ManagerName: WideString read Get_ManagerName write Set_ManagerName;
    property MiddleName: WideString read Get_MiddleName write Set_MiddleName;
    property MobileTelephoneNumber: WideString read Get_MobileTelephoneNumber write Set_MobileTelephoneNumber;
    property NetMeetingAlias: WideString read Get_NetMeetingAlias write Set_NetMeetingAlias;
    property NetMeetingServer: WideString read Get_NetMeetingServer write Set_NetMeetingServer;
    property NickName: WideString read Get_NickName write Set_NickName;
    property OfficeLocation: WideString read Get_OfficeLocation write Set_OfficeLocation;
    property OrganizationalIDNumber: WideString read Get_OrganizationalIDNumber write Set_OrganizationalIDNumber;
    property OtherAddress: WideString read Get_OtherAddress write Set_OtherAddress;
    property OtherAddressCity: WideString read Get_OtherAddressCity write Set_OtherAddressCity;
    property OtherAddressCountry: WideString read Get_OtherAddressCountry write Set_OtherAddressCountry;
    property OtherAddressPostalCode: WideString read Get_OtherAddressPostalCode write Set_OtherAddressPostalCode;
    property OtherAddressPostOfficeBox: WideString read Get_OtherAddressPostOfficeBox write Set_OtherAddressPostOfficeBox;
    property OtherAddressState: WideString read Get_OtherAddressState write Set_OtherAddressState;
    property OtherAddressStreet: WideString read Get_OtherAddressStreet write Set_OtherAddressStreet;
    property OtherFaxNumber: WideString read Get_OtherFaxNumber write Set_OtherFaxNumber;
    property OtherTelephoneNumber: WideString read Get_OtherTelephoneNumber write Set_OtherTelephoneNumber;
    property PagerNumber: WideString read Get_PagerNumber write Set_PagerNumber;
    property PersonalHomePage: WideString read Get_PersonalHomePage write Set_PersonalHomePage;
    property PrimaryTelephoneNumber: WideString read Get_PrimaryTelephoneNumber write Set_PrimaryTelephoneNumber;
    property Profession: WideString read Get_Profession write Set_Profession;
    property RadioTelephoneNumber: WideString read Get_RadioTelephoneNumber write Set_RadioTelephoneNumber;
    property ReferredBy: WideString read Get_ReferredBy write Set_ReferredBy;
    property SelectedMailingAddress: OlMailingAddress read Get_SelectedMailingAddress write Set_SelectedMailingAddress;
    property Spouse: WideString read Get_Spouse write Set_Spouse;
    property Suffix: WideString read Get_Suffix write Set_Suffix;
    property TelexNumber: WideString read Get_TelexNumber write Set_TelexNumber;
    property Title: WideString read Get_Title write Set_Title;
    property TTYTDDTelephoneNumber: WideString read Get_TTYTDDTelephoneNumber write Set_TTYTDDTelephoneNumber;
    property User1: WideString read Get_User1 write Set_User1;
    property User2: WideString read Get_User2 write Set_User2;
    property User3: WideString read Get_User3 write Set_User3;
    property User4: WideString read Get_User4 write Set_User4;
    property UserCertificate: WideString read Get_UserCertificate write Set_UserCertificate;
    property WebPage: WideString read Get_WebPage write Set_WebPage;
    property YomiCompanyName: WideString read Get_YomiCompanyName write Set_YomiCompanyName;
    property YomiFirstName: WideString read Get_YomiFirstName write Set_YomiFirstName;
    property YomiLastName: WideString read Get_YomiLastName write Set_YomiLastName;
    property Links: Links read Get_Links;
    property ItemProperties: ItemProperties read Get_ItemProperties;
    property LastFirstNoSpaceAndSuffix: WideString read Get_LastFirstNoSpaceAndSuffix;
    property DownloadState: OlDownloadState read Get_DownloadState;
    property IMAddress: WideString read Get_IMAddress write Set_IMAddress;
    property MarkForDownload: OlRemoteStatus read Get_MarkForDownload write Set_MarkForDownload;
    property IsConflict: WordBool read Get_IsConflict;
  end;

// *********************************************************************//
// DispIntf:  _ContactItemDisp
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {00063021-0000-0000-C000-000000000046}
// *********************************************************************//
  _ContactItemDisp = dispinterface
    ['{00063021-0000-0000-C000-000000000046}']
    property Application: _Application readonly dispid 61440;
    property Class_: OlObjectClass readonly dispid 61450;
    property Session: _NameSpace readonly dispid 61451;
    property Parent: IDispatch readonly dispid 61441;
    property Actions: Actions readonly dispid 63511;
    property Attachments: Attachments readonly dispid 63509;
    property BillingInformation: WideString dispid 34101;
    property Body: WideString dispid 37120;
    property Categories: WideString dispid 36865;
    property Companies: WideString dispid 34107;
    property ConversationIndex: WideString readonly dispid 113;
    property ConversationTopic: WideString readonly dispid 112;
    property CreationTime: TDateTime readonly dispid 12295;
    property EntryID: WideString readonly dispid 61470;
    property FormDescription: FormDescription readonly dispid 61589;
    property GetInspector: _Inspector readonly dispid 61502;
    property Importance: OlImportance dispid 23;
    property LastModificationTime: TDateTime readonly dispid 12296;
    property MAPIOBJECT: IUnknown readonly dispid 61696;
    property MessageClass: WideString dispid 26;
    property Mileage: WideString dispid 34100;
    property NoAging: WordBool dispid 34062;
    property OutlookInternalVersion: Integer readonly dispid 34130;
    property OutlookVersion: WideString readonly dispid 34132;
    property Saved: WordBool readonly dispid 61603;
    property Sensitivity: OlSensitivity dispid 54;
    property Size: Integer readonly dispid 3592;
    property Subject: WideString dispid 55;
    property UnRead: WordBool dispid 61468;
    property UserProperties: UserProperties readonly dispid 63510;
    procedure Close(SaveMode: OlInspectorClose); dispid 61475;
    function Copy: IDispatch; dispid 61490;
    procedure Delete; dispid 61514;
    procedure Display(Modal: OleVariant); dispid 61606;
    function Move(const DestFldr: MAPIFolder): IDispatch; dispid 61492;
    procedure PrintOut; dispid 61491;
    procedure Save; dispid 61512;
    procedure SaveAs(const Path: WideString; Type_: OleVariant); dispid 61521;
    property Account: WideString dispid 14848;
    property Anniversary: TDateTime dispid 14913;
    property AssistantName: WideString dispid 14896;
    property AssistantTelephoneNumber: WideString dispid 14894;
    property Birthday: TDateTime dispid 14914;
    property Business2TelephoneNumber: WideString dispid 14875;
    property BusinessAddress: WideString dispid 32795;
    property BusinessAddressCity: WideString dispid 32838;
    property BusinessAddressCountry: WideString dispid 32841;
    property BusinessAddressPostalCode: WideString dispid 32840;
    property BusinessAddressPostOfficeBox: WideString dispid 32842;
    property BusinessAddressState: WideString dispid 32839;
    property BusinessAddressStreet: WideString dispid 32837;
    property BusinessFaxNumber: WideString dispid 14884;
    property BusinessHomePage: WideString dispid 14929;
    property BusinessTelephoneNumber: WideString dispid 14856;
    property CallbackTelephoneNumber: WideString dispid 14850;
    property CarTelephoneNumber: WideString dispid 14878;
    property Children: WideString dispid 32780;
    property CompanyAndFullName: WideString readonly dispid 32792;
    property CompanyLastFirstNoSpace: WideString readonly dispid 32818;
    property CompanyLastFirstSpaceOnly: WideString readonly dispid 32819;
    property CompanyMainTelephoneNumber: WideString dispid 14935;
    property CompanyName: WideString dispid 14870;
    property ComputerNetworkName: WideString dispid 14921;
    property CustomerID: WideString dispid 14922;
    property Department: WideString dispid 14872;
    property Email1Address: WideString dispid 32899;
    property Email1AddressType: WideString dispid 32898;
    property Email1DisplayName: WideString dispid 32896;
    property Email1EntryID: WideString readonly dispid 32901;
    property Email2Address: WideString dispid 32915;
    property Email2AddressType: WideString dispid 32914;
    property Email2DisplayName: WideString dispid 32912;
    property Email2EntryID: WideString readonly dispid 32917;
    property Email3Address: WideString dispid 32931;
    property Email3AddressType: WideString dispid 32930;
    property Email3DisplayName: WideString dispid 32928;
    property Email3EntryID: WideString readonly dispid 32933;
    property FileAs: WideString dispid 32773;
    property FirstName: WideString dispid 14854;
    property FTPSite: WideString dispid 14924;
    property FullName: WideString dispid 12289;
    property FullNameAndCompany: WideString readonly dispid 32793;
    property Gender: OlGender dispid 14925;
    property GovernmentIDNumber: WideString dispid 14855;
    property Hobby: WideString dispid 14915;
    property Home2TelephoneNumber: WideString dispid 14895;
    property HomeAddress: WideString dispid 32794;
    property HomeAddressCity: WideString dispid 14937;
    property HomeAddressCountry: WideString dispid 14938;
    property HomeAddressPostalCode: WideString dispid 14939;
    property HomeAddressPostOfficeBox: WideString dispid 14942;
    property HomeAddressState: WideString dispid 14940;
    property HomeAddressStreet: WideString dispid 14941;
    property HomeFaxNumber: WideString dispid 14885;
    property HomeTelephoneNumber: WideString dispid 14857;
    property Initials: WideString dispid 14858;
    property InternetFreeBusyAddress: WideString dispid 32984;
    property ISDNNumber: WideString dispid 14893;
    property JobTitle: WideString dispid 14871;
    property Journal: WordBool dispid 32805;
    property Language: WideString dispid 14860;
    property LastFirstAndSuffix: WideString readonly dispid 32822;
    property LastFirstNoSpace: WideString readonly dispid 32816;
    property LastFirstNoSpaceCompany: WideString readonly dispid 32820;
    property LastFirstSpaceOnly: WideString readonly dispid 32817;
    property LastFirstSpaceOnlyCompany: WideString readonly dispid 32821;
    property LastName: WideString dispid 14865;
    property LastNameAndFirstName: WideString readonly dispid 32791;
    property MailingAddress: WideString dispid 14869;
    property MailingAddressCity: WideString dispid 14887;
    property MailingAddressCountry: WideString dispid 14886;
    property MailingAddressPostalCode: WideString dispid 14890;
    property MailingAddressPostOfficeBox: WideString dispid 14891;
    property MailingAddressState: WideString dispid 14888;
    property MailingAddressStreet: WideString dispid 14889;
    property ManagerName: WideString dispid 14926;
    property MiddleName: WideString dispid 14916;
    property MobileTelephoneNumber: WideString dispid 14876;
    property NetMeetingAlias: WideString dispid 32863;
    property NetMeetingServer: WideString dispid 32864;
    property NickName: WideString dispid 14927;
    property OfficeLocation: WideString dispid 14873;
    property OrganizationalIDNumber: WideString dispid 14864;
    property OtherAddress: WideString dispid 32796;
    property OtherAddressCity: WideString dispid 14943;
    property OtherAddressCountry: WideString dispid 14944;
    property OtherAddressPostalCode: WideString dispid 14945;
    property OtherAddressPostOfficeBox: WideString dispid 14948;
    property OtherAddressState: WideString dispid 14946;
    property OtherAddressStreet: WideString dispid 14947;
    property OtherFaxNumber: WideString dispid 14883;
    property OtherTelephoneNumber: WideString dispid 14879;
    property PagerNumber: WideString dispid 14881;
    property PersonalHomePage: WideString dispid 14928;
    property PrimaryTelephoneNumber: WideString dispid 14874;
    property Profession: WideString dispid 14918;
    property RadioTelephoneNumber: WideString dispid 14877;
    property ReferredBy: WideString dispid 14919;
    property SelectedMailingAddress: OlMailingAddress dispid 32802;
    property Spouse: WideString dispid 14920;
    property Suffix: WideString dispid 14853;
    property TelexNumber: WideString dispid 14892;
    property Title: WideString dispid 14917;
    property TTYTDDTelephoneNumber: WideString dispid 14923;
    property User1: WideString dispid 32847;
    property User2: WideString dispid 32848;
    property User3: WideString dispid 32849;
    property User4: WideString dispid 32850;
    property UserCertificate: WideString dispid 32790;
    property WebPage: WideString dispid 32811;
    property YomiCompanyName: WideString dispid 32814;
    property YomiFirstName: WideString dispid 32812;
    property YomiLastName: WideString dispid 32813;
    function ForwardAsVcard: MailItem; dispid 63649;
    property Links: Links readonly dispid 62469;
    property ItemProperties: ItemProperties readonly dispid 64009;
    property LastFirstNoSpaceAndSuffix: WideString readonly dispid 32824;
    property DownloadState: OlDownloadState readonly dispid 64077;
    procedure ShowCategoriesDialog; dispid 64011;
    property IMAddress: WideString dispid 32866;
    property MarkForDownload: OlRemoteStatus dispid 34161;
    property IsConflict: WordBool readonly dispid 64164;
  end;

// *********************************************************************//
// Interface: _DistListItem
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {00063081-0000-0000-C000-000000000046}
// *********************************************************************//
  _DistListItem = interface(IDispatch)
    ['{00063081-0000-0000-C000-000000000046}']
    function Get_Application: _Application; safecall;
    function Get_Class_: OlObjectClass; safecall;
    function Get_Session: _NameSpace; safecall;
    function Get_Parent: IDispatch; safecall;
    function Get_Actions: Actions; safecall;
    function Get_Attachments: Attachments; safecall;
    function Get_BillingInformation: WideString; safecall;
    procedure Set_BillingInformation(const BillingInformation: WideString); safecall;
    function Get_Body: WideString; safecall;
    procedure Set_Body(const Body: WideString); safecall;
    function Get_Categories: WideString; safecall;
    procedure Set_Categories(const Categories: WideString); safecall;
    function Get_Companies: WideString; safecall;
    procedure Set_Companies(const Companies: WideString); safecall;
    function Get_ConversationIndex: WideString; safecall;
    function Get_ConversationTopic: WideString; safecall;
    function Get_CreationTime: TDateTime; safecall;
    function Get_EntryID: WideString; safecall;
    function Get_FormDescription: FormDescription; safecall;
    function Get_GetInspector: _Inspector; safecall;
    function Get_Importance: OlImportance; safecall;
    procedure Set_Importance(Importance: OlImportance); safecall;
    function Get_LastModificationTime: TDateTime; safecall;
    function Get_MAPIOBJECT: IUnknown; safecall;
    function Get_MessageClass: WideString; safecall;
    procedure Set_MessageClass(const MessageClass: WideString); safecall;
    function Get_Mileage: WideString; safecall;
    procedure Set_Mileage(const Mileage: WideString); safecall;
    function Get_NoAging: WordBool; safecall;
    procedure Set_NoAging(NoAging: WordBool); safecall;
    function Get_OutlookInternalVersion: Integer; safecall;
    function Get_OutlookVersion: WideString; safecall;
    function Get_Saved: WordBool; safecall;
    function Get_Sensitivity: OlSensitivity; safecall;
    procedure Set_Sensitivity(Sensitivity: OlSensitivity); safecall;
    function Get_Size: Integer; safecall;
    function Get_Subject: WideString; safecall;
    procedure Set_Subject(const Subject: WideString); safecall;
    function Get_UnRead: WordBool; safecall;
    procedure Set_UnRead(UnRead: WordBool); safecall;
    function Get_UserProperties: UserProperties; safecall;
    procedure Close(SaveMode: OlInspectorClose); safecall;
    function Copy: IDispatch; safecall;
    procedure Delete; safecall;
    procedure Display(Modal: OleVariant); safecall;
    function Move(const DestFldr: MAPIFolder): IDispatch; safecall;
    procedure PrintOut; safecall;
    procedure Save; safecall;
    procedure SaveAs(const Path: WideString; Type_: OleVariant); safecall;
    function Get_DLName: WideString; safecall;
    procedure Set_DLName(const DLName: WideString); safecall;
    function Get_MemberCount: Integer; safecall;
    function Get_CheckSum: Integer; safecall;
    function Get_Members: OleVariant; safecall;
    procedure Set_Members(Members: OleVariant); safecall;
    function Get_OneOffMembers: OleVariant; safecall;
    procedure Set_OneOffMembers(OneOffMembers: OleVariant); safecall;
    function Get_Links: Links; safecall;
    procedure AddMembers(const Recipients: Recipients); safecall;
    procedure RemoveMembers(const Recipients: Recipients); safecall;
    function GetMember(Index: Integer): Recipient; safecall;
    function Get_DownloadState: OlDownloadState; safecall;
    procedure ShowCategoriesDialog; safecall;
    procedure AddMember(const Recipient: Recipient); safecall;
    procedure RemoveMember(const Recipient: Recipient); safecall;
    function Get_ItemProperties: ItemProperties; safecall;
    function Get_MarkForDownload: OlRemoteStatus; safecall;
    procedure Set_MarkForDownload(MarkForDownload: OlRemoteStatus); safecall;
    function Get_IsConflict: WordBool; safecall;
    property Application: _Application read Get_Application;
    property Class_: OlObjectClass read Get_Class_;
    property Session: _NameSpace read Get_Session;
    property Parent: IDispatch read Get_Parent;
    property Actions: Actions read Get_Actions;
    property Attachments: Attachments read Get_Attachments;
    property BillingInformation: WideString read Get_BillingInformation write Set_BillingInformation;
    property Body: WideString read Get_Body write Set_Body;
    property Categories: WideString read Get_Categories write Set_Categories;
    property Companies: WideString read Get_Companies write Set_Companies;
    property ConversationIndex: WideString read Get_ConversationIndex;
    property ConversationTopic: WideString read Get_ConversationTopic;
    property CreationTime: TDateTime read Get_CreationTime;
    property EntryID: WideString read Get_EntryID;
    property FormDescription: FormDescription read Get_FormDescription;
    property GetInspector: _Inspector read Get_GetInspector;
    property Importance: OlImportance read Get_Importance write Set_Importance;
    property LastModificationTime: TDateTime read Get_LastModificationTime;
    property MAPIOBJECT: IUnknown read Get_MAPIOBJECT;
    property MessageClass: WideString read Get_MessageClass write Set_MessageClass;
    property Mileage: WideString read Get_Mileage write Set_Mileage;
    property NoAging: WordBool read Get_NoAging write Set_NoAging;
    property OutlookInternalVersion: Integer read Get_OutlookInternalVersion;
    property OutlookVersion: WideString read Get_OutlookVersion;
    property Saved: WordBool read Get_Saved;
    property Sensitivity: OlSensitivity read Get_Sensitivity write Set_Sensitivity;
    property Size: Integer read Get_Size;
    property Subject: WideString read Get_Subject write Set_Subject;
    property UnRead: WordBool read Get_UnRead write Set_UnRead;
    property UserProperties: UserProperties read Get_UserProperties;
    property DLName: WideString read Get_DLName write Set_DLName;
    property MemberCount: Integer read Get_MemberCount;
    property CheckSum: Integer read Get_CheckSum;
    property Members: OleVariant read Get_Members write Set_Members;
    property OneOffMembers: OleVariant read Get_OneOffMembers write Set_OneOffMembers;
    property Links: Links read Get_Links;
    property DownloadState: OlDownloadState read Get_DownloadState;
    property ItemProperties: ItemProperties read Get_ItemProperties;
    property MarkForDownload: OlRemoteStatus read Get_MarkForDownload write Set_MarkForDownload;
    property IsConflict: WordBool read Get_IsConflict;
  end;

// *********************************************************************//
// DispIntf:  _DistListItemDisp
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {00063081-0000-0000-C000-000000000046}
// *********************************************************************//
  _DistListItemDisp = dispinterface
    ['{00063081-0000-0000-C000-000000000046}']
    property Application: _Application readonly dispid 61440;
    property Class_: OlObjectClass readonly dispid 61450;
    property Session: _NameSpace readonly dispid 61451;
    property Parent: IDispatch readonly dispid 61441;
    property Actions: Actions readonly dispid 63511;
    property Attachments: Attachments readonly dispid 63509;
    property BillingInformation: WideString dispid 34101;
    property Body: WideString dispid 37120;
    property Categories: WideString dispid 36865;
    property Companies: WideString dispid 34107;
    property ConversationIndex: WideString readonly dispid 113;
    property ConversationTopic: WideString readonly dispid 112;
    property CreationTime: TDateTime readonly dispid 12295;
    property EntryID: WideString readonly dispid 61470;
    property FormDescription: FormDescription readonly dispid 61589;
    property GetInspector: _Inspector readonly dispid 61502;
    property Importance: OlImportance dispid 23;
    property LastModificationTime: TDateTime readonly dispid 12296;
    property MAPIOBJECT: IUnknown readonly dispid 61696;
    property MessageClass: WideString dispid 26;
    property Mileage: WideString dispid 34100;
    property NoAging: WordBool dispid 34062;
    property OutlookInternalVersion: Integer readonly dispid 34130;
    property OutlookVersion: WideString readonly dispid 34132;
    property Saved: WordBool readonly dispid 61603;
    property Sensitivity: OlSensitivity dispid 54;
    property Size: Integer readonly dispid 3592;
    property Subject: WideString dispid 55;
    property UnRead: WordBool dispid 61468;
    property UserProperties: UserProperties readonly dispid 63510;
    procedure Close(SaveMode: OlInspectorClose); dispid 61475;
    function Copy: IDispatch; dispid 61490;
    procedure Delete; dispid 61514;
    procedure Display(Modal: OleVariant); dispid 61606;
    function Move(const DestFldr: MAPIFolder): IDispatch; dispid 61492;
    procedure PrintOut; dispid 61491;
    procedure Save; dispid 61512;
    procedure SaveAs(const Path: WideString; Type_: OleVariant); dispid 61521;
    property DLName: WideString dispid 32851;
    property MemberCount: Integer readonly dispid 32843;
    property CheckSum: Integer readonly dispid 32844;
    property Members: OleVariant dispid 32853;
    property OneOffMembers: OleVariant dispid 32852;
    property Links: Links readonly dispid 62469;
    procedure AddMembers(const Recipients: Recipients); dispid 63744;
    procedure RemoveMembers(const Recipients: Recipients); dispid 63745;
    function GetMember(Index: Integer): Recipient; dispid 63749;
    property DownloadState: OlDownloadState readonly dispid 64077;
    procedure ShowCategoriesDialog; dispid 64011;
    procedure AddMember(const Recipient: Recipient); dispid 64140;
    procedure RemoveMember(const Recipient: Recipient); dispid 64141;
    property ItemProperties: ItemProperties readonly dispid 64009;
    property MarkForDownload: OlRemoteStatus dispid 34161;
    property IsConflict: WordBool readonly dispid 64164;
  end;

// *********************************************************************//
// Interface: _DocumentItem
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {00063020-0000-0000-C000-000000000046}
// *********************************************************************//
  _DocumentItem = interface(IDispatch)
    ['{00063020-0000-0000-C000-000000000046}']
    function Get_Application: _Application; safecall;
    function Get_Class_: OlObjectClass; safecall;
    function Get_Session: _NameSpace; safecall;
    function Get_Parent: IDispatch; safecall;
    function Get_Actions: Actions; safecall;
    function Get_Attachments: Attachments; safecall;
    function Get_BillingInformation: WideString; safecall;
    procedure Set_BillingInformation(const BillingInformation: WideString); safecall;
    function Get_Body: WideString; safecall;
    procedure Set_Body(const Body: WideString); safecall;
    function Get_Categories: WideString; safecall;
    procedure Set_Categories(const Categories: WideString); safecall;
    function Get_Companies: WideString; safecall;
    procedure Set_Companies(const Companies: WideString); safecall;
    function Get_ConversationIndex: WideString; safecall;
    function Get_ConversationTopic: WideString; safecall;
    function Get_CreationTime: TDateTime; safecall;
    function Get_EntryID: WideString; safecall;
    function Get_FormDescription: FormDescription; safecall;
    function Get_GetInspector: _Inspector; safecall;
    function Get_Importance: OlImportance; safecall;
    procedure Set_Importance(Importance: OlImportance); safecall;
    function Get_LastModificationTime: TDateTime; safecall;
    function Get_MAPIOBJECT: IUnknown; safecall;
    function Get_MessageClass: WideString; safecall;
    procedure Set_MessageClass(const MessageClass: WideString); safecall;
    function Get_Mileage: WideString; safecall;
    procedure Set_Mileage(const Mileage: WideString); safecall;
    function Get_NoAging: WordBool; safecall;
    procedure Set_NoAging(NoAging: WordBool); safecall;
    function Get_OutlookInternalVersion: Integer; safecall;
    function Get_OutlookVersion: WideString; safecall;
    function Get_Saved: WordBool; safecall;
    function Get_Sensitivity: OlSensitivity; safecall;
    procedure Set_Sensitivity(Sensitivity: OlSensitivity); safecall;
    function Get_Size: Integer; safecall;
    function Get_Subject: WideString; safecall;
    procedure Set_Subject(const Subject: WideString); safecall;
    function Get_UnRead: WordBool; safecall;
    procedure Set_UnRead(UnRead: WordBool); safecall;
    function Get_UserProperties: UserProperties; safecall;
    procedure Close(SaveMode: OlInspectorClose); safecall;
    function Copy: IDispatch; safecall;
    procedure Delete; safecall;
    procedure Display(Modal: OleVariant); safecall;
    function Move(const DestFldr: MAPIFolder): IDispatch; safecall;
    procedure PrintOut; safecall;
    procedure Save; safecall;
    procedure SaveAs(const Path: WideString; Type_: OleVariant); safecall;
    function Get_Links: Links; safecall;
    function Get_DownloadState: OlDownloadState; safecall;
    procedure ShowCategoriesDialog; safecall;
    function Get_ItemProperties: ItemProperties; safecall;
    function Get_MarkForDownload: OlRemoteStatus; safecall;
    procedure Set_MarkForDownload(MarkForDownload: OlRemoteStatus); safecall;
    function Get_IsConflict: WordBool; safecall;
    property Application: _Application read Get_Application;
    property Class_: OlObjectClass read Get_Class_;
    property Session: _NameSpace read Get_Session;
    property Parent: IDispatch read Get_Parent;
    property Actions: Actions read Get_Actions;
    property Attachments: Attachments read Get_Attachments;
    property BillingInformation: WideString read Get_BillingInformation write Set_BillingInformation;
    property Body: WideString read Get_Body write Set_Body;
    property Categories: WideString read Get_Categories write Set_Categories;
    property Companies: WideString read Get_Companies write Set_Companies;
    property ConversationIndex: WideString read Get_ConversationIndex;
    property ConversationTopic: WideString read Get_ConversationTopic;
    property CreationTime: TDateTime read Get_CreationTime;
    property EntryID: WideString read Get_EntryID;
    property FormDescription: FormDescription read Get_FormDescription;
    property GetInspector: _Inspector read Get_GetInspector;
    property Importance: OlImportance read Get_Importance write Set_Importance;
    property LastModificationTime: TDateTime read Get_LastModificationTime;
    property MAPIOBJECT: IUnknown read Get_MAPIOBJECT;
    property MessageClass: WideString read Get_MessageClass write Set_MessageClass;
    property Mileage: WideString read Get_Mileage write Set_Mileage;
    property NoAging: WordBool read Get_NoAging write Set_NoAging;
    property OutlookInternalVersion: Integer read Get_OutlookInternalVersion;
    property OutlookVersion: WideString read Get_OutlookVersion;
    property Saved: WordBool read Get_Saved;
    property Sensitivity: OlSensitivity read Get_Sensitivity write Set_Sensitivity;
    property Size: Integer read Get_Size;
    property Subject: WideString read Get_Subject write Set_Subject;
    property UnRead: WordBool read Get_UnRead write Set_UnRead;
    property UserProperties: UserProperties read Get_UserProperties;
    property Links: Links read Get_Links;
    property DownloadState: OlDownloadState read Get_DownloadState;
    property ItemProperties: ItemProperties read Get_ItemProperties;
    property MarkForDownload: OlRemoteStatus read Get_MarkForDownload write Set_MarkForDownload;
    property IsConflict: WordBool read Get_IsConflict;
  end;

// *********************************************************************//
// DispIntf:  _DocumentItemDisp
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {00063020-0000-0000-C000-000000000046}
// *********************************************************************//
  _DocumentItemDisp = dispinterface
    ['{00063020-0000-0000-C000-000000000046}']
    property Application: _Application readonly dispid 61440;
    property Class_: OlObjectClass readonly dispid 61450;
    property Session: _NameSpace readonly dispid 61451;
    property Parent: IDispatch readonly dispid 61441;
    property Actions: Actions readonly dispid 63511;
    property Attachments: Attachments readonly dispid 63509;
    property BillingInformation: WideString dispid 34101;
    property Body: WideString dispid 37120;
    property Categories: WideString dispid 36865;
    property Companies: WideString dispid 34107;
    property ConversationIndex: WideString readonly dispid 113;
    property ConversationTopic: WideString readonly dispid 112;
    property CreationTime: TDateTime readonly dispid 12295;
    property EntryID: WideString readonly dispid 61470;
    property FormDescription: FormDescription readonly dispid 61589;
    property GetInspector: _Inspector readonly dispid 61502;
    property Importance: OlImportance dispid 23;
    property LastModificationTime: TDateTime readonly dispid 12296;
    property MAPIOBJECT: IUnknown readonly dispid 61696;
    property MessageClass: WideString dispid 26;
    property Mileage: WideString dispid 34100;
    property NoAging: WordBool dispid 34062;
    property OutlookInternalVersion: Integer readonly dispid 34130;
    property OutlookVersion: WideString readonly dispid 34132;
    property Saved: WordBool readonly dispid 61603;
    property Sensitivity: OlSensitivity dispid 54;
    property Size: Integer readonly dispid 3592;
    property Subject: WideString dispid 55;
    property UnRead: WordBool dispid 61468;
    property UserProperties: UserProperties readonly dispid 63510;
    procedure Close(SaveMode: OlInspectorClose); dispid 61475;
    function Copy: IDispatch; dispid 61490;
    procedure Delete; dispid 61514;
    procedure Display(Modal: OleVariant); dispid 61606;
    function Move(const DestFldr: MAPIFolder): IDispatch; dispid 61492;
    procedure PrintOut; dispid 61491;
    procedure Save; dispid 61512;
    procedure SaveAs(const Path: WideString; Type_: OleVariant); dispid 61521;
    property Links: Links readonly dispid 62469;
    property DownloadState: OlDownloadState readonly dispid 64077;
    procedure ShowCategoriesDialog; dispid 64011;
    property ItemProperties: ItemProperties readonly dispid 64009;
    property MarkForDownload: OlRemoteStatus dispid 34161;
    property IsConflict: WordBool readonly dispid 64164;
  end;

// *********************************************************************//
// DispIntf:  ExplorersEvents
// Flags:     (4096) Dispatchable
// GUID:      {00063078-0000-0000-C000-000000000046}
// *********************************************************************//
  ExplorersEvents = dispinterface
    ['{00063078-0000-0000-C000-000000000046}']
    procedure NewExplorer(const Explorer: _Explorer); dispid 61441;
  end;

// *********************************************************************//
// DispIntf:  FoldersEvents
// Flags:     (4096) Dispatchable
// GUID:      {00063076-0000-0000-C000-000000000046}
// *********************************************************************//
  FoldersEvents = dispinterface
    ['{00063076-0000-0000-C000-000000000046}']
    procedure FolderAdd(const Folder: MAPIFolder); dispid 61441;
    procedure FolderChange(const Folder: MAPIFolder); dispid 61442;
    procedure FolderRemove; dispid 61443;
  end;

// *********************************************************************//
// DispIntf:  InspectorsEvents
// Flags:     (4096) Dispatchable
// GUID:      {00063079-0000-0000-C000-000000000046}
// *********************************************************************//
  InspectorsEvents = dispinterface
    ['{00063079-0000-0000-C000-000000000046}']
    procedure NewInspector(const Inspector: _Inspector); dispid 61441;
  end;

// *********************************************************************//
// DispIntf:  ItemsEvents
// Flags:     (4096) Dispatchable
// GUID:      {00063077-0000-0000-C000-000000000046}
// *********************************************************************//
  ItemsEvents = dispinterface
    ['{00063077-0000-0000-C000-000000000046}']
    procedure ItemAdd(const Item: IDispatch); dispid 61441;
    procedure ItemChange(const Item: IDispatch); dispid 61442;
    procedure ItemRemove; dispid 61443;
  end;

// *********************************************************************//
// Interface: _JournalItem
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {00063022-0000-0000-C000-000000000046}
// *********************************************************************//
  _JournalItem = interface(IDispatch)
    ['{00063022-0000-0000-C000-000000000046}']
    function Get_Application: _Application; safecall;
    function Get_Class_: OlObjectClass; safecall;
    function Get_Session: _NameSpace; safecall;
    function Get_Parent: IDispatch; safecall;
    function Get_Actions: Actions; safecall;
    function Get_Attachments: Attachments; safecall;
    function Get_BillingInformation: WideString; safecall;
    procedure Set_BillingInformation(const BillingInformation: WideString); safecall;
    function Get_Body: WideString; safecall;
    procedure Set_Body(const Body: WideString); safecall;
    function Get_Categories: WideString; safecall;
    procedure Set_Categories(const Categories: WideString); safecall;
    function Get_Companies: WideString; safecall;
    procedure Set_Companies(const Companies: WideString); safecall;
    function Get_ConversationIndex: WideString; safecall;
    function Get_ConversationTopic: WideString; safecall;
    function Get_CreationTime: TDateTime; safecall;
    function Get_EntryID: WideString; safecall;
    function Get_FormDescription: FormDescription; safecall;
    function Get_GetInspector: _Inspector; safecall;
    function Get_Importance: OlImportance; safecall;
    procedure Set_Importance(Importance: OlImportance); safecall;
    function Get_LastModificationTime: TDateTime; safecall;
    function Get_MAPIOBJECT: IUnknown; safecall;
    function Get_MessageClass: WideString; safecall;
    procedure Set_MessageClass(const MessageClass: WideString); safecall;
    function Get_Mileage: WideString; safecall;
    procedure Set_Mileage(const Mileage: WideString); safecall;
    function Get_NoAging: WordBool; safecall;
    procedure Set_NoAging(NoAging: WordBool); safecall;
    function Get_OutlookInternalVersion: Integer; safecall;
    function Get_OutlookVersion: WideString; safecall;
    function Get_Saved: WordBool; safecall;
    function Get_Sensitivity: OlSensitivity; safecall;
    procedure Set_Sensitivity(Sensitivity: OlSensitivity); safecall;
    function Get_Size: Integer; safecall;
    function Get_Subject: WideString; safecall;
    procedure Set_Subject(const Subject: WideString); safecall;
    function Get_UnRead: WordBool; safecall;
    procedure Set_UnRead(UnRead: WordBool); safecall;
    function Get_UserProperties: UserProperties; safecall;
    procedure Close(SaveMode: OlInspectorClose); safecall;
    function Copy: IDispatch; safecall;
    procedure Delete; safecall;
    procedure Display(Modal: OleVariant); safecall;
    function Move(const DestFldr: MAPIFolder): IDispatch; safecall;
    procedure PrintOut; safecall;
    procedure Save; safecall;
    procedure SaveAs(const Path: WideString; Type_: OleVariant); safecall;
    function Get_ContactNames: WideString; safecall;
    procedure Set_ContactNames(const ContactNames: WideString); safecall;
    function Get_DocPosted: WordBool; safecall;
    procedure Set_DocPosted(DocPosted: WordBool); safecall;
    function Get_DocPrinted: WordBool; safecall;
    procedure Set_DocPrinted(DocPrinted: WordBool); safecall;
    function Get_DocRouted: WordBool; safecall;
    procedure Set_DocRouted(DocRouted: WordBool); safecall;
    function Get_DocSaved: WordBool; safecall;
    procedure Set_DocSaved(DocSaved: WordBool); safecall;
    function Get_Duration: Integer; safecall;
    procedure Set_Duration(Duration: Integer); safecall;
    function Get_End_: TDateTime; safecall;
    procedure Set_End_(End_: TDateTime); safecall;
    function Get_type_: WideString; safecall;
    procedure Set_type_(const Type_: WideString); safecall;
    function Get_Recipients: Recipients; safecall;
    function Get_Start: TDateTime; safecall;
    procedure Set_Start(Start: TDateTime); safecall;
    function Forward: MailItem; safecall;
    function Reply: MailItem; safecall;
    function ReplyAll: MailItem; safecall;
    procedure StartTimer; safecall;
    procedure StopTimer; safecall;
    function Get_Links: Links; safecall;
    function Get_DownloadState: OlDownloadState; safecall;
    procedure ShowCategoriesDialog; safecall;
    function Get_ItemProperties: ItemProperties; safecall;
    function Get_MarkForDownload: OlRemoteStatus; safecall;
    procedure Set_MarkForDownload(MarkForDownload: OlRemoteStatus); safecall;
    function Get_IsConflict: WordBool; safecall;
    property Application: _Application read Get_Application;
    property Class_: OlObjectClass read Get_Class_;
    property Session: _NameSpace read Get_Session;
    property Parent: IDispatch read Get_Parent;
    property Actions: Actions read Get_Actions;
    property Attachments: Attachments read Get_Attachments;
    property BillingInformation: WideString read Get_BillingInformation write Set_BillingInformation;
    property Body: WideString read Get_Body write Set_Body;
    property Categories: WideString read Get_Categories write Set_Categories;
    property Companies: WideString read Get_Companies write Set_Companies;
    property ConversationIndex: WideString read Get_ConversationIndex;
    property ConversationTopic: WideString read Get_ConversationTopic;
    property CreationTime: TDateTime read Get_CreationTime;
    property EntryID: WideString read Get_EntryID;
    property FormDescription: FormDescription read Get_FormDescription;
    property GetInspector: _Inspector read Get_GetInspector;
    property Importance: OlImportance read Get_Importance write Set_Importance;
    property LastModificationTime: TDateTime read Get_LastModificationTime;
    property MAPIOBJECT: IUnknown read Get_MAPIOBJECT;
    property MessageClass: WideString read Get_MessageClass write Set_MessageClass;
    property Mileage: WideString read Get_Mileage write Set_Mileage;
    property NoAging: WordBool read Get_NoAging write Set_NoAging;
    property OutlookInternalVersion: Integer read Get_OutlookInternalVersion;
    property OutlookVersion: WideString read Get_OutlookVersion;
    property Saved: WordBool read Get_Saved;
    property Sensitivity: OlSensitivity read Get_Sensitivity write Set_Sensitivity;
    property Size: Integer read Get_Size;
    property Subject: WideString read Get_Subject write Set_Subject;
    property UnRead: WordBool read Get_UnRead write Set_UnRead;
    property UserProperties: UserProperties read Get_UserProperties;
    property ContactNames: WideString read Get_ContactNames write Set_ContactNames;
    property DocPosted: WordBool read Get_DocPosted write Set_DocPosted;
    property DocPrinted: WordBool read Get_DocPrinted write Set_DocPrinted;
    property DocRouted: WordBool read Get_DocRouted write Set_DocRouted;
    property DocSaved: WordBool read Get_DocSaved write Set_DocSaved;
    property Duration: Integer read Get_Duration write Set_Duration;
    property End_: TDateTime read Get_End_ write Set_End_;
    property type_: WideString read Get_type_ write Set_type_;
    property Recipients: Recipients read Get_Recipients;
    property Start: TDateTime read Get_Start write Set_Start;
    property Links: Links read Get_Links;
    property DownloadState: OlDownloadState read Get_DownloadState;
    property ItemProperties: ItemProperties read Get_ItemProperties;
    property MarkForDownload: OlRemoteStatus read Get_MarkForDownload write Set_MarkForDownload;
    property IsConflict: WordBool read Get_IsConflict;
  end;

// *********************************************************************//
// DispIntf:  _JournalItemDisp
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {00063022-0000-0000-C000-000000000046}
// *********************************************************************//
  _JournalItemDisp = dispinterface
    ['{00063022-0000-0000-C000-000000000046}']
    property Application: _Application readonly dispid 61440;
    property Class_: OlObjectClass readonly dispid 61450;
    property Session: _NameSpace readonly dispid 61451;
    property Parent: IDispatch readonly dispid 61441;
    property Actions: Actions readonly dispid 63511;
    property Attachments: Attachments readonly dispid 63509;
    property BillingInformation: WideString dispid 34101;
    property Body: WideString dispid 37120;
    property Categories: WideString dispid 36865;
    property Companies: WideString dispid 34107;
    property ConversationIndex: WideString readonly dispid 113;
    property ConversationTopic: WideString readonly dispid 112;
    property CreationTime: TDateTime readonly dispid 12295;
    property EntryID: WideString readonly dispid 61470;
    property FormDescription: FormDescription readonly dispid 61589;
    property GetInspector: _Inspector readonly dispid 61502;
    property Importance: OlImportance dispid 23;
    property LastModificationTime: TDateTime readonly dispid 12296;
    property MAPIOBJECT: IUnknown readonly dispid 61696;
    property MessageClass: WideString dispid 26;
    property Mileage: WideString dispid 34100;
    property NoAging: WordBool dispid 34062;
    property OutlookInternalVersion: Integer readonly dispid 34130;
    property OutlookVersion: WideString readonly dispid 34132;
    property Saved: WordBool readonly dispid 61603;
    property Sensitivity: OlSensitivity dispid 54;
    property Size: Integer readonly dispid 3592;
    property Subject: WideString dispid 55;
    property UnRead: WordBool dispid 61468;
    property UserProperties: UserProperties readonly dispid 63510;
    procedure Close(SaveMode: OlInspectorClose); dispid 61475;
    function Copy: IDispatch; dispid 61490;
    procedure Delete; dispid 61514;
    procedure Display(Modal: OleVariant); dispid 61606;
    function Move(const DestFldr: MAPIFolder): IDispatch; dispid 61492;
    procedure PrintOut; dispid 61491;
    procedure Save; dispid 61512;
    procedure SaveAs(const Path: WideString; Type_: OleVariant); dispid 61521;
    property ContactNames: WideString dispid 3588;
    property DocPosted: WordBool dispid 34577;
    property DocPrinted: WordBool dispid 34574;
    property DocRouted: WordBool dispid 34576;
    property DocSaved: WordBool dispid 34575;
    property Duration: Integer dispid 34567;
    property End_: TDateTime dispid 34568;
    property type_: WideString dispid 34560;
    property Recipients: Recipients readonly dispid 63508;
    property Start: TDateTime dispid 34566;
    function Forward: MailItem; dispid 63507;
    function Reply: MailItem; dispid 63504;
    function ReplyAll: MailItem; dispid 63505;
    procedure StartTimer; dispid 63269;
    procedure StopTimer; dispid 63270;
    property Links: Links readonly dispid 62469;
    property DownloadState: OlDownloadState readonly dispid 64077;
    procedure ShowCategoriesDialog; dispid 64011;
    property ItemProperties: ItemProperties readonly dispid 64009;
    property MarkForDownload: OlRemoteStatus dispid 34161;
    property IsConflict: WordBool readonly dispid 64164;
  end;

// *********************************************************************//
// DispIntf:  NameSpaceEvents
// Flags:     (4096) Dispatchable
// GUID:      {0006308C-0000-0000-C000-000000000046}
// *********************************************************************//
  NameSpaceEvents = dispinterface
    ['{0006308C-0000-0000-C000-000000000046}']
    procedure OptionsPagesAdd(const Pages: PropertyPages; const Folder: MAPIFolder); dispid 61445;
  end;

// *********************************************************************//
// Interface: _NoteItem
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {00063025-0000-0000-C000-000000000046}
// *********************************************************************//
  _NoteItem = interface(IDispatch)
    ['{00063025-0000-0000-C000-000000000046}']
    function Get_Application: _Application; safecall;
    function Get_Class_: OlObjectClass; safecall;
    function Get_Session: _NameSpace; safecall;
    function Get_Parent: IDispatch; safecall;
    function Get_Body: WideString; safecall;
    procedure Set_Body(const Body: WideString); safecall;
    function Get_Categories: WideString; safecall;
    procedure Set_Categories(const Categories: WideString); safecall;
    function Get_Color: OlNoteColor; safecall;
    procedure Set_Color(Color: OlNoteColor); safecall;
    function Get_CreationTime: TDateTime; safecall;
    function Get_EntryID: WideString; safecall;
    function Get_GetInspector: _Inspector; safecall;
    function Get_Height: Integer; safecall;
    procedure Set_Height(Height: Integer); safecall;
    function Get_LastModificationTime: TDateTime; safecall;
    function Get_Left: Integer; safecall;
    procedure Set_Left(Left: Integer); safecall;
    function Get_MessageClass: WideString; safecall;
    procedure Set_MessageClass(const MessageClass: WideString); safecall;
    function Get_Saved: WordBool; safecall;
    function Get_Size: Integer; safecall;
    function Get_Subject: WideString; safecall;
    function Get_Top: Integer; safecall;
    procedure Set_Top(Top: Integer); safecall;
    function Get_Width: Integer; safecall;
    procedure Set_Width(Width: Integer); safecall;
    procedure Close(SaveMode: OlInspectorClose); safecall;
    function Copy: IDispatch; safecall;
    procedure Delete; safecall;
    procedure Display(Modal: OleVariant); safecall;
    function Move(const DestFldr: MAPIFolder): IDispatch; safecall;
    procedure PrintOut; safecall;
    procedure Save; safecall;
    procedure SaveAs(const Path: WideString; Type_: OleVariant); safecall;
    function Get_Links: Links; safecall;
    function Get_DownloadState: OlDownloadState; safecall;
    function Get_ItemProperties: ItemProperties; safecall;
    function Get_MarkForDownload: OlRemoteStatus; safecall;
    procedure Set_MarkForDownload(MarkForDownload: OlRemoteStatus); safecall;
    function Get_IsConflict: WordBool; safecall;
    property Application: _Application read Get_Application;
    property Class_: OlObjectClass read Get_Class_;
    property Session: _NameSpace read Get_Session;
    property Parent: IDispatch read Get_Parent;
    property Body: WideString read Get_Body write Set_Body;
    property Categories: WideString read Get_Categories write Set_Categories;
    property Color: OlNoteColor read Get_Color write Set_Color;
    property CreationTime: TDateTime read Get_CreationTime;
    property EntryID: WideString read Get_EntryID;
    property GetInspector: _Inspector read Get_GetInspector;
    property Height: Integer read Get_Height write Set_Height;
    property LastModificationTime: TDateTime read Get_LastModificationTime;
    property Left: Integer read Get_Left write Set_Left;
    property MessageClass: WideString read Get_MessageClass write Set_MessageClass;
    property Saved: WordBool read Get_Saved;
    property Size: Integer read Get_Size;
    property Subject: WideString read Get_Subject;
    property Top: Integer read Get_Top write Set_Top;
    property Width: Integer read Get_Width write Set_Width;
    property Links: Links read Get_Links;
    property DownloadState: OlDownloadState read Get_DownloadState;
    property ItemProperties: ItemProperties read Get_ItemProperties;
    property MarkForDownload: OlRemoteStatus read Get_MarkForDownload write Set_MarkForDownload;
    property IsConflict: WordBool read Get_IsConflict;
  end;

// *********************************************************************//
// DispIntf:  _NoteItemDisp
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {00063025-0000-0000-C000-000000000046}
// *********************************************************************//
  _NoteItemDisp = dispinterface
    ['{00063025-0000-0000-C000-000000000046}']
    property Application: _Application readonly dispid 61440;
    property Class_: OlObjectClass readonly dispid 61450;
    property Session: _NameSpace readonly dispid 61451;
    property Parent: IDispatch readonly dispid 61441;
    property Body: WideString dispid 37120;
    property Categories: WideString dispid 36865;
    property Color: OlNoteColor dispid 35584;
    property CreationTime: TDateTime readonly dispid 12295;
    property EntryID: WideString readonly dispid 61470;
    property GetInspector: _Inspector readonly dispid 61502;
    property Height: Integer dispid 35587;
    property LastModificationTime: TDateTime readonly dispid 12296;
    property Left: Integer dispid 35588;
    property MessageClass: WideString dispid 26;
    property Saved: WordBool readonly dispid 61603;
    property Size: Integer readonly dispid 3592;
    property Subject: WideString readonly dispid 63392;
    property Top: Integer dispid 35589;
    property Width: Integer dispid 35586;
    procedure Close(SaveMode: OlInspectorClose); dispid 61475;
    function Copy: IDispatch; dispid 61490;
    procedure Delete; dispid 61514;
    procedure Display(Modal: OleVariant); dispid 61606;
    function Move(const DestFldr: MAPIFolder): IDispatch; dispid 61492;
    procedure PrintOut; dispid 61491;
    procedure Save; dispid 61512;
    procedure SaveAs(const Path: WideString; Type_: OleVariant); dispid 61521;
    property Links: Links readonly dispid 62469;
    property DownloadState: OlDownloadState readonly dispid 64077;
    property ItemProperties: ItemProperties readonly dispid 64009;
    property MarkForDownload: OlRemoteStatus dispid 34161;
    property IsConflict: WordBool readonly dispid 64164;
  end;

// *********************************************************************//
// Interface: OutlookBarGroup
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {00063073-0000-0000-C000-000000000046}
// *********************************************************************//
  OutlookBarGroup = interface(IDispatch)
    ['{00063073-0000-0000-C000-000000000046}']
    function Get_Application: _Application; safecall;
    function Get_Class_: OlObjectClass; safecall;
    function Get_Session: _NameSpace; safecall;
    function Get_Parent: IDispatch; safecall;
    function Get_Name: WideString; safecall;
    procedure Set_Name(const Name: WideString); safecall;
    function Get_Shortcuts: _OutlookBarShortcuts; safecall;
    function Get_ViewType: OlOutlookBarViewType; safecall;
    procedure Set_ViewType(ViewType: OlOutlookBarViewType); safecall;
    property Application: _Application read Get_Application;
    property Class_: OlObjectClass read Get_Class_;
    property Session: _NameSpace read Get_Session;
    property Parent: IDispatch read Get_Parent;
    property Name: WideString read Get_Name write Set_Name;
    property Shortcuts: _OutlookBarShortcuts read Get_Shortcuts;
    property ViewType: OlOutlookBarViewType read Get_ViewType write Set_ViewType;
  end;

// *********************************************************************//
// DispIntf:  OutlookBarGroupDisp
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {00063073-0000-0000-C000-000000000046}
// *********************************************************************//
  OutlookBarGroupDisp = dispinterface
    ['{00063073-0000-0000-C000-000000000046}']
    property Application: _Application readonly dispid 61440;
    property Class_: OlObjectClass readonly dispid 61450;
    property Session: _NameSpace readonly dispid 61451;
    property Parent: IDispatch readonly dispid 61441;
    property Name: WideString dispid 0;
    property Shortcuts: _OutlookBarShortcuts readonly dispid 8450;
    property ViewType: OlOutlookBarViewType dispid 8451;
  end;

// *********************************************************************//
// Interface: _OutlookBarShortcuts
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {00063074-0000-0000-C000-000000000046}
// *********************************************************************//
  _OutlookBarShortcuts = interface(IDispatch)
    ['{00063074-0000-0000-C000-000000000046}']
    function Get_Application: _Application; safecall;
    function Get_Class_: OlObjectClass; safecall;
    function Get_Session: _NameSpace; safecall;
    function Get_Parent: IDispatch; safecall;
    function Get_Count: Integer; safecall;
    function Item(Index: OleVariant): OutlookBarShortcut; safecall;
    function Add(Target: OleVariant; const Name: WideString; Index: OleVariant): OutlookBarShortcut; safecall;
    procedure Remove(Index: OleVariant); safecall;
    property Application: _Application read Get_Application;
    property Class_: OlObjectClass read Get_Class_;
    property Session: _NameSpace read Get_Session;
    property Parent: IDispatch read Get_Parent;
    property Count: Integer read Get_Count;
  end;

// *********************************************************************//
// DispIntf:  _OutlookBarShortcutsDisp
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {00063074-0000-0000-C000-000000000046}
// *********************************************************************//
  _OutlookBarShortcutsDisp = dispinterface
    ['{00063074-0000-0000-C000-000000000046}']
    property Application: _Application readonly dispid 61440;
    property Class_: OlObjectClass readonly dispid 61450;
    property Session: _NameSpace readonly dispid 61451;
    property Parent: IDispatch readonly dispid 61441;
    property Count: Integer readonly dispid 80;
    function Item(Index: OleVariant): OutlookBarShortcut; dispid 81;
    function Add(Target: OleVariant; const Name: WideString; Index: OleVariant): OutlookBarShortcut; dispid 95;
    procedure Remove(Index: OleVariant); dispid 84;
  end;

// *********************************************************************//
// Interface: OutlookBarShortcut
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {00063075-0000-0000-C000-000000000046}
// *********************************************************************//
  OutlookBarShortcut = interface(IDispatch)
    ['{00063075-0000-0000-C000-000000000046}']
    function Get_Application: _Application; safecall;
    function Get_Class_: OlObjectClass; safecall;
    function Get_Session: _NameSpace; safecall;
    function Get_Parent: IDispatch; safecall;
    function Get_Name: WideString; safecall;
    procedure Set_Name(const Name: WideString); safecall;
    function Get_Target: OleVariant; safecall;
    procedure SetIcon(Icon: OleVariant); safecall;
    property Application: _Application read Get_Application;
    property Class_: OlObjectClass read Get_Class_;
    property Session: _NameSpace read Get_Session;
    property Parent: IDispatch read Get_Parent;
    property Name: WideString read Get_Name write Set_Name;
    property Target: OleVariant read Get_Target;
  end;

// *********************************************************************//
// DispIntf:  OutlookBarShortcutDisp
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {00063075-0000-0000-C000-000000000046}
// *********************************************************************//
  OutlookBarShortcutDisp = dispinterface
    ['{00063075-0000-0000-C000-000000000046}']
    property Application: _Application readonly dispid 61440;
    property Class_: OlObjectClass readonly dispid 61450;
    property Session: _NameSpace readonly dispid 61451;
    property Parent: IDispatch readonly dispid 61441;
    property Name: WideString dispid 0;
    property Target: OleVariant readonly dispid 8448;
    procedure SetIcon(Icon: OleVariant); dispid 64162;
  end;

// *********************************************************************//
// Interface: _OutlookBarGroups
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {00063072-0000-0000-C000-000000000046}
// *********************************************************************//
  _OutlookBarGroups = interface(IDispatch)
    ['{00063072-0000-0000-C000-000000000046}']
    function Get_Application: _Application; safecall;
    function Get_Class_: OlObjectClass; safecall;
    function Get_Session: _NameSpace; safecall;
    function Get_Parent: IDispatch; safecall;
    function Get_Count: Integer; safecall;
    function Item(Index: OleVariant): OutlookBarGroup; safecall;
    function Add(const Name: WideString; Index: OleVariant): OutlookBarGroup; safecall;
    procedure Remove(Index: OleVariant); safecall;
    property Application: _Application read Get_Application;
    property Class_: OlObjectClass read Get_Class_;
    property Session: _NameSpace read Get_Session;
    property Parent: IDispatch read Get_Parent;
    property Count: Integer read Get_Count;
  end;

// *********************************************************************//
// DispIntf:  _OutlookBarGroupsDisp
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {00063072-0000-0000-C000-000000000046}
// *********************************************************************//
  _OutlookBarGroupsDisp = dispinterface
    ['{00063072-0000-0000-C000-000000000046}']
    property Application: _Application readonly dispid 61440;
    property Class_: OlObjectClass readonly dispid 61450;
    property Session: _NameSpace readonly dispid 61451;
    property Parent: IDispatch readonly dispid 61441;
    property Count: Integer readonly dispid 80;
    function Item(Index: OleVariant): OutlookBarGroup; dispid 81;
    function Add(const Name: WideString; Index: OleVariant): OutlookBarGroup; dispid 95;
    procedure Remove(Index: OleVariant); dispid 84;
  end;

// *********************************************************************//
// DispIntf:  OutlookBarGroupsEvents
// Flags:     (4096) Dispatchable
// GUID:      {0006307B-0000-0000-C000-000000000046}
// *********************************************************************//
  OutlookBarGroupsEvents = dispinterface
    ['{0006307B-0000-0000-C000-000000000046}']
    procedure GroupAdd(const NewGroup: OutlookBarGroup); dispid 61441;
    procedure BeforeGroupAdd(var Cancel: WordBool); dispid 61442;
    procedure BeforeGroupRemove(const Group: OutlookBarGroup; var Cancel: WordBool); dispid 61443;
  end;

// *********************************************************************//
// Interface: _OutlookBarPane
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {00063070-0000-0000-C000-000000000046}
// *********************************************************************//
  _OutlookBarPane = interface(IDispatch)
    ['{00063070-0000-0000-C000-000000000046}']
    function Get_Application: _Application; safecall;
    function Get_Class_: OlObjectClass; safecall;
    function Get_Session: _NameSpace; safecall;
    function Get_Parent: IDispatch; safecall;
    function Get_Contents: OutlookBarStorage; safecall;
    function Get_CurrentGroup: OutlookBarGroup; safecall;
    procedure _Set_CurrentGroup(const CurrentGroup: OutlookBarGroup); safecall;
    function Get_Name: WideString; safecall;
    function Get_Visible: WordBool; safecall;
    procedure Set_Visible(Visible: WordBool); safecall;
    property Application: _Application read Get_Application;
    property Class_: OlObjectClass read Get_Class_;
    property Session: _NameSpace read Get_Session;
    property Parent: IDispatch read Get_Parent;
    property Contents: OutlookBarStorage read Get_Contents;
    property CurrentGroup: OutlookBarGroup read Get_CurrentGroup write _Set_CurrentGroup;
    property Name: WideString read Get_Name;
    property Visible: WordBool read Get_Visible write Set_Visible;
  end;

// *********************************************************************//
// DispIntf:  _OutlookBarPaneDisp
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {00063070-0000-0000-C000-000000000046}
// *********************************************************************//
  _OutlookBarPaneDisp = dispinterface
    ['{00063070-0000-0000-C000-000000000046}']
    property Application: _Application readonly dispid 61440;
    property Class_: OlObjectClass readonly dispid 61450;
    property Session: _NameSpace readonly dispid 61451;
    property Parent: IDispatch readonly dispid 61441;
    property Contents: OutlookBarStorage readonly dispid 8448;
    property CurrentGroup: OutlookBarGroup dispid 8449;
    property Name: WideString readonly dispid 0;
    property Visible: WordBool dispid 8451;
  end;

// *********************************************************************//
// Interface: OutlookBarStorage
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {00063071-0000-0000-C000-000000000046}
// *********************************************************************//
  OutlookBarStorage = interface(IDispatch)
    ['{00063071-0000-0000-C000-000000000046}']
    function Get_Application: _Application; safecall;
    function Get_Class_: OlObjectClass; safecall;
    function Get_Session: _NameSpace; safecall;
    function Get_Parent: IDispatch; safecall;
    function Get_Groups: _OutlookBarGroups; safecall;
    property Application: _Application read Get_Application;
    property Class_: OlObjectClass read Get_Class_;
    property Session: _NameSpace read Get_Session;
    property Parent: IDispatch read Get_Parent;
    property Groups: _OutlookBarGroups read Get_Groups;
  end;

// *********************************************************************//
// DispIntf:  OutlookBarStorageDisp
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {00063071-0000-0000-C000-000000000046}
// *********************************************************************//
  OutlookBarStorageDisp = dispinterface
    ['{00063071-0000-0000-C000-000000000046}']
    property Application: _Application readonly dispid 61440;
    property Class_: OlObjectClass readonly dispid 61450;
    property Session: _NameSpace readonly dispid 61451;
    property Parent: IDispatch readonly dispid 61441;
    property Groups: _OutlookBarGroups readonly dispid 0;
  end;

// *********************************************************************//
// DispIntf:  OutlookBarPaneEvents
// Flags:     (4096) Dispatchable
// GUID:      {0006307A-0000-0000-C000-000000000046}
// *********************************************************************//
  OutlookBarPaneEvents = dispinterface
    ['{0006307A-0000-0000-C000-000000000046}']
    procedure BeforeNavigate(const Shortcut: OutlookBarShortcut; var Cancel: WordBool); dispid 61441;
    procedure BeforeGroupSwitch(const ToGroup: OutlookBarGroup; var Cancel: WordBool); dispid 61442;
  end;

// *********************************************************************//
// DispIntf:  OutlookBarShortcutsEvents
// Flags:     (4096) Dispatchable
// GUID:      {0006307C-0000-0000-C000-000000000046}
// *********************************************************************//
  OutlookBarShortcutsEvents = dispinterface
    ['{0006307C-0000-0000-C000-000000000046}']
    procedure ShortcutAdd(const NewShortcut: OutlookBarShortcut); dispid 61441;
    procedure BeforeShortcutAdd(var Cancel: WordBool); dispid 61442;
    procedure BeforeShortcutRemove(const Shortcut: OutlookBarShortcut; var Cancel: WordBool); dispid 61443;
  end;

// *********************************************************************//
// Interface: PropertyPage
// Flags:     (4096) Dispatchable
// GUID:      {0006307E-0000-0000-C000-000000000046}
// *********************************************************************//
  PropertyPage = interface(IDispatch)
    ['{0006307E-0000-0000-C000-000000000046}']
    function GetPageInfo(var HelpFile: WideString; var HelpContext: Integer): HResult; stdcall;
    function Get_Dirty(out Dirty: WordBool): HResult; stdcall;
    function Apply: HResult; stdcall;
  end;

// *********************************************************************//
// Interface: PropertyPageSite
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {0006307F-0000-0000-C000-000000000046}
// *********************************************************************//
  PropertyPageSite = interface(IDispatch)
    ['{0006307F-0000-0000-C000-000000000046}']
    function Get_Application: _Application; safecall;
    function Get_Class_: OlObjectClass; safecall;
    function Get_Session: _NameSpace; safecall;
    function Get_Parent: IDispatch; safecall;
    procedure OnStatusChange; safecall;
    property Application: _Application read Get_Application;
    property Class_: OlObjectClass read Get_Class_;
    property Session: _NameSpace read Get_Session;
    property Parent: IDispatch read Get_Parent;
  end;

// *********************************************************************//
// DispIntf:  PropertyPageSiteDisp
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {0006307F-0000-0000-C000-000000000046}
// *********************************************************************//
  PropertyPageSiteDisp = dispinterface
    ['{0006307F-0000-0000-C000-000000000046}']
    property Application: _Application readonly dispid 61440;
    property Class_: OlObjectClass readonly dispid 61450;
    property Session: _NameSpace readonly dispid 61451;
    property Parent: IDispatch readonly dispid 61441;
    procedure OnStatusChange; dispid 8448;
  end;

// *********************************************************************//
// Interface: Pages
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {0006303F-0000-0000-C000-000000000046}
// *********************************************************************//
  Pages = interface(IDispatch)
    ['{0006303F-0000-0000-C000-000000000046}']
    function Get_Application: _Application; safecall;
    function Get_Class_: OlObjectClass; safecall;
    function Get_Session: _NameSpace; safecall;
    function Get_Parent: IDispatch; safecall;
    function Get_Count: Integer; safecall;
    function Item(Index: OleVariant): IDispatch; safecall;
    function Add(Name: OleVariant): IDispatch; safecall;
    procedure Remove(Index: Integer); safecall;
    property Application: _Application read Get_Application;
    property Class_: OlObjectClass read Get_Class_;
    property Session: _NameSpace read Get_Session;
    property Parent: IDispatch read Get_Parent;
    property Count: Integer read Get_Count;
  end;

// *********************************************************************//
// DispIntf:  PagesDisp
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {0006303F-0000-0000-C000-000000000046}
// *********************************************************************//
  PagesDisp = dispinterface
    ['{0006303F-0000-0000-C000-000000000046}']
    property Application: _Application readonly dispid 61440;
    property Class_: OlObjectClass readonly dispid 61450;
    property Session: _NameSpace readonly dispid 61451;
    property Parent: IDispatch readonly dispid 61441;
    property Count: Integer readonly dispid 80;
    function Item(Index: OleVariant): IDispatch; dispid 81;
    function Add(Name: OleVariant): IDispatch; dispid 300;
    procedure Remove(Index: Integer); dispid 301;
  end;

// *********************************************************************//
// Interface: _PostItem
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {00063024-0000-0000-C000-000000000046}
// *********************************************************************//
  _PostItem = interface(IDispatch)
    ['{00063024-0000-0000-C000-000000000046}']
    function Get_Application: _Application; safecall;
    function Get_Class_: OlObjectClass; safecall;
    function Get_Session: _NameSpace; safecall;
    function Get_Parent: IDispatch; safecall;
    function Get_Actions: Actions; safecall;
    function Get_Attachments: Attachments; safecall;
    function Get_BillingInformation: WideString; safecall;
    procedure Set_BillingInformation(const BillingInformation: WideString); safecall;
    function Get_Body: WideString; safecall;
    procedure Set_Body(const Body: WideString); safecall;
    function Get_Categories: WideString; safecall;
    procedure Set_Categories(const Categories: WideString); safecall;
    function Get_Companies: WideString; safecall;
    procedure Set_Companies(const Companies: WideString); safecall;
    function Get_ConversationIndex: WideString; safecall;
    function Get_ConversationTopic: WideString; safecall;
    function Get_CreationTime: TDateTime; safecall;
    function Get_EntryID: WideString; safecall;
    function Get_FormDescription: FormDescription; safecall;
    function Get_GetInspector: _Inspector; safecall;
    function Get_Importance: OlImportance; safecall;
    procedure Set_Importance(Importance: OlImportance); safecall;
    function Get_LastModificationTime: TDateTime; safecall;
    function Get_MAPIOBJECT: IUnknown; safecall;
    function Get_MessageClass: WideString; safecall;
    procedure Set_MessageClass(const MessageClass: WideString); safecall;
    function Get_Mileage: WideString; safecall;
    procedure Set_Mileage(const Mileage: WideString); safecall;
    function Get_NoAging: WordBool; safecall;
    procedure Set_NoAging(NoAging: WordBool); safecall;
    function Get_OutlookInternalVersion: Integer; safecall;
    function Get_OutlookVersion: WideString; safecall;
    function Get_Saved: WordBool; safecall;
    function Get_Sensitivity: OlSensitivity; safecall;
    procedure Set_Sensitivity(Sensitivity: OlSensitivity); safecall;
    function Get_Size: Integer; safecall;
    function Get_Subject: WideString; safecall;
    procedure Set_Subject(const Subject: WideString); safecall;
    function Get_UnRead: WordBool; safecall;
    procedure Set_UnRead(UnRead: WordBool); safecall;
    function Get_UserProperties: UserProperties; safecall;
    procedure Close(SaveMode: OlInspectorClose); safecall;
    function Copy: IDispatch; safecall;
    procedure Delete; safecall;
    procedure Display(Modal: OleVariant); safecall;
    function Move(const DestFldr: MAPIFolder): IDispatch; safecall;
    procedure PrintOut; safecall;
    procedure Save; safecall;
    procedure SaveAs(const Path: WideString; Type_: OleVariant); safecall;
    function Get_ExpiryTime: TDateTime; safecall;
    procedure Set_ExpiryTime(ExpiryTime: TDateTime); safecall;
    function Get_HTMLBody: WideString; safecall;
    procedure Set_HTMLBody(const HTMLBody: WideString); safecall;
    function Get_ReceivedTime: TDateTime; safecall;
    function Get_SenderName: WideString; safecall;
    function Get_SentOn: TDateTime; safecall;
    procedure ClearConversationIndex; safecall;
    function Forward: MailItem; safecall;
    procedure Post; safecall;
    function Reply: MailItem; safecall;
    function Get_Links: Links; safecall;
    function Get_ItemProperties: ItemProperties; safecall;
    function Get_BodyFormat: OlBodyFormat; safecall;
    procedure Set_BodyFormat(BodyFormat: OlBodyFormat); safecall;
    function Get_DownloadState: OlDownloadState; safecall;
    procedure ShowCategoriesDialog; safecall;
    function Get_InternetCodepage: Integer; safecall;
    procedure Set_InternetCodepage(InternetCodepage: Integer); safecall;
    function Get_MarkForDownload: OlRemoteStatus; safecall;
    procedure Set_MarkForDownload(MarkForDownload: OlRemoteStatus); safecall;
    function SetACLs: WordBool; safecall;
    function Get_IsConflict: WordBool; safecall;
    property Application: _Application read Get_Application;
    property Class_: OlObjectClass read Get_Class_;
    property Session: _NameSpace read Get_Session;
    property Parent: IDispatch read Get_Parent;
    property Actions: Actions read Get_Actions;
    property Attachments: Attachments read Get_Attachments;
    property BillingInformation: WideString read Get_BillingInformation write Set_BillingInformation;
    property Body: WideString read Get_Body write Set_Body;
    property Categories: WideString read Get_Categories write Set_Categories;
    property Companies: WideString read Get_Companies write Set_Companies;
    property ConversationIndex: WideString read Get_ConversationIndex;
    property ConversationTopic: WideString read Get_ConversationTopic;
    property CreationTime: TDateTime read Get_CreationTime;
    property EntryID: WideString read Get_EntryID;
    property FormDescription: FormDescription read Get_FormDescription;
    property GetInspector: _Inspector read Get_GetInspector;
    property Importance: OlImportance read Get_Importance write Set_Importance;
    property LastModificationTime: TDateTime read Get_LastModificationTime;
    property MAPIOBJECT: IUnknown read Get_MAPIOBJECT;
    property MessageClass: WideString read Get_MessageClass write Set_MessageClass;
    property Mileage: WideString read Get_Mileage write Set_Mileage;
    property NoAging: WordBool read Get_NoAging write Set_NoAging;
    property OutlookInternalVersion: Integer read Get_OutlookInternalVersion;
    property OutlookVersion: WideString read Get_OutlookVersion;
    property Saved: WordBool read Get_Saved;
    property Sensitivity: OlSensitivity read Get_Sensitivity write Set_Sensitivity;
    property Size: Integer read Get_Size;
    property Subject: WideString read Get_Subject write Set_Subject;
    property UnRead: WordBool read Get_UnRead write Set_UnRead;
    property UserProperties: UserProperties read Get_UserProperties;
    property ExpiryTime: TDateTime read Get_ExpiryTime write Set_ExpiryTime;
    property HTMLBody: WideString read Get_HTMLBody write Set_HTMLBody;
    property ReceivedTime: TDateTime read Get_ReceivedTime;
    property SenderName: WideString read Get_SenderName;
    property SentOn: TDateTime read Get_SentOn;
    property Links: Links read Get_Links;
    property ItemProperties: ItemProperties read Get_ItemProperties;
    property BodyFormat: OlBodyFormat read Get_BodyFormat write Set_BodyFormat;
    property DownloadState: OlDownloadState read Get_DownloadState;
    property InternetCodepage: Integer read Get_InternetCodepage write Set_InternetCodepage;
    property MarkForDownload: OlRemoteStatus read Get_MarkForDownload write Set_MarkForDownload;
    property IsConflict: WordBool read Get_IsConflict;
  end;

// *********************************************************************//
// DispIntf:  _PostItemDisp
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {00063024-0000-0000-C000-000000000046}
// *********************************************************************//
  _PostItemDisp = dispinterface
    ['{00063024-0000-0000-C000-000000000046}']
    property Application: _Application readonly dispid 61440;
    property Class_: OlObjectClass readonly dispid 61450;
    property Session: _NameSpace readonly dispid 61451;
    property Parent: IDispatch readonly dispid 61441;
    property Actions: Actions readonly dispid 63511;
    property Attachments: Attachments readonly dispid 63509;
    property BillingInformation: WideString dispid 34101;
    property Body: WideString dispid 37120;
    property Categories: WideString dispid 36865;
    property Companies: WideString dispid 34107;
    property ConversationIndex: WideString readonly dispid 113;
    property ConversationTopic: WideString readonly dispid 112;
    property CreationTime: TDateTime readonly dispid 12295;
    property EntryID: WideString readonly dispid 61470;
    property FormDescription: FormDescription readonly dispid 61589;
    property GetInspector: _Inspector readonly dispid 61502;
    property Importance: OlImportance dispid 23;
    property LastModificationTime: TDateTime readonly dispid 12296;
    property MAPIOBJECT: IUnknown readonly dispid 61696;
    property MessageClass: WideString dispid 26;
    property Mileage: WideString dispid 34100;
    property NoAging: WordBool dispid 34062;
    property OutlookInternalVersion: Integer readonly dispid 34130;
    property OutlookVersion: WideString readonly dispid 34132;
    property Saved: WordBool readonly dispid 61603;
    property Sensitivity: OlSensitivity dispid 54;
    property Size: Integer readonly dispid 3592;
    property Subject: WideString dispid 55;
    property UnRead: WordBool dispid 61468;
    property UserProperties: UserProperties readonly dispid 63510;
    procedure Close(SaveMode: OlInspectorClose); dispid 61475;
    function Copy: IDispatch; dispid 61490;
    procedure Delete; dispid 61514;
    procedure Display(Modal: OleVariant); dispid 61606;
    function Move(const DestFldr: MAPIFolder): IDispatch; dispid 61492;
    procedure PrintOut; dispid 61491;
    procedure Save; dispid 61512;
    procedure SaveAs(const Path: WideString; Type_: OleVariant); dispid 61521;
    property ExpiryTime: TDateTime dispid 21;
    property HTMLBody: WideString dispid 62468;
    property ReceivedTime: TDateTime readonly dispid 3590;
    property SenderName: WideString readonly dispid 3098;
    property SentOn: TDateTime readonly dispid 57;
    procedure ClearConversationIndex; dispid 63522;
    function Forward: MailItem; dispid 63507;
    procedure Post; dispid 61557;
    function Reply: MailItem; dispid 63504;
    property Links: Links readonly dispid 62469;
    property ItemProperties: ItemProperties readonly dispid 64009;
    property BodyFormat: OlBodyFormat dispid 64073;
    property DownloadState: OlDownloadState readonly dispid 64077;
    procedure ShowCategoriesDialog; dispid 64011;
    property InternetCodepage: Integer dispid 16350;
    property MarkForDownload: OlRemoteStatus dispid 34161;
    function SetACLs: WordBool; dispid 64163;
    property IsConflict: WordBool readonly dispid 64164;
  end;

// *********************************************************************//
// Interface: _RemoteItem
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {00063023-0000-0000-C000-000000000046}
// *********************************************************************//
  _RemoteItem = interface(IDispatch)
    ['{00063023-0000-0000-C000-000000000046}']
    function Get_Application: _Application; safecall;
    function Get_Class_: OlObjectClass; safecall;
    function Get_Session: _NameSpace; safecall;
    function Get_Parent: IDispatch; safecall;
    function Get_Actions: Actions; safecall;
    function Get_Attachments: Attachments; safecall;
    function Get_BillingInformation: WideString; safecall;
    procedure Set_BillingInformation(const BillingInformation: WideString); safecall;
    function Get_Body: WideString; safecall;
    procedure Set_Body(const Body: WideString); safecall;
    function Get_Categories: WideString; safecall;
    procedure Set_Categories(const Categories: WideString); safecall;
    function Get_Companies: WideString; safecall;
    procedure Set_Companies(const Companies: WideString); safecall;
    function Get_ConversationIndex: WideString; safecall;
    function Get_ConversationTopic: WideString; safecall;
    function Get_CreationTime: TDateTime; safecall;
    function Get_EntryID: WideString; safecall;
    function Get_FormDescription: FormDescription; safecall;
    function Get_GetInspector: _Inspector; safecall;
    function Get_Importance: OlImportance; safecall;
    procedure Set_Importance(Importance: OlImportance); safecall;
    function Get_LastModificationTime: TDateTime; safecall;
    function Get_MAPIOBJECT: IUnknown; safecall;
    function Get_MessageClass: WideString; safecall;
    procedure Set_MessageClass(const MessageClass: WideString); safecall;
    function Get_Mileage: WideString; safecall;
    procedure Set_Mileage(const Mileage: WideString); safecall;
    function Get_NoAging: WordBool; safecall;
    procedure Set_NoAging(NoAging: WordBool); safecall;
    function Get_OutlookInternalVersion: Integer; safecall;
    function Get_OutlookVersion: WideString; safecall;
    function Get_Saved: WordBool; safecall;
    function Get_Sensitivity: OlSensitivity; safecall;
    procedure Set_Sensitivity(Sensitivity: OlSensitivity); safecall;
    function Get_Size: Integer; safecall;
    function Get_Subject: WideString; safecall;
    procedure Set_Subject(const Subject: WideString); safecall;
    function Get_UnRead: WordBool; safecall;
    procedure Set_UnRead(UnRead: WordBool); safecall;
    function Get_UserProperties: UserProperties; safecall;
    procedure Close(SaveMode: OlInspectorClose); safecall;
    function Copy: IDispatch; safecall;
    procedure Delete; safecall;
    procedure Display(Modal: OleVariant); safecall;
    function Move(const DestFldr: MAPIFolder): IDispatch; safecall;
    procedure PrintOut; safecall;
    procedure Save; safecall;
    procedure SaveAs(const Path: WideString; Type_: OleVariant); safecall;
    function Get_HasAttachment: WordBool; safecall;
    function Get_RemoteMessageClass: WideString; safecall;
    function Get_TransferSize: Integer; safecall;
    function Get_TransferTime: Integer; safecall;
    function Get_Links: Links; safecall;
    function Get_DownloadState: OlDownloadState; safecall;
    procedure ShowCategoriesDialog; safecall;
    function Get_ItemProperties: ItemProperties; safecall;
    function Get_MarkForDownload: OlRemoteStatus; safecall;
    procedure Set_MarkForDownload(MarkForDownload: OlRemoteStatus); safecall;
    function Get_IsConflict: WordBool; safecall;
    property Application: _Application read Get_Application;
    property Class_: OlObjectClass read Get_Class_;
    property Session: _NameSpace read Get_Session;
    property Parent: IDispatch read Get_Parent;
    property Actions: Actions read Get_Actions;
    property Attachments: Attachments read Get_Attachments;
    property BillingInformation: WideString read Get_BillingInformation write Set_BillingInformation;
    property Body: WideString read Get_Body write Set_Body;
    property Categories: WideString read Get_Categories write Set_Categories;
    property Companies: WideString read Get_Companies write Set_Companies;
    property ConversationIndex: WideString read Get_ConversationIndex;
    property ConversationTopic: WideString read Get_ConversationTopic;
    property CreationTime: TDateTime read Get_CreationTime;
    property EntryID: WideString read Get_EntryID;
    property FormDescription: FormDescription read Get_FormDescription;
    property GetInspector: _Inspector read Get_GetInspector;
    property Importance: OlImportance read Get_Importance write Set_Importance;
    property LastModificationTime: TDateTime read Get_LastModificationTime;
    property MAPIOBJECT: IUnknown read Get_MAPIOBJECT;
    property MessageClass: WideString read Get_MessageClass write Set_MessageClass;
    property Mileage: WideString read Get_Mileage write Set_Mileage;
    property NoAging: WordBool read Get_NoAging write Set_NoAging;
    property OutlookInternalVersion: Integer read Get_OutlookInternalVersion;
    property OutlookVersion: WideString read Get_OutlookVersion;
    property Saved: WordBool read Get_Saved;
    property Sensitivity: OlSensitivity read Get_Sensitivity write Set_Sensitivity;
    property Size: Integer read Get_Size;
    property Subject: WideString read Get_Subject write Set_Subject;
    property UnRead: WordBool read Get_UnRead write Set_UnRead;
    property UserProperties: UserProperties read Get_UserProperties;
    property HasAttachment: WordBool read Get_HasAttachment;
    property RemoteMessageClass: WideString read Get_RemoteMessageClass;
    property TransferSize: Integer read Get_TransferSize;
    property TransferTime: Integer read Get_TransferTime;
    property Links: Links read Get_Links;
    property DownloadState: OlDownloadState read Get_DownloadState;
    property ItemProperties: ItemProperties read Get_ItemProperties;
    property MarkForDownload: OlRemoteStatus read Get_MarkForDownload write Set_MarkForDownload;
    property IsConflict: WordBool read Get_IsConflict;
  end;

// *********************************************************************//
// DispIntf:  _RemoteItemDisp
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {00063023-0000-0000-C000-000000000046}
// *********************************************************************//
  _RemoteItemDisp = dispinterface
    ['{00063023-0000-0000-C000-000000000046}']
    property Application: _Application readonly dispid 61440;
    property Class_: OlObjectClass readonly dispid 61450;
    property Session: _NameSpace readonly dispid 61451;
    property Parent: IDispatch readonly dispid 61441;
    property Actions: Actions readonly dispid 63511;
    property Attachments: Attachments readonly dispid 63509;
    property BillingInformation: WideString dispid 34101;
    property Body: WideString dispid 37120;
    property Categories: WideString dispid 36865;
    property Companies: WideString dispid 34107;
    property ConversationIndex: WideString readonly dispid 113;
    property ConversationTopic: WideString readonly dispid 112;
    property CreationTime: TDateTime readonly dispid 12295;
    property EntryID: WideString readonly dispid 61470;
    property FormDescription: FormDescription readonly dispid 61589;
    property GetInspector: _Inspector readonly dispid 61502;
    property Importance: OlImportance dispid 23;
    property LastModificationTime: TDateTime readonly dispid 12296;
    property MAPIOBJECT: IUnknown readonly dispid 61696;
    property MessageClass: WideString dispid 26;
    property Mileage: WideString dispid 34100;
    property NoAging: WordBool dispid 34062;
    property OutlookInternalVersion: Integer readonly dispid 34130;
    property OutlookVersion: WideString readonly dispid 34132;
    property Saved: WordBool readonly dispid 61603;
    property Sensitivity: OlSensitivity dispid 54;
    property Size: Integer readonly dispid 3592;
    property Subject: WideString dispid 55;
    property UnRead: WordBool dispid 61468;
    property UserProperties: UserProperties readonly dispid 63510;
    procedure Close(SaveMode: OlInspectorClose); dispid 61475;
    function Copy: IDispatch; dispid 61490;
    procedure Delete; dispid 61514;
    procedure Display(Modal: OleVariant); dispid 61606;
    function Move(const DestFldr: MAPIFolder): IDispatch; dispid 61492;
    procedure PrintOut; dispid 61491;
    procedure Save; dispid 61512;
    procedure SaveAs(const Path: WideString; Type_: OleVariant); dispid 61521;
    property HasAttachment: WordBool readonly dispid 36615;
    property RemoteMessageClass: WideString readonly dispid 36610;
    property TransferSize: Integer readonly dispid 36613;
    property TransferTime: Integer readonly dispid 36612;
    property Links: Links readonly dispid 62469;
    property DownloadState: OlDownloadState readonly dispid 64077;
    procedure ShowCategoriesDialog; dispid 64011;
    property ItemProperties: ItemProperties readonly dispid 64009;
    property MarkForDownload: OlRemoteStatus dispid 34161;
    property IsConflict: WordBool readonly dispid 64164;
  end;

// *********************************************************************//
// Interface: _ReportItem
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {00063026-0000-0000-C000-000000000046}
// *********************************************************************//
  _ReportItem = interface(IDispatch)
    ['{00063026-0000-0000-C000-000000000046}']
    function Get_Application: _Application; safecall;
    function Get_Class_: OlObjectClass; safecall;
    function Get_Session: _NameSpace; safecall;
    function Get_Parent: IDispatch; safecall;
    function Get_Actions: Actions; safecall;
    function Get_Attachments: Attachments; safecall;
    function Get_BillingInformation: WideString; safecall;
    procedure Set_BillingInformation(const BillingInformation: WideString); safecall;
    function Get_Body: WideString; safecall;
    procedure Set_Body(const Body: WideString); safecall;
    function Get_Categories: WideString; safecall;
    procedure Set_Categories(const Categories: WideString); safecall;
    function Get_Companies: WideString; safecall;
    procedure Set_Companies(const Companies: WideString); safecall;
    function Get_ConversationIndex: WideString; safecall;
    function Get_ConversationTopic: WideString; safecall;
    function Get_CreationTime: TDateTime; safecall;
    function Get_EntryID: WideString; safecall;
    function Get_FormDescription: FormDescription; safecall;
    function Get_GetInspector: _Inspector; safecall;
    function Get_Importance: OlImportance; safecall;
    procedure Set_Importance(Importance: OlImportance); safecall;
    function Get_LastModificationTime: TDateTime; safecall;
    function Get_MAPIOBJECT: IUnknown; safecall;
    function Get_MessageClass: WideString; safecall;
    procedure Set_MessageClass(const MessageClass: WideString); safecall;
    function Get_Mileage: WideString; safecall;
    procedure Set_Mileage(const Mileage: WideString); safecall;
    function Get_NoAging: WordBool; safecall;
    procedure Set_NoAging(NoAging: WordBool); safecall;
    function Get_OutlookInternalVersion: Integer; safecall;
    function Get_OutlookVersion: WideString; safecall;
    function Get_Saved: WordBool; safecall;
    function Get_Sensitivity: OlSensitivity; safecall;
    procedure Set_Sensitivity(Sensitivity: OlSensitivity); safecall;
    function Get_Size: Integer; safecall;
    function Get_Subject: WideString; safecall;
    procedure Set_Subject(const Subject: WideString); safecall;
    function Get_UnRead: WordBool; safecall;
    procedure Set_UnRead(UnRead: WordBool); safecall;
    function Get_UserProperties: UserProperties; safecall;
    procedure Close(SaveMode: OlInspectorClose); safecall;
    function Copy: IDispatch; safecall;
    procedure Delete; safecall;
    procedure Display(Modal: OleVariant); safecall;
    function Move(const DestFldr: MAPIFolder): IDispatch; safecall;
    procedure PrintOut; safecall;
    procedure Save; safecall;
    procedure SaveAs(const Path: WideString; Type_: OleVariant); safecall;
    function Get_Links: Links; safecall;
    function Get_DownloadState: OlDownloadState; safecall;
    procedure ShowCategoriesDialog; safecall;
    function Get_ItemProperties: ItemProperties; safecall;
    function Get_MarkForDownload: OlRemoteStatus; safecall;
    procedure Set_MarkForDownload(MarkForDownload: OlRemoteStatus); safecall;
    function Get_IsConflict: WordBool; safecall;
    property Application: _Application read Get_Application;
    property Class_: OlObjectClass read Get_Class_;
    property Session: _NameSpace read Get_Session;
    property Parent: IDispatch read Get_Parent;
    property Actions: Actions read Get_Actions;
    property Attachments: Attachments read Get_Attachments;
    property BillingInformation: WideString read Get_BillingInformation write Set_BillingInformation;
    property Body: WideString read Get_Body write Set_Body;
    property Categories: WideString read Get_Categories write Set_Categories;
    property Companies: WideString read Get_Companies write Set_Companies;
    property ConversationIndex: WideString read Get_ConversationIndex;
    property ConversationTopic: WideString read Get_ConversationTopic;
    property CreationTime: TDateTime read Get_CreationTime;
    property EntryID: WideString read Get_EntryID;
    property FormDescription: FormDescription read Get_FormDescription;
    property GetInspector: _Inspector read Get_GetInspector;
    property Importance: OlImportance read Get_Importance write Set_Importance;
    property LastModificationTime: TDateTime read Get_LastModificationTime;
    property MAPIOBJECT: IUnknown read Get_MAPIOBJECT;
    property MessageClass: WideString read Get_MessageClass write Set_MessageClass;
    property Mileage: WideString read Get_Mileage write Set_Mileage;
    property NoAging: WordBool read Get_NoAging write Set_NoAging;
    property OutlookInternalVersion: Integer read Get_OutlookInternalVersion;
    property OutlookVersion: WideString read Get_OutlookVersion;
    property Saved: WordBool read Get_Saved;
    property Sensitivity: OlSensitivity read Get_Sensitivity write Set_Sensitivity;
    property Size: Integer read Get_Size;
    property Subject: WideString read Get_Subject write Set_Subject;
    property UnRead: WordBool read Get_UnRead write Set_UnRead;
    property UserProperties: UserProperties read Get_UserProperties;
    property Links: Links read Get_Links;
    property DownloadState: OlDownloadState read Get_DownloadState;
    property ItemProperties: ItemProperties read Get_ItemProperties;
    property MarkForDownload: OlRemoteStatus read Get_MarkForDownload write Set_MarkForDownload;
    property IsConflict: WordBool read Get_IsConflict;
  end;

// *********************************************************************//
// DispIntf:  _ReportItemDisp
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {00063026-0000-0000-C000-000000000046}
// *********************************************************************//
  _ReportItemDisp = dispinterface
    ['{00063026-0000-0000-C000-000000000046}']
    property Application: _Application readonly dispid 61440;
    property Class_: OlObjectClass readonly dispid 61450;
    property Session: _NameSpace readonly dispid 61451;
    property Parent: IDispatch readonly dispid 61441;
    property Actions: Actions readonly dispid 63511;
    property Attachments: Attachments readonly dispid 63509;
    property BillingInformation: WideString dispid 34101;
    property Body: WideString dispid 37120;
    property Categories: WideString dispid 36865;
    property Companies: WideString dispid 34107;
    property ConversationIndex: WideString readonly dispid 113;
    property ConversationTopic: WideString readonly dispid 112;
    property CreationTime: TDateTime readonly dispid 12295;
    property EntryID: WideString readonly dispid 61470;
    property FormDescription: FormDescription readonly dispid 61589;
    property GetInspector: _Inspector readonly dispid 61502;
    property Importance: OlImportance dispid 23;
    property LastModificationTime: TDateTime readonly dispid 12296;
    property MAPIOBJECT: IUnknown readonly dispid 61696;
    property MessageClass: WideString dispid 26;
    property Mileage: WideString dispid 34100;
    property NoAging: WordBool dispid 34062;
    property OutlookInternalVersion: Integer readonly dispid 34130;
    property OutlookVersion: WideString readonly dispid 34132;
    property Saved: WordBool readonly dispid 61603;
    property Sensitivity: OlSensitivity dispid 54;
    property Size: Integer readonly dispid 3592;
    property Subject: WideString dispid 55;
    property UnRead: WordBool dispid 61468;
    property UserProperties: UserProperties readonly dispid 63510;
    procedure Close(SaveMode: OlInspectorClose); dispid 61475;
    function Copy: IDispatch; dispid 61490;
    procedure Delete; dispid 61514;
    procedure Display(Modal: OleVariant); dispid 61606;
    function Move(const DestFldr: MAPIFolder): IDispatch; dispid 61492;
    procedure PrintOut; dispid 61491;
    procedure Save; dispid 61512;
    procedure SaveAs(const Path: WideString; Type_: OleVariant); dispid 61521;
    property Links: Links readonly dispid 62469;
    property DownloadState: OlDownloadState readonly dispid 64077;
    procedure ShowCategoriesDialog; dispid 64011;
    property ItemProperties: ItemProperties readonly dispid 64009;
    property MarkForDownload: OlRemoteStatus dispid 34161;
    property IsConflict: WordBool readonly dispid 64164;
  end;

// *********************************************************************//
// Interface: _TaskItem
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {00063035-0000-0000-C000-000000000046}
// *********************************************************************//
  _TaskItem = interface(IDispatch)
    ['{00063035-0000-0000-C000-000000000046}']
    function Get_Application: _Application; safecall;
    function Get_Class_: OlObjectClass; safecall;
    function Get_Session: _NameSpace; safecall;
    function Get_Parent: IDispatch; safecall;
    function Get_Actions: Actions; safecall;
    function Get_Attachments: Attachments; safecall;
    function Get_BillingInformation: WideString; safecall;
    procedure Set_BillingInformation(const BillingInformation: WideString); safecall;
    function Get_Body: WideString; safecall;
    procedure Set_Body(const Body: WideString); safecall;
    function Get_Categories: WideString; safecall;
    procedure Set_Categories(const Categories: WideString); safecall;
    function Get_Companies: WideString; safecall;
    procedure Set_Companies(const Companies: WideString); safecall;
    function Get_ConversationIndex: WideString; safecall;
    function Get_ConversationTopic: WideString; safecall;
    function Get_CreationTime: TDateTime; safecall;
    function Get_EntryID: WideString; safecall;
    function Get_FormDescription: FormDescription; safecall;
    function Get_GetInspector: _Inspector; safecall;
    function Get_Importance: OlImportance; safecall;
    procedure Set_Importance(Importance: OlImportance); safecall;
    function Get_LastModificationTime: TDateTime; safecall;
    function Get_MAPIOBJECT: IUnknown; safecall;
    function Get_MessageClass: WideString; safecall;
    procedure Set_MessageClass(const MessageClass: WideString); safecall;
    function Get_Mileage: WideString; safecall;
    procedure Set_Mileage(const Mileage: WideString); safecall;
    function Get_NoAging: WordBool; safecall;
    procedure Set_NoAging(NoAging: WordBool); safecall;
    function Get_OutlookInternalVersion: Integer; safecall;
    function Get_OutlookVersion: WideString; safecall;
    function Get_Saved: WordBool; safecall;
    function Get_Sensitivity: OlSensitivity; safecall;
    procedure Set_Sensitivity(Sensitivity: OlSensitivity); safecall;
    function Get_Size: Integer; safecall;
    function Get_Subject: WideString; safecall;
    procedure Set_Subject(const Subject: WideString); safecall;
    function Get_UnRead: WordBool; safecall;
    procedure Set_UnRead(UnRead: WordBool); safecall;
    function Get_UserProperties: UserProperties; safecall;
    procedure Close(SaveMode: OlInspectorClose); safecall;
    function Copy: IDispatch; safecall;
    procedure Delete; safecall;
    procedure Display(Modal: OleVariant); safecall;
    function Move(const DestFldr: MAPIFolder): IDispatch; safecall;
    procedure PrintOut; safecall;
    procedure Save; safecall;
    procedure SaveAs(const Path: WideString; Type_: OleVariant); safecall;
    function Get_ActualWork: Integer; safecall;
    procedure Set_ActualWork(ActualWork: Integer); safecall;
    function Get_CardData: WideString; safecall;
    procedure Set_CardData(const CardData: WideString); safecall;
    function Get_Complete: WordBool; safecall;
    procedure Set_Complete(Complete: WordBool); safecall;
    function Get_Contacts: WideString; safecall;
    procedure Set_Contacts(const Contacts: WideString); safecall;
    function Get_ContactNames: WideString; safecall;
    procedure Set_ContactNames(const ContactNames: WideString); safecall;
    function Get_DateCompleted: TDateTime; safecall;
    procedure Set_DateCompleted(DateCompleted: TDateTime); safecall;
    function Get_DelegationState: OlTaskDelegationState; safecall;
    function Get_Delegator: WideString; safecall;
    function Get_DueDate: TDateTime; safecall;
    procedure Set_DueDate(DueDate: TDateTime); safecall;
    function Get_IsRecurring: WordBool; safecall;
    function Get_Ordinal: Integer; safecall;
    procedure Set_Ordinal(Ordinal: Integer); safecall;
    function Get_Owner: WideString; safecall;
    procedure Set_Owner(const Owner: WideString); safecall;
    function Get_Ownership: OlTaskOwnership; safecall;
    function Get_PercentComplete: Integer; safecall;
    procedure Set_PercentComplete(PercentComplete: Integer); safecall;
    function Get_Recipients: Recipients; safecall;
    function Get_ReminderTime: TDateTime; safecall;
    procedure Set_ReminderTime(ReminderTime: TDateTime); safecall;
    function Get_ReminderOverrideDefault: WordBool; safecall;
    procedure Set_ReminderOverrideDefault(ReminderOverrideDefault: WordBool); safecall;
    function Get_ReminderPlaySound: WordBool; safecall;
    procedure Set_ReminderPlaySound(ReminderPlaySound: WordBool); safecall;
    function Get_ReminderSet: WordBool; safecall;
    procedure Set_ReminderSet(ReminderSet: WordBool); safecall;
    function Get_ReminderSoundFile: WideString; safecall;
    procedure Set_ReminderSoundFile(const ReminderSoundFile: WideString); safecall;
    function Get_ResponseState: OlTaskResponse; safecall;
    function Get_Role: WideString; safecall;
    procedure Set_Role(const Role: WideString); safecall;
    function Get_SchedulePlusPriority: WideString; safecall;
    procedure Set_SchedulePlusPriority(const SchedulePlusPriority: WideString); safecall;
    function Get_StartDate: TDateTime; safecall;
    procedure Set_StartDate(StartDate: TDateTime); safecall;
    function Get_Status: OlTaskStatus; safecall;
    procedure Set_Status(Status: OlTaskStatus); safecall;
    function Get_StatusOnCompletionRecipients: WideString; safecall;
    procedure Set_StatusOnCompletionRecipients(const StatusOnCompletionRecipients: WideString); safecall;
    function Get_StatusUpdateRecipients: WideString; safecall;
    procedure Set_StatusUpdateRecipients(const StatusUpdateRecipients: WideString); safecall;
    function Get_TeamTask: WordBool; safecall;
    procedure Set_TeamTask(TeamTask: WordBool); safecall;
    function Get_TotalWork: Integer; safecall;
    procedure Set_TotalWork(TotalWork: Integer); safecall;
    function Assign_: TaskItem; safecall;
    procedure CancelResponseState; safecall;
    procedure ClearRecurrencePattern; safecall;
    function GetRecurrencePattern: RecurrencePattern; safecall;
    procedure MarkComplete; safecall;
    function Respond(Response: OlTaskResponse; fNoUI: OleVariant; fAdditionalTextDialog: OleVariant): TaskItem; safecall;
    procedure Send; safecall;
    function SkipRecurrence: WordBool; safecall;
    function StatusReport: IDispatch; safecall;
    function Get_Links: Links; safecall;
    function Get_DownloadState: OlDownloadState; safecall;
    procedure ShowCategoriesDialog; safecall;
    function Get_ItemProperties: ItemProperties; safecall;
    function Get_InternetCodepage: Integer; safecall;
    procedure Set_InternetCodepage(InternetCodepage: Integer); safecall;
    function Get_MarkForDownload: OlRemoteStatus; safecall;
    procedure Set_MarkForDownload(MarkForDownload: OlRemoteStatus); safecall;
    function Get_IsConflict: WordBool; safecall;
    property Application: _Application read Get_Application;
    property Class_: OlObjectClass read Get_Class_;
    property Session: _NameSpace read Get_Session;
    property Parent: IDispatch read Get_Parent;
    property Actions: Actions read Get_Actions;
    property Attachments: Attachments read Get_Attachments;
    property BillingInformation: WideString read Get_BillingInformation write Set_BillingInformation;
    property Body: WideString read Get_Body write Set_Body;
    property Categories: WideString read Get_Categories write Set_Categories;
    property Companies: WideString read Get_Companies write Set_Companies;
    property ConversationIndex: WideString read Get_ConversationIndex;
    property ConversationTopic: WideString read Get_ConversationTopic;
    property CreationTime: TDateTime read Get_CreationTime;
    property EntryID: WideString read Get_EntryID;
    property FormDescription: FormDescription read Get_FormDescription;
    property GetInspector: _Inspector read Get_GetInspector;
    property Importance: OlImportance read Get_Importance write Set_Importance;
    property LastModificationTime: TDateTime read Get_LastModificationTime;
    property MAPIOBJECT: IUnknown read Get_MAPIOBJECT;
    property MessageClass: WideString read Get_MessageClass write Set_MessageClass;
    property Mileage: WideString read Get_Mileage write Set_Mileage;
    property NoAging: WordBool read Get_NoAging write Set_NoAging;
    property OutlookInternalVersion: Integer read Get_OutlookInternalVersion;
    property OutlookVersion: WideString read Get_OutlookVersion;
    property Saved: WordBool read Get_Saved;
    property Sensitivity: OlSensitivity read Get_Sensitivity write Set_Sensitivity;
    property Size: Integer read Get_Size;
    property Subject: WideString read Get_Subject write Set_Subject;
    property UnRead: WordBool read Get_UnRead write Set_UnRead;
    property UserProperties: UserProperties read Get_UserProperties;
    property ActualWork: Integer read Get_ActualWork write Set_ActualWork;
    property CardData: WideString read Get_CardData write Set_CardData;
    property Complete: WordBool read Get_Complete write Set_Complete;
    property Contacts: WideString read Get_Contacts write Set_Contacts;
    property ContactNames: WideString read Get_ContactNames write Set_ContactNames;
    property DateCompleted: TDateTime read Get_DateCompleted write Set_DateCompleted;
    property DelegationState: OlTaskDelegationState read Get_DelegationState;
    property Delegator: WideString read Get_Delegator;
    property DueDate: TDateTime read Get_DueDate write Set_DueDate;
    property IsRecurring: WordBool read Get_IsRecurring;
    property Ordinal: Integer read Get_Ordinal write Set_Ordinal;
    property Owner: WideString read Get_Owner write Set_Owner;
    property Ownership: OlTaskOwnership read Get_Ownership;
    property PercentComplete: Integer read Get_PercentComplete write Set_PercentComplete;
    property Recipients: Recipients read Get_Recipients;
    property ReminderTime: TDateTime read Get_ReminderTime write Set_ReminderTime;
    property ReminderOverrideDefault: WordBool read Get_ReminderOverrideDefault write Set_ReminderOverrideDefault;
    property ReminderPlaySound: WordBool read Get_ReminderPlaySound write Set_ReminderPlaySound;
    property ReminderSet: WordBool read Get_ReminderSet write Set_ReminderSet;
    property ReminderSoundFile: WideString read Get_ReminderSoundFile write Set_ReminderSoundFile;
    property ResponseState: OlTaskResponse read Get_ResponseState;
    property Role: WideString read Get_Role write Set_Role;
    property SchedulePlusPriority: WideString read Get_SchedulePlusPriority write Set_SchedulePlusPriority;
    property StartDate: TDateTime read Get_StartDate write Set_StartDate;
    property Status: OlTaskStatus read Get_Status write Set_Status;
    property StatusOnCompletionRecipients: WideString read Get_StatusOnCompletionRecipients write Set_StatusOnCompletionRecipients;
    property StatusUpdateRecipients: WideString read Get_StatusUpdateRecipients write Set_StatusUpdateRecipients;
    property TeamTask: WordBool read Get_TeamTask write Set_TeamTask;
    property TotalWork: Integer read Get_TotalWork write Set_TotalWork;
    property Links: Links read Get_Links;
    property DownloadState: OlDownloadState read Get_DownloadState;
    property ItemProperties: ItemProperties read Get_ItemProperties;
    property InternetCodepage: Integer read Get_InternetCodepage write Set_InternetCodepage;
    property MarkForDownload: OlRemoteStatus read Get_MarkForDownload write Set_MarkForDownload;
    property IsConflict: WordBool read Get_IsConflict;
  end;

// *********************************************************************//
// DispIntf:  _TaskItemDisp
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {00063035-0000-0000-C000-000000000046}
// *********************************************************************//
  _TaskItemDisp = dispinterface
    ['{00063035-0000-0000-C000-000000000046}']
    property Application: _Application readonly dispid 61440;
    property Class_: OlObjectClass readonly dispid 61450;
    property Session: _NameSpace readonly dispid 61451;
    property Parent: IDispatch readonly dispid 61441;
    property Actions: Actions readonly dispid 63511;
    property Attachments: Attachments readonly dispid 63509;
    property BillingInformation: WideString dispid 34101;
    property Body: WideString dispid 37120;
    property Categories: WideString dispid 36865;
    property Companies: WideString dispid 34107;
    property ConversationIndex: WideString readonly dispid 113;
    property ConversationTopic: WideString readonly dispid 112;
    property CreationTime: TDateTime readonly dispid 12295;
    property EntryID: WideString readonly dispid 61470;
    property FormDescription: FormDescription readonly dispid 61589;
    property GetInspector: _Inspector readonly dispid 61502;
    property Importance: OlImportance dispid 23;
    property LastModificationTime: TDateTime readonly dispid 12296;
    property MAPIOBJECT: IUnknown readonly dispid 61696;
    property MessageClass: WideString dispid 26;
    property Mileage: WideString dispid 34100;
    property NoAging: WordBool dispid 34062;
    property OutlookInternalVersion: Integer readonly dispid 34130;
    property OutlookVersion: WideString readonly dispid 34132;
    property Saved: WordBool readonly dispid 61603;
    property Sensitivity: OlSensitivity dispid 54;
    property Size: Integer readonly dispid 3592;
    property Subject: WideString dispid 55;
    property UnRead: WordBool dispid 61468;
    property UserProperties: UserProperties readonly dispid 63510;
    procedure Close(SaveMode: OlInspectorClose); dispid 61475;
    function Copy: IDispatch; dispid 61490;
    procedure Delete; dispid 61514;
    procedure Display(Modal: OleVariant); dispid 61606;
    function Move(const DestFldr: MAPIFolder): IDispatch; dispid 61492;
    procedure PrintOut; dispid 61491;
    procedure Save; dispid 61512;
    procedure SaveAs(const Path: WideString; Type_: OleVariant); dispid 61521;
    property ActualWork: Integer dispid 33040;
    property CardData: WideString dispid 33067;
    property Complete: WordBool dispid 33052;
    property Contacts: WideString dispid 34106;
    property ContactNames: WideString dispid 34108;
    property DateCompleted: TDateTime dispid 33039;
    property DelegationState: OlTaskDelegationState readonly dispid 33066;
    property Delegator: WideString readonly dispid 33057;
    property DueDate: TDateTime dispid 33029;
    property IsRecurring: WordBool readonly dispid 62999;
    property Ordinal: Integer dispid 33059;
    property Owner: WideString dispid 33055;
    property Ownership: OlTaskOwnership readonly dispid 33065;
    property PercentComplete: Integer dispid 63007;
    property Recipients: Recipients readonly dispid 63508;
    property ReminderTime: TDateTime dispid 34050;
    property ReminderOverrideDefault: WordBool dispid 34076;
    property ReminderPlaySound: WordBool dispid 34078;
    property ReminderSet: WordBool dispid 34051;
    property ReminderSoundFile: WideString dispid 34079;
    property ResponseState: OlTaskResponse readonly dispid 63011;
    property Role: WideString dispid 33063;
    property SchedulePlusPriority: WideString dispid 33071;
    property StartDate: TDateTime dispid 33028;
    property Status: OlTaskStatus dispid 33025;
    property StatusOnCompletionRecipients: WideString dispid 3586;
    property StatusUpdateRecipients: WideString dispid 3587;
    property TeamTask: WordBool dispid 33027;
    property TotalWork: Integer dispid 33041;
    function Assign_: TaskItem; dispid 63008;
    procedure CancelResponseState; dispid 63010;
    procedure ClearRecurrencePattern; dispid 61605;
    function GetRecurrencePattern: RecurrencePattern; dispid 61604;
    procedure MarkComplete; dispid 62989;
    function Respond(Response: OlTaskResponse; fNoUI: OleVariant; fAdditionalTextDialog: OleVariant): TaskItem; dispid 63009;
    procedure Send; dispid 61557;
    function SkipRecurrence: WordBool; dispid 63012;
    function StatusReport: IDispatch; dispid 62994;
    property Links: Links readonly dispid 62469;
    property DownloadState: OlDownloadState readonly dispid 64077;
    procedure ShowCategoriesDialog; dispid 64011;
    property ItemProperties: ItemProperties readonly dispid 64009;
    property InternetCodepage: Integer dispid 16350;
    property MarkForDownload: OlRemoteStatus dispid 34161;
    property IsConflict: WordBool readonly dispid 64164;
  end;

// *********************************************************************//
// Interface: _TaskRequestAcceptItem
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {00063038-0000-0000-C000-000000000046}
// *********************************************************************//
  _TaskRequestAcceptItem = interface(IDispatch)
    ['{00063038-0000-0000-C000-000000000046}']
    function Get_Application: _Application; safecall;
    function Get_Class_: OlObjectClass; safecall;
    function Get_Session: _NameSpace; safecall;
    function Get_Parent: IDispatch; safecall;
    function Get_Actions: Actions; safecall;
    function Get_Attachments: Attachments; safecall;
    function Get_BillingInformation: WideString; safecall;
    procedure Set_BillingInformation(const BillingInformation: WideString); safecall;
    function Get_Body: WideString; safecall;
    procedure Set_Body(const Body: WideString); safecall;
    function Get_Categories: WideString; safecall;
    procedure Set_Categories(const Categories: WideString); safecall;
    function Get_Companies: WideString; safecall;
    procedure Set_Companies(const Companies: WideString); safecall;
    function Get_ConversationIndex: WideString; safecall;
    function Get_ConversationTopic: WideString; safecall;
    function Get_CreationTime: TDateTime; safecall;
    function Get_EntryID: WideString; safecall;
    function Get_FormDescription: FormDescription; safecall;
    function Get_GetInspector: _Inspector; safecall;
    function Get_Importance: OlImportance; safecall;
    procedure Set_Importance(Importance: OlImportance); safecall;
    function Get_LastModificationTime: TDateTime; safecall;
    function Get_MAPIOBJECT: IUnknown; safecall;
    function Get_MessageClass: WideString; safecall;
    procedure Set_MessageClass(const MessageClass: WideString); safecall;
    function Get_Mileage: WideString; safecall;
    procedure Set_Mileage(const Mileage: WideString); safecall;
    function Get_NoAging: WordBool; safecall;
    procedure Set_NoAging(NoAging: WordBool); safecall;
    function Get_OutlookInternalVersion: Integer; safecall;
    function Get_OutlookVersion: WideString; safecall;
    function Get_Saved: WordBool; safecall;
    function Get_Sensitivity: OlSensitivity; safecall;
    procedure Set_Sensitivity(Sensitivity: OlSensitivity); safecall;
    function Get_Size: Integer; safecall;
    function Get_Subject: WideString; safecall;
    procedure Set_Subject(const Subject: WideString); safecall;
    function Get_UnRead: WordBool; safecall;
    procedure Set_UnRead(UnRead: WordBool); safecall;
    function Get_UserProperties: UserProperties; safecall;
    procedure Close(SaveMode: OlInspectorClose); safecall;
    function Copy: IDispatch; safecall;
    procedure Delete; safecall;
    procedure Display(Modal: OleVariant); safecall;
    function Move(const DestFldr: MAPIFolder): IDispatch; safecall;
    procedure PrintOut; safecall;
    procedure Save; safecall;
    procedure SaveAs(const Path: WideString; Type_: OleVariant); safecall;
    function GetAssociatedTask(AddToTaskList: WordBool): TaskItem; safecall;
    function Get_Links: Links; safecall;
    function Get_DownloadState: OlDownloadState; safecall;
    procedure ShowCategoriesDialog; safecall;
    function Get_ItemProperties: ItemProperties; safecall;
    function Get_MarkForDownload: OlRemoteStatus; safecall;
    procedure Set_MarkForDownload(MarkForDownload: OlRemoteStatus); safecall;
    function Get_IsConflict: WordBool; safecall;
    property Application: _Application read Get_Application;
    property Class_: OlObjectClass read Get_Class_;
    property Session: _NameSpace read Get_Session;
    property Parent: IDispatch read Get_Parent;
    property Actions: Actions read Get_Actions;
    property Attachments: Attachments read Get_Attachments;
    property BillingInformation: WideString read Get_BillingInformation write Set_BillingInformation;
    property Body: WideString read Get_Body write Set_Body;
    property Categories: WideString read Get_Categories write Set_Categories;
    property Companies: WideString read Get_Companies write Set_Companies;
    property ConversationIndex: WideString read Get_ConversationIndex;
    property ConversationTopic: WideString read Get_ConversationTopic;
    property CreationTime: TDateTime read Get_CreationTime;
    property EntryID: WideString read Get_EntryID;
    property FormDescription: FormDescription read Get_FormDescription;
    property GetInspector: _Inspector read Get_GetInspector;
    property Importance: OlImportance read Get_Importance write Set_Importance;
    property LastModificationTime: TDateTime read Get_LastModificationTime;
    property MAPIOBJECT: IUnknown read Get_MAPIOBJECT;
    property MessageClass: WideString read Get_MessageClass write Set_MessageClass;
    property Mileage: WideString read Get_Mileage write Set_Mileage;
    property NoAging: WordBool read Get_NoAging write Set_NoAging;
    property OutlookInternalVersion: Integer read Get_OutlookInternalVersion;
    property OutlookVersion: WideString read Get_OutlookVersion;
    property Saved: WordBool read Get_Saved;
    property Sensitivity: OlSensitivity read Get_Sensitivity write Set_Sensitivity;
    property Size: Integer read Get_Size;
    property Subject: WideString read Get_Subject write Set_Subject;
    property UnRead: WordBool read Get_UnRead write Set_UnRead;
    property UserProperties: UserProperties read Get_UserProperties;
    property Links: Links read Get_Links;
    property DownloadState: OlDownloadState read Get_DownloadState;
    property ItemProperties: ItemProperties read Get_ItemProperties;
    property MarkForDownload: OlRemoteStatus read Get_MarkForDownload write Set_MarkForDownload;
    property IsConflict: WordBool read Get_IsConflict;
  end;

// *********************************************************************//
// DispIntf:  _TaskRequestAcceptItemDisp
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {00063038-0000-0000-C000-000000000046}
// *********************************************************************//
  _TaskRequestAcceptItemDisp = dispinterface
    ['{00063038-0000-0000-C000-000000000046}']
    property Application: _Application readonly dispid 61440;
    property Class_: OlObjectClass readonly dispid 61450;
    property Session: _NameSpace readonly dispid 61451;
    property Parent: IDispatch readonly dispid 61441;
    property Actions: Actions readonly dispid 63511;
    property Attachments: Attachments readonly dispid 63509;
    property BillingInformation: WideString dispid 34101;
    property Body: WideString dispid 37120;
    property Categories: WideString dispid 36865;
    property Companies: WideString dispid 34107;
    property ConversationIndex: WideString readonly dispid 113;
    property ConversationTopic: WideString readonly dispid 112;
    property CreationTime: TDateTime readonly dispid 12295;
    property EntryID: WideString readonly dispid 61470;
    property FormDescription: FormDescription readonly dispid 61589;
    property GetInspector: _Inspector readonly dispid 61502;
    property Importance: OlImportance dispid 23;
    property LastModificationTime: TDateTime readonly dispid 12296;
    property MAPIOBJECT: IUnknown readonly dispid 61696;
    property MessageClass: WideString dispid 26;
    property Mileage: WideString dispid 34100;
    property NoAging: WordBool dispid 34062;
    property OutlookInternalVersion: Integer readonly dispid 34130;
    property OutlookVersion: WideString readonly dispid 34132;
    property Saved: WordBool readonly dispid 61603;
    property Sensitivity: OlSensitivity dispid 54;
    property Size: Integer readonly dispid 3592;
    property Subject: WideString dispid 55;
    property UnRead: WordBool dispid 61468;
    property UserProperties: UserProperties readonly dispid 63510;
    procedure Close(SaveMode: OlInspectorClose); dispid 61475;
    function Copy: IDispatch; dispid 61490;
    procedure Delete; dispid 61514;
    procedure Display(Modal: OleVariant); dispid 61606;
    function Move(const DestFldr: MAPIFolder): IDispatch; dispid 61492;
    procedure PrintOut; dispid 61491;
    procedure Save; dispid 61512;
    procedure SaveAs(const Path: WideString; Type_: OleVariant); dispid 61521;
    function GetAssociatedTask(AddToTaskList: WordBool): TaskItem; dispid 61460;
    property Links: Links readonly dispid 62469;
    property DownloadState: OlDownloadState readonly dispid 64077;
    procedure ShowCategoriesDialog; dispid 64011;
    property ItemProperties: ItemProperties readonly dispid 64009;
    property MarkForDownload: OlRemoteStatus dispid 34161;
    property IsConflict: WordBool readonly dispid 64164;
  end;

// *********************************************************************//
// Interface: _TaskRequestDeclineItem
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {00063039-0000-0000-C000-000000000046}
// *********************************************************************//
  _TaskRequestDeclineItem = interface(IDispatch)
    ['{00063039-0000-0000-C000-000000000046}']
    function Get_Application: _Application; safecall;
    function Get_Class_: OlObjectClass; safecall;
    function Get_Session: _NameSpace; safecall;
    function Get_Parent: IDispatch; safecall;
    function Get_Actions: Actions; safecall;
    function Get_Attachments: Attachments; safecall;
    function Get_BillingInformation: WideString; safecall;
    procedure Set_BillingInformation(const BillingInformation: WideString); safecall;
    function Get_Body: WideString; safecall;
    procedure Set_Body(const Body: WideString); safecall;
    function Get_Categories: WideString; safecall;
    procedure Set_Categories(const Categories: WideString); safecall;
    function Get_Companies: WideString; safecall;
    procedure Set_Companies(const Companies: WideString); safecall;
    function Get_ConversationIndex: WideString; safecall;
    function Get_ConversationTopic: WideString; safecall;
    function Get_CreationTime: TDateTime; safecall;
    function Get_EntryID: WideString; safecall;
    function Get_FormDescription: FormDescription; safecall;
    function Get_GetInspector: _Inspector; safecall;
    function Get_Importance: OlImportance; safecall;
    procedure Set_Importance(Importance: OlImportance); safecall;
    function Get_LastModificationTime: TDateTime; safecall;
    function Get_MAPIOBJECT: IUnknown; safecall;
    function Get_MessageClass: WideString; safecall;
    procedure Set_MessageClass(const MessageClass: WideString); safecall;
    function Get_Mileage: WideString; safecall;
    procedure Set_Mileage(const Mileage: WideString); safecall;
    function Get_NoAging: WordBool; safecall;
    procedure Set_NoAging(NoAging: WordBool); safecall;
    function Get_OutlookInternalVersion: Integer; safecall;
    function Get_OutlookVersion: WideString; safecall;
    function Get_Saved: WordBool; safecall;
    function Get_Sensitivity: OlSensitivity; safecall;
    procedure Set_Sensitivity(Sensitivity: OlSensitivity); safecall;
    function Get_Size: Integer; safecall;
    function Get_Subject: WideString; safecall;
    procedure Set_Subject(const Subject: WideString); safecall;
    function Get_UnRead: WordBool; safecall;
    procedure Set_UnRead(UnRead: WordBool); safecall;
    function Get_UserProperties: UserProperties; safecall;
    procedure Close(SaveMode: OlInspectorClose); safecall;
    function Copy: IDispatch; safecall;
    procedure Delete; safecall;
    procedure Display(Modal: OleVariant); safecall;
    function Move(const DestFldr: MAPIFolder): IDispatch; safecall;
    procedure PrintOut; safecall;
    procedure Save; safecall;
    procedure SaveAs(const Path: WideString; Type_: OleVariant); safecall;
    function GetAssociatedTask(AddToTaskList: WordBool): TaskItem; safecall;
    function Get_Links: Links; safecall;
    function Get_DownloadState: OlDownloadState; safecall;
    procedure ShowCategoriesDialog; safecall;
    function Get_ItemProperties: ItemProperties; safecall;
    function Get_MarkForDownload: OlRemoteStatus; safecall;
    procedure Set_MarkForDownload(MarkForDownload: OlRemoteStatus); safecall;
    function Get_IsConflict: WordBool; safecall;
    property Application: _Application read Get_Application;
    property Class_: OlObjectClass read Get_Class_;
    property Session: _NameSpace read Get_Session;
    property Parent: IDispatch read Get_Parent;
    property Actions: Actions read Get_Actions;
    property Attachments: Attachments read Get_Attachments;
    property BillingInformation: WideString read Get_BillingInformation write Set_BillingInformation;
    property Body: WideString read Get_Body write Set_Body;
    property Categories: WideString read Get_Categories write Set_Categories;
    property Companies: WideString read Get_Companies write Set_Companies;
    property ConversationIndex: WideString read Get_ConversationIndex;
    property ConversationTopic: WideString read Get_ConversationTopic;
    property CreationTime: TDateTime read Get_CreationTime;
    property EntryID: WideString read Get_EntryID;
    property FormDescription: FormDescription read Get_FormDescription;
    property GetInspector: _Inspector read Get_GetInspector;
    property Importance: OlImportance read Get_Importance write Set_Importance;
    property LastModificationTime: TDateTime read Get_LastModificationTime;
    property MAPIOBJECT: IUnknown read Get_MAPIOBJECT;
    property MessageClass: WideString read Get_MessageClass write Set_MessageClass;
    property Mileage: WideString read Get_Mileage write Set_Mileage;
    property NoAging: WordBool read Get_NoAging write Set_NoAging;
    property OutlookInternalVersion: Integer read Get_OutlookInternalVersion;
    property OutlookVersion: WideString read Get_OutlookVersion;
    property Saved: WordBool read Get_Saved;
    property Sensitivity: OlSensitivity read Get_Sensitivity write Set_Sensitivity;
    property Size: Integer read Get_Size;
    property Subject: WideString read Get_Subject write Set_Subject;
    property UnRead: WordBool read Get_UnRead write Set_UnRead;
    property UserProperties: UserProperties read Get_UserProperties;
    property Links: Links read Get_Links;
    property DownloadState: OlDownloadState read Get_DownloadState;
    property ItemProperties: ItemProperties read Get_ItemProperties;
    property MarkForDownload: OlRemoteStatus read Get_MarkForDownload write Set_MarkForDownload;
    property IsConflict: WordBool read Get_IsConflict;
  end;

// *********************************************************************//
// DispIntf:  _TaskRequestDeclineItemDisp
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {00063039-0000-0000-C000-000000000046}
// *********************************************************************//
  _TaskRequestDeclineItemDisp = dispinterface
    ['{00063039-0000-0000-C000-000000000046}']
    property Application: _Application readonly dispid 61440;
    property Class_: OlObjectClass readonly dispid 61450;
    property Session: _NameSpace readonly dispid 61451;
    property Parent: IDispatch readonly dispid 61441;
    property Actions: Actions readonly dispid 63511;
    property Attachments: Attachments readonly dispid 63509;
    property BillingInformation: WideString dispid 34101;
    property Body: WideString dispid 37120;
    property Categories: WideString dispid 36865;
    property Companies: WideString dispid 34107;
    property ConversationIndex: WideString readonly dispid 113;
    property ConversationTopic: WideString readonly dispid 112;
    property CreationTime: TDateTime readonly dispid 12295;
    property EntryID: WideString readonly dispid 61470;
    property FormDescription: FormDescription readonly dispid 61589;
    property GetInspector: _Inspector readonly dispid 61502;
    property Importance: OlImportance dispid 23;
    property LastModificationTime: TDateTime readonly dispid 12296;
    property MAPIOBJECT: IUnknown readonly dispid 61696;
    property MessageClass: WideString dispid 26;
    property Mileage: WideString dispid 34100;
    property NoAging: WordBool dispid 34062;
    property OutlookInternalVersion: Integer readonly dispid 34130;
    property OutlookVersion: WideString readonly dispid 34132;
    property Saved: WordBool readonly dispid 61603;
    property Sensitivity: OlSensitivity dispid 54;
    property Size: Integer readonly dispid 3592;
    property Subject: WideString dispid 55;
    property UnRead: WordBool dispid 61468;
    property UserProperties: UserProperties readonly dispid 63510;
    procedure Close(SaveMode: OlInspectorClose); dispid 61475;
    function Copy: IDispatch; dispid 61490;
    procedure Delete; dispid 61514;
    procedure Display(Modal: OleVariant); dispid 61606;
    function Move(const DestFldr: MAPIFolder): IDispatch; dispid 61492;
    procedure PrintOut; dispid 61491;
    procedure Save; dispid 61512;
    procedure SaveAs(const Path: WideString; Type_: OleVariant); dispid 61521;
    function GetAssociatedTask(AddToTaskList: WordBool): TaskItem; dispid 61460;
    property Links: Links readonly dispid 62469;
    property DownloadState: OlDownloadState readonly dispid 64077;
    procedure ShowCategoriesDialog; dispid 64011;
    property ItemProperties: ItemProperties readonly dispid 64009;
    property MarkForDownload: OlRemoteStatus dispid 34161;
    property IsConflict: WordBool readonly dispid 64164;
  end;

// *********************************************************************//
// Interface: _TaskRequestItem
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {00063036-0000-0000-C000-000000000046}
// *********************************************************************//
  _TaskRequestItem = interface(IDispatch)
    ['{00063036-0000-0000-C000-000000000046}']
    function Get_Application: _Application; safecall;
    function Get_Class_: OlObjectClass; safecall;
    function Get_Session: _NameSpace; safecall;
    function Get_Parent: IDispatch; safecall;
    function Get_Actions: Actions; safecall;
    function Get_Attachments: Attachments; safecall;
    function Get_BillingInformation: WideString; safecall;
    procedure Set_BillingInformation(const BillingInformation: WideString); safecall;
    function Get_Body: WideString; safecall;
    procedure Set_Body(const Body: WideString); safecall;
    function Get_Categories: WideString; safecall;
    procedure Set_Categories(const Categories: WideString); safecall;
    function Get_Companies: WideString; safecall;
    procedure Set_Companies(const Companies: WideString); safecall;
    function Get_ConversationIndex: WideString; safecall;
    function Get_ConversationTopic: WideString; safecall;
    function Get_CreationTime: TDateTime; safecall;
    function Get_EntryID: WideString; safecall;
    function Get_FormDescription: FormDescription; safecall;
    function Get_GetInspector: _Inspector; safecall;
    function Get_Importance: OlImportance; safecall;
    procedure Set_Importance(Importance: OlImportance); safecall;
    function Get_LastModificationTime: TDateTime; safecall;
    function Get_MAPIOBJECT: IUnknown; safecall;
    function Get_MessageClass: WideString; safecall;
    procedure Set_MessageClass(const MessageClass: WideString); safecall;
    function Get_Mileage: WideString; safecall;
    procedure Set_Mileage(const Mileage: WideString); safecall;
    function Get_NoAging: WordBool; safecall;
    procedure Set_NoAging(NoAging: WordBool); safecall;
    function Get_OutlookInternalVersion: Integer; safecall;
    function Get_OutlookVersion: WideString; safecall;
    function Get_Saved: WordBool; safecall;
    function Get_Sensitivity: OlSensitivity; safecall;
    procedure Set_Sensitivity(Sensitivity: OlSensitivity); safecall;
    function Get_Size: Integer; safecall;
    function Get_Subject: WideString; safecall;
    procedure Set_Subject(const Subject: WideString); safecall;
    function Get_UnRead: WordBool; safecall;
    procedure Set_UnRead(UnRead: WordBool); safecall;
    function Get_UserProperties: UserProperties; safecall;
    procedure Close(SaveMode: OlInspectorClose); safecall;
    function Copy: IDispatch; safecall;
    procedure Delete; safecall;
    procedure Display(Modal: OleVariant); safecall;
    function Move(const DestFldr: MAPIFolder): IDispatch; safecall;
    procedure PrintOut; safecall;
    procedure Save; safecall;
    procedure SaveAs(const Path: WideString; Type_: OleVariant); safecall;
    function GetAssociatedTask(AddToTaskList: WordBool): TaskItem; safecall;
    function Get_Links: Links; safecall;
    function Get_DownloadState: OlDownloadState; safecall;
    procedure ShowCategoriesDialog; safecall;
    function Get_ItemProperties: ItemProperties; safecall;
    function Get_MarkForDownload: OlRemoteStatus; safecall;
    procedure Set_MarkForDownload(MarkForDownload: OlRemoteStatus); safecall;
    function Get_IsConflict: WordBool; safecall;
    property Application: _Application read Get_Application;
    property Class_: OlObjectClass read Get_Class_;
    property Session: _NameSpace read Get_Session;
    property Parent: IDispatch read Get_Parent;
    property Actions: Actions read Get_Actions;
    property Attachments: Attachments read Get_Attachments;
    property BillingInformation: WideString read Get_BillingInformation write Set_BillingInformation;
    property Body: WideString read Get_Body write Set_Body;
    property Categories: WideString read Get_Categories write Set_Categories;
    property Companies: WideString read Get_Companies write Set_Companies;
    property ConversationIndex: WideString read Get_ConversationIndex;
    property ConversationTopic: WideString read Get_ConversationTopic;
    property CreationTime: TDateTime read Get_CreationTime;
    property EntryID: WideString read Get_EntryID;
    property FormDescription: FormDescription read Get_FormDescription;
    property GetInspector: _Inspector read Get_GetInspector;
    property Importance: OlImportance read Get_Importance write Set_Importance;
    property LastModificationTime: TDateTime read Get_LastModificationTime;
    property MAPIOBJECT: IUnknown read Get_MAPIOBJECT;
    property MessageClass: WideString read Get_MessageClass write Set_MessageClass;
    property Mileage: WideString read Get_Mileage write Set_Mileage;
    property NoAging: WordBool read Get_NoAging write Set_NoAging;
    property OutlookInternalVersion: Integer read Get_OutlookInternalVersion;
    property OutlookVersion: WideString read Get_OutlookVersion;
    property Saved: WordBool read Get_Saved;
    property Sensitivity: OlSensitivity read Get_Sensitivity write Set_Sensitivity;
    property Size: Integer read Get_Size;
    property Subject: WideString read Get_Subject write Set_Subject;
    property UnRead: WordBool read Get_UnRead write Set_UnRead;
    property UserProperties: UserProperties read Get_UserProperties;
    property Links: Links read Get_Links;
    property DownloadState: OlDownloadState read Get_DownloadState;
    property ItemProperties: ItemProperties read Get_ItemProperties;
    property MarkForDownload: OlRemoteStatus read Get_MarkForDownload write Set_MarkForDownload;
    property IsConflict: WordBool read Get_IsConflict;
  end;

// *********************************************************************//
// DispIntf:  _TaskRequestItemDisp
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {00063036-0000-0000-C000-000000000046}
// *********************************************************************//
  _TaskRequestItemDisp = dispinterface
    ['{00063036-0000-0000-C000-000000000046}']
    property Application: _Application readonly dispid 61440;
    property Class_: OlObjectClass readonly dispid 61450;
    property Session: _NameSpace readonly dispid 61451;
    property Parent: IDispatch readonly dispid 61441;
    property Actions: Actions readonly dispid 63511;
    property Attachments: Attachments readonly dispid 63509;
    property BillingInformation: WideString dispid 34101;
    property Body: WideString dispid 37120;
    property Categories: WideString dispid 36865;
    property Companies: WideString dispid 34107;
    property ConversationIndex: WideString readonly dispid 113;
    property ConversationTopic: WideString readonly dispid 112;
    property CreationTime: TDateTime readonly dispid 12295;
    property EntryID: WideString readonly dispid 61470;
    property FormDescription: FormDescription readonly dispid 61589;
    property GetInspector: _Inspector readonly dispid 61502;
    property Importance: OlImportance dispid 23;
    property LastModificationTime: TDateTime readonly dispid 12296;
    property MAPIOBJECT: IUnknown readonly dispid 61696;
    property MessageClass: WideString dispid 26;
    property Mileage: WideString dispid 34100;
    property NoAging: WordBool dispid 34062;
    property OutlookInternalVersion: Integer readonly dispid 34130;
    property OutlookVersion: WideString readonly dispid 34132;
    property Saved: WordBool readonly dispid 61603;
    property Sensitivity: OlSensitivity dispid 54;
    property Size: Integer readonly dispid 3592;
    property Subject: WideString dispid 55;
    property UnRead: WordBool dispid 61468;
    property UserProperties: UserProperties readonly dispid 63510;
    procedure Close(SaveMode: OlInspectorClose); dispid 61475;
    function Copy: IDispatch; dispid 61490;
    procedure Delete; dispid 61514;
    procedure Display(Modal: OleVariant); dispid 61606;
    function Move(const DestFldr: MAPIFolder): IDispatch; dispid 61492;
    procedure PrintOut; dispid 61491;
    procedure Save; dispid 61512;
    procedure SaveAs(const Path: WideString; Type_: OleVariant); dispid 61521;
    function GetAssociatedTask(AddToTaskList: WordBool): TaskItem; dispid 61460;
    property Links: Links readonly dispid 62469;
    property DownloadState: OlDownloadState readonly dispid 64077;
    procedure ShowCategoriesDialog; dispid 64011;
    property ItemProperties: ItemProperties readonly dispid 64009;
    property MarkForDownload: OlRemoteStatus dispid 34161;
    property IsConflict: WordBool readonly dispid 64164;
  end;

// *********************************************************************//
// Interface: _TaskRequestUpdateItem
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {00063037-0000-0000-C000-000000000046}
// *********************************************************************//
  _TaskRequestUpdateItem = interface(IDispatch)
    ['{00063037-0000-0000-C000-000000000046}']
    function Get_Application: _Application; safecall;
    function Get_Class_: OlObjectClass; safecall;
    function Get_Session: _NameSpace; safecall;
    function Get_Parent: IDispatch; safecall;
    function Get_Actions: Actions; safecall;
    function Get_Attachments: Attachments; safecall;
    function Get_BillingInformation: WideString; safecall;
    procedure Set_BillingInformation(const BillingInformation: WideString); safecall;
    function Get_Body: WideString; safecall;
    procedure Set_Body(const Body: WideString); safecall;
    function Get_Categories: WideString; safecall;
    procedure Set_Categories(const Categories: WideString); safecall;
    function Get_Companies: WideString; safecall;
    procedure Set_Companies(const Companies: WideString); safecall;
    function Get_ConversationIndex: WideString; safecall;
    function Get_ConversationTopic: WideString; safecall;
    function Get_CreationTime: TDateTime; safecall;
    function Get_EntryID: WideString; safecall;
    function Get_FormDescription: FormDescription; safecall;
    function Get_GetInspector: _Inspector; safecall;
    function Get_Importance: OlImportance; safecall;
    procedure Set_Importance(Importance: OlImportance); safecall;
    function Get_LastModificationTime: TDateTime; safecall;
    function Get_MAPIOBJECT: IUnknown; safecall;
    function Get_MessageClass: WideString; safecall;
    procedure Set_MessageClass(const MessageClass: WideString); safecall;
    function Get_Mileage: WideString; safecall;
    procedure Set_Mileage(const Mileage: WideString); safecall;
    function Get_NoAging: WordBool; safecall;
    procedure Set_NoAging(NoAging: WordBool); safecall;
    function Get_OutlookInternalVersion: Integer; safecall;
    function Get_OutlookVersion: WideString; safecall;
    function Get_Saved: WordBool; safecall;
    function Get_Sensitivity: OlSensitivity; safecall;
    procedure Set_Sensitivity(Sensitivity: OlSensitivity); safecall;
    function Get_Size: Integer; safecall;
    function Get_Subject: WideString; safecall;
    procedure Set_Subject(const Subject: WideString); safecall;
    function Get_UnRead: WordBool; safecall;
    procedure Set_UnRead(UnRead: WordBool); safecall;
    function Get_UserProperties: UserProperties; safecall;
    procedure Close(SaveMode: OlInspectorClose); safecall;
    function Copy: IDispatch; safecall;
    procedure Delete; safecall;
    procedure Display(Modal: OleVariant); safecall;
    function Move(const DestFldr: MAPIFolder): IDispatch; safecall;
    procedure PrintOut; safecall;
    procedure Save; safecall;
    procedure SaveAs(const Path: WideString; Type_: OleVariant); safecall;
    function GetAssociatedTask(AddToTaskList: WordBool): TaskItem; safecall;
    function Get_Links: Links; safecall;
    function Get_DownloadState: OlDownloadState; safecall;
    procedure ShowCategoriesDialog; safecall;
    function Get_ItemProperties: ItemProperties; safecall;
    function Get_MarkForDownload: OlRemoteStatus; safecall;
    procedure Set_MarkForDownload(MarkForDownload: OlRemoteStatus); safecall;
    function Get_IsConflict: WordBool; safecall;
    property Application: _Application read Get_Application;
    property Class_: OlObjectClass read Get_Class_;
    property Session: _NameSpace read Get_Session;
    property Parent: IDispatch read Get_Parent;
    property Actions: Actions read Get_Actions;
    property Attachments: Attachments read Get_Attachments;
    property BillingInformation: WideString read Get_BillingInformation write Set_BillingInformation;
    property Body: WideString read Get_Body write Set_Body;
    property Categories: WideString read Get_Categories write Set_Categories;
    property Companies: WideString read Get_Companies write Set_Companies;
    property ConversationIndex: WideString read Get_ConversationIndex;
    property ConversationTopic: WideString read Get_ConversationTopic;
    property CreationTime: TDateTime read Get_CreationTime;
    property EntryID: WideString read Get_EntryID;
    property FormDescription: FormDescription read Get_FormDescription;
    property GetInspector: _Inspector read Get_GetInspector;
    property Importance: OlImportance read Get_Importance write Set_Importance;
    property LastModificationTime: TDateTime read Get_LastModificationTime;
    property MAPIOBJECT: IUnknown read Get_MAPIOBJECT;
    property MessageClass: WideString read Get_MessageClass write Set_MessageClass;
    property Mileage: WideString read Get_Mileage write Set_Mileage;
    property NoAging: WordBool read Get_NoAging write Set_NoAging;
    property OutlookInternalVersion: Integer read Get_OutlookInternalVersion;
    property OutlookVersion: WideString read Get_OutlookVersion;
    property Saved: WordBool read Get_Saved;
    property Sensitivity: OlSensitivity read Get_Sensitivity write Set_Sensitivity;
    property Size: Integer read Get_Size;
    property Subject: WideString read Get_Subject write Set_Subject;
    property UnRead: WordBool read Get_UnRead write Set_UnRead;
    property UserProperties: UserProperties read Get_UserProperties;
    property Links: Links read Get_Links;
    property DownloadState: OlDownloadState read Get_DownloadState;
    property ItemProperties: ItemProperties read Get_ItemProperties;
    property MarkForDownload: OlRemoteStatus read Get_MarkForDownload write Set_MarkForDownload;
    property IsConflict: WordBool read Get_IsConflict;
  end;

// *********************************************************************//
// DispIntf:  _TaskRequestUpdateItemDisp
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {00063037-0000-0000-C000-000000000046}
// *********************************************************************//
  _TaskRequestUpdateItemDisp = dispinterface
    ['{00063037-0000-0000-C000-000000000046}']
    property Application: _Application readonly dispid 61440;
    property Class_: OlObjectClass readonly dispid 61450;
    property Session: _NameSpace readonly dispid 61451;
    property Parent: IDispatch readonly dispid 61441;
    property Actions: Actions readonly dispid 63511;
    property Attachments: Attachments readonly dispid 63509;
    property BillingInformation: WideString dispid 34101;
    property Body: WideString dispid 37120;
    property Categories: WideString dispid 36865;
    property Companies: WideString dispid 34107;
    property ConversationIndex: WideString readonly dispid 113;
    property ConversationTopic: WideString readonly dispid 112;
    property CreationTime: TDateTime readonly dispid 12295;
    property EntryID: WideString readonly dispid 61470;
    property FormDescription: FormDescription readonly dispid 61589;
    property GetInspector: _Inspector readonly dispid 61502;
    property Importance: OlImportance dispid 23;
    property LastModificationTime: TDateTime readonly dispid 12296;
    property MAPIOBJECT: IUnknown readonly dispid 61696;
    property MessageClass: WideString dispid 26;
    property Mileage: WideString dispid 34100;
    property NoAging: WordBool dispid 34062;
    property OutlookInternalVersion: Integer readonly dispid 34130;
    property OutlookVersion: WideString readonly dispid 34132;
    property Saved: WordBool readonly dispid 61603;
    property Sensitivity: OlSensitivity dispid 54;
    property Size: Integer readonly dispid 3592;
    property Subject: WideString dispid 55;
    property UnRead: WordBool dispid 61468;
    property UserProperties: UserProperties readonly dispid 63510;
    procedure Close(SaveMode: OlInspectorClose); dispid 61475;
    function Copy: IDispatch; dispid 61490;
    procedure Delete; dispid 61514;
    procedure Display(Modal: OleVariant); dispid 61606;
    function Move(const DestFldr: MAPIFolder): IDispatch; dispid 61492;
    procedure PrintOut; dispid 61491;
    procedure Save; dispid 61512;
    procedure SaveAs(const Path: WideString; Type_: OleVariant); dispid 61521;
    function GetAssociatedTask(AddToTaskList: WordBool): TaskItem; dispid 61460;
    property Links: Links readonly dispid 62469;
    property DownloadState: OlDownloadState readonly dispid 64077;
    procedure ShowCategoriesDialog; dispid 64011;
    property ItemProperties: ItemProperties readonly dispid 64009;
    property MarkForDownload: OlRemoteStatus dispid 34161;
    property IsConflict: WordBool readonly dispid 64164;
  end;

// *********************************************************************//
// DispIntf:  ApplicationEvents_10
// Flags:     (4096) Dispatchable
// GUID:      {0006300E-0000-0000-C000-000000000046}
// *********************************************************************//
  ApplicationEvents_10 = dispinterface
    ['{0006300E-0000-0000-C000-000000000046}']
    procedure ItemSend(const Item: IDispatch; var Cancel: WordBool); dispid 61442;
    procedure NewMail; dispid 61443;
    procedure Reminder(const Item: IDispatch); dispid 61444;
    procedure OptionsPagesAdd(const Pages: PropertyPages); dispid 61445;
    procedure Startup; dispid 61446;
    procedure Quit; dispid 61447;
    procedure AdvancedSearchComplete(const SearchObject: Search); dispid 64106;
    procedure AdvancedSearchStopped(const SearchObject: Search); dispid 64107;
    procedure MAPILogonComplete; dispid 64144;
  end;

// *********************************************************************//
// DispIntf:  ResultsEvents
// Flags:     (4096) Dispatchable
// GUID:      {0006300D-0000-0000-C000-000000000046}
// *********************************************************************//
  ResultsEvents = dispinterface
    ['{0006300D-0000-0000-C000-000000000046}']
    procedure ItemAdd(const Item: IDispatch); dispid 61441;
    procedure ItemChange(const Item: IDispatch); dispid 61442;
    procedure ItemRemove; dispid 61443;
  end;

// *********************************************************************//
// DispIntf:  _ViewsEvents
// Flags:     (4096) Dispatchable
// GUID:      {000630A5-0000-0000-C000-000000000046}
// *********************************************************************//
  _ViewsEvents = dispinterface
    ['{000630A5-0000-0000-C000-000000000046}']
    procedure ViewAdd(const View: View); dispid 400;
    procedure ViewRemove(const View: View); dispid 64071;
  end;

// *********************************************************************//
// DispIntf:  ReminderCollectionEvents
// Flags:     (4096) Dispatchable
// GUID:      {000630B2-0000-0000-C000-000000000046}
// *********************************************************************//
  ReminderCollectionEvents = dispinterface
    ['{000630B2-0000-0000-C000-000000000046}']
    procedure BeforeReminderShow(var Cancel: WordBool); dispid 64147;
    procedure ReminderAdd(const ReminderObject: _Reminder); dispid 64148;
    procedure ReminderChange(const ReminderObject: _Reminder); dispid 64149;
    procedure ReminderFire(const ReminderObject: _Reminder); dispid 64150;
    procedure ReminderRemove; dispid 64151;
    procedure Snooze(const ReminderObject: _Reminder); dispid 64152;
  end;

// *********************************************************************//
// Interface: _IRecipientControl
// Flags:     (4112) Hidden Dispatchable
// GUID:      {D87E7E16-6897-11CE-A6C0-00AA00608FAA}
// *********************************************************************//
  _IRecipientControl = interface(IDispatch)
    ['{D87E7E16-6897-11CE-A6C0-00AA00608FAA}']
    function Get_Enabled(out Enabled: WordBool): HResult; stdcall;
    function Set_Enabled(Enabled: WordBool): HResult; stdcall;
    function Get_BackColor(out BackColor: Integer): HResult; stdcall;
    function Set_BackColor(BackColor: Integer): HResult; stdcall;
    function Get_ForeColor(out ForeColor: Integer): HResult; stdcall;
    function Set_ForeColor(ForeColor: Integer): HResult; stdcall;
    function Get_ReadOnly(out ReadOnly: WordBool): HResult; stdcall;
    function Set_ReadOnly(ReadOnly: WordBool): HResult; stdcall;
    function Get_Font(out Font: IDispatch): HResult; stdcall;
    function Set_Font(const Font: IDispatch): HResult; stdcall;
    function Get_SpecialEffect(out Effect: Integer): HResult; stdcall;
    function Set_SpecialEffect(Effect: Integer): HResult; stdcall;
  end;

// *********************************************************************//
// DispIntf:  _DRecipientControl
// Flags:     (4112) Hidden Dispatchable
// GUID:      {0006F025-0000-0000-C000-000000000046}
// *********************************************************************//
  _DRecipientControl = dispinterface
    ['{0006F025-0000-0000-C000-000000000046}']
    property Enabled: WordBool dispid -514;
    property BackColor: Integer dispid -501;
    property ForeColor: Integer dispid -513;
    property ReadOnly: WordBool dispid -2147356664;
    property Font: IDispatch dispid -512;
    property SpecialEffect: Integer dispid 12;
  end;

// *********************************************************************//
// DispIntf:  _DRecipientControlEvents
// Flags:     (4112) Hidden Dispatchable
// GUID:      {D87E7E17-6897-11CE-A6C0-00AA00608FAA}
// *********************************************************************//
  _DRecipientControlEvents = dispinterface
    ['{D87E7E17-6897-11CE-A6C0-00AA00608FAA}']
  end;

// *********************************************************************//
// Interface: _IDocSiteControl
// Flags:     (4112) Hidden Dispatchable
// GUID:      {43507DD0-811D-11CE-B565-00AA00608FAA}
// *********************************************************************//
  _IDocSiteControl = interface(IDispatch)
    ['{43507DD0-811D-11CE-B565-00AA00608FAA}']
    function Get_ReadOnly(out ReadOnly: WordBool): HResult; stdcall;
    function Set_ReadOnly(ReadOnly: WordBool): HResult; stdcall;
  end;

// *********************************************************************//
// DispIntf:  _DDocSiteControl
// Flags:     (4112) Hidden Dispatchable
// GUID:      {0006F026-0000-0000-C000-000000000046}
// *********************************************************************//
  _DDocSiteControl = dispinterface
    ['{0006F026-0000-0000-C000-000000000046}']
    property ReadOnly: WordBool dispid -2147356664;
  end;

// *********************************************************************//
// DispIntf:  _DDocSiteControlEvents
// Flags:     (4112) Hidden Dispatchable
// GUID:      {50BB9B50-811D-11CE-B565-00AA00608FAA}
// *********************************************************************//
  _DDocSiteControlEvents = dispinterface
    ['{50BB9B50-811D-11CE-B565-00AA00608FAA}']
  end;

// *********************************************************************//
// Interface: _IDpxCtrl
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {0006F097-0000-0000-C000-000000000046}
// *********************************************************************//
  _IDpxCtrl = interface(IDispatch)
    ['{0006F097-0000-0000-C000-000000000046}']
    function Get_StartDate: Integer; safecall;
    procedure Set_StartDate(plStartDate: Integer); safecall;
    function Get_EndDate: Integer; safecall;
    procedure Set_EndDate(plEndDate: Integer); safecall;
    property StartDate: Integer read Get_StartDate write Set_StartDate;
    property EndDate: Integer read Get_EndDate write Set_EndDate;
  end;

// *********************************************************************//
// DispIntf:  _IDpxCtrlDisp
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {0006F097-0000-0000-C000-000000000046}
// *********************************************************************//
  _IDpxCtrlDisp = dispinterface
    ['{0006F097-0000-0000-C000-000000000046}']
    property StartDate: Integer dispid 64091;
    property EndDate: Integer dispid 64092;
  end;

// *********************************************************************//
// Interface: _IPageWrapCtrl
// Flags:     (4112) Hidden Dispatchable
// GUID:      {494F0970-DD96-11D2-AF70-006008AFF117}
// *********************************************************************//
  _IPageWrapCtrl = interface(IDispatch)
    ['{494F0970-DD96-11D2-AF70-006008AFF117}']
    function Get_BackColor(out pcolorRef: LongWord): HResult; stdcall;
    function Set_BackColor(pcolorRef: LongWord): HResult; stdcall;
  end;

// *********************************************************************//
// DispIntf:  _DPageWrapCtrl
// Flags:     (4112) Hidden Dispatchable
// GUID:      {0006F096-0000-0000-C000-000000000046}
// *********************************************************************//
  _DPageWrapCtrl = dispinterface
    ['{0006F096-0000-0000-C000-000000000046}']
    property BackColor: LongWord dispid 64090;
  end;

// *********************************************************************//
// DispIntf:  _DPageWrapCtrlEvents
// Flags:     (4112) Hidden Dispatchable
// GUID:      {494F0971-DD96-11D2-AF70-006008AFF117}
// *********************************************************************//
  _DPageWrapCtrlEvents = dispinterface
    ['{494F0971-DD96-11D2-AF70-006008AFF117}']
  end;

// *********************************************************************//
// Interface: _IInspectorCtrl
// Flags:     (4112) Hidden Dispatchable
// GUID:      {E182A127-EADD-46E1-B878-482C48CD8754}
// *********************************************************************//
  _IInspectorCtrl = interface(IDispatch)
    ['{E182A127-EADD-46E1-B878-482C48CD8754}']
    function Get_URL(out ppwzURL: WideString): HResult; stdcall;
    function Set_URL(const ppwzURL: WideString): HResult; stdcall;
    function Get_Item(out ppdisp: IDispatch): HResult; stdcall;
    function OnItemChange(const pdispItem: IDispatch): HResult; stdcall;
  end;

// *********************************************************************//
// DispIntf:  _DInspectorCtrl
// Flags:     (4112) Hidden Dispatchable
// GUID:      {0006F09D-0000-0000-C000-000000000046}
// *********************************************************************//
  _DInspectorCtrl = dispinterface
    ['{0006F09D-0000-0000-C000-000000000046}']
    property URL: WideString dispid 64132;
    property Item: IDispatch readonly dispid 64134;
    procedure OnItemChange(const pdispItem: IDispatch); dispid 64137;
  end;

// *********************************************************************//
// DispIntf:  _DInspectorEvents
// Flags:     (4112) Hidden Dispatchable
// GUID:      {2D9C6D57-BD3C-4275-BED2-73F0EDC18CCE}
// *********************************************************************//
  _DInspectorEvents = dispinterface
    ['{2D9C6D57-BD3C-4275-BED2-73F0EDC18CCE}']
  end;

// *********************************************************************//
// DispIntf:  DDataSourceObject
// Flags:     (4112) Hidden Dispatchable
// GUID:      {11858B51-DE06-494E-915A-6CCEF17F7CB6}
// *********************************************************************//
  DDataSourceObject = dispinterface
    ['{11858B51-DE06-494E-915A-6CCEF17F7CB6}']
    property OutlookItem: IDispatch dispid 64096;
  end;

// *********************************************************************//
// The Class CoSyncObject provides a Create and CreateRemote method to          
// create instances of the default interface _SyncObject exposed by              
// the CoClass SyncObject. The functions are intended to be used by             
// clients wishing to automate the CoClass objects exposed by the         
// server of this typelibrary.                                            
// *********************************************************************//
  CoSyncObject = class
    class function Create: _SyncObject;
    class function CreateRemote(const MachineName: string): _SyncObject;
  end;

  TSyncObjectProgress = procedure(ASender: TObject; State: OlSyncState; 
                                                    const Description: WideString; Value: Integer; 
                                                    Max: Integer) of object;
  TSyncObjectOnError = procedure(ASender: TObject; Code: Integer; const Description: WideString) of object;


// *********************************************************************//
// OLE Server Proxy class declaration
// Server Object    : TSyncObject
// Help String      : 
// Default Interface: _SyncObject
// Def. Intf. DISP? : No
// Event   Interface: SyncObjectEvents
// TypeFlags        : (0)
// *********************************************************************//
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  TSyncObjectProperties= class;
{$ENDIF}
  TSyncObject = class(TOleServer)
  private
    FOnSyncStart: TNotifyEvent;
    FOnProgress: TSyncObjectProgress;
    FOnError: TSyncObjectOnError;
    FOnSyncEnd: TNotifyEvent;
    FIntf:        _SyncObject;
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
    FProps:       TSyncObjectProperties;
    function      GetServerProperties: TSyncObjectProperties;
{$ENDIF}
    function      GetDefaultInterface: _SyncObject;
  protected
    procedure InitServerData; override;
    procedure InvokeEvent(DispID: TDispID; var Params: TVariantArray); override;
    function Get_Application: _Application;
    function Get_Class_: OlObjectClass;
    function Get_Session: _NameSpace;
    function Get_Parent: IDispatch;
    function Get_Name: WideString;
  public
    constructor Create(AOwner: TComponent); override;
    destructor  Destroy; override;
    procedure Connect; override;
    procedure ConnectTo(svrIntf: _SyncObject);
    procedure Disconnect; override;
    procedure Start;
    procedure Stop;
    property DefaultInterface: _SyncObject read GetDefaultInterface;
    property Application: _Application read Get_Application;
    property Class_: OlObjectClass read Get_Class_;
    property Session: _NameSpace read Get_Session;
    property Parent: IDispatch read Get_Parent;
    property Name: WideString read Get_Name;
  published
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
    property Server: TSyncObjectProperties read GetServerProperties;
{$ENDIF}
    property OnSyncStart: TNotifyEvent read FOnSyncStart write FOnSyncStart;
    property OnProgress: TSyncObjectProgress read FOnProgress write FOnProgress;
    property OnError: TSyncObjectOnError read FOnError write FOnError;
    property OnSyncEnd: TNotifyEvent read FOnSyncEnd write FOnSyncEnd;
  end;

{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
// *********************************************************************//
// OLE Server Properties Proxy Class
// Server Object    : TSyncObject
// (This object is used by the IDE's Property Inspector to allow editing
//  of the properties of this server)
// *********************************************************************//
 TSyncObjectProperties = class(TPersistent)
  private
    FServer:    TSyncObject;
    function    GetDefaultInterface: _SyncObject;
    constructor Create(AServer: TSyncObject);
  protected
    function Get_Application: _Application;
    function Get_Class_: OlObjectClass;
    function Get_Session: _NameSpace;
    function Get_Parent: IDispatch;
    function Get_Name: WideString;
  public
    property DefaultInterface: _SyncObject read GetDefaultInterface;
  published
  end;
{$ENDIF}


// *********************************************************************//
// The Class CoExplorer provides a Create and CreateRemote method to          
// create instances of the default interface _Explorer exposed by              
// the CoClass Explorer. The functions are intended to be used by             
// clients wishing to automate the CoClass objects exposed by the         
// server of this typelibrary.                                            
// *********************************************************************//
  CoExplorer = class
    class function Create: _Explorer;
    class function CreateRemote(const MachineName: string): _Explorer;
  end;

  TExplorerBeforeFolderSwitch = procedure(ASender: TObject; const NewFolder: IDispatch; 
                                                            var Cancel: WordBool) of object;
  TExplorerBeforeViewSwitch = procedure(ASender: TObject; NewView: OleVariant; var Cancel: WordBool) of object;
  TExplorerBeforeMaximize = procedure(ASender: TObject; var Cancel: WordBool) of object;
  TExplorerBeforeMinimize = procedure(ASender: TObject; var Cancel: WordBool) of object;
  TExplorerBeforeMove = procedure(ASender: TObject; var Cancel: WordBool) of object;
  TExplorerBeforeSize = procedure(ASender: TObject; var Cancel: WordBool) of object;
  TExplorerBeforeItemCopy = procedure(ASender: TObject; var Cancel: WordBool) of object;
  TExplorerBeforeItemCut = procedure(ASender: TObject; var Cancel: WordBool) of object;
  TExplorerBeforeItemPaste = procedure(ASender: TObject; var ClipboardContent: OleVariant; 
                                                         const Target: MAPIFolder; 
                                                         var Cancel: WordBool) of object;


// *********************************************************************//
// OLE Server Proxy class declaration
// Server Object    : TExplorer
// Help String      : 
// Default Interface: _Explorer
// Def. Intf. DISP? : No
// Event   Interface: ExplorerEvents_10
// TypeFlags        : (0)
// *********************************************************************//
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  TExplorerProperties= class;
{$ENDIF}
  TExplorer = class(TOleServer)
  private
    FOnActivate: TNotifyEvent;
    FOnFolderSwitch: TNotifyEvent;
    FOnBeforeFolderSwitch: TExplorerBeforeFolderSwitch;
    FOnViewSwitch: TNotifyEvent;
    FOnBeforeViewSwitch: TExplorerBeforeViewSwitch;
    FOnDeactivate: TNotifyEvent;
    FOnSelectionChange: TNotifyEvent;
    FOnClose: TNotifyEvent;
    FOnBeforeMaximize: TExplorerBeforeMaximize;
    FOnBeforeMinimize: TExplorerBeforeMinimize;
    FOnBeforeMove: TExplorerBeforeMove;
    FOnBeforeSize: TExplorerBeforeSize;
    FOnBeforeItemCopy: TExplorerBeforeItemCopy;
    FOnBeforeItemCut: TExplorerBeforeItemCut;
    FOnBeforeItemPaste: TExplorerBeforeItemPaste;
    FIntf:        _Explorer;
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
    FProps:       TExplorerProperties;
    function      GetServerProperties: TExplorerProperties;
{$ENDIF}
    function      GetDefaultInterface: _Explorer;
  protected
    procedure InitServerData; override;
    procedure InvokeEvent(DispID: TDispID; var Params: TVariantArray); override;
    function Get_Application: _Application;
    function Get_Class_: OlObjectClass;
    function Get_Session: _NameSpace;
    function Get_Parent: IDispatch;
    function Get_CommandBars: CommandBars;
    function Get_CurrentFolder: MAPIFolder;
    procedure _Set_CurrentFolder(const CurrentFolder: MAPIFolder);
    function Get_Caption: WideString;
    function Get_CurrentView: OleVariant;
    procedure Set_CurrentView(CurrentView: OleVariant);
    function Get_Height: Integer;
    procedure Set_Height(Height: Integer);
    function Get_Left: Integer;
    procedure Set_Left(Left: Integer);
    function Get_Panes: Panes;
    function Get_Selection: Selection;
    function Get_Top: Integer;
    procedure Set_Top(Top: Integer);
    function Get_Width: Integer;
    procedure Set_Width(Width: Integer);
    function Get_WindowState: OlWindowState;
    procedure Set_WindowState(WindowState: OlWindowState);
    function Get_Views: IDispatch;
    function Get_HTMLDocument: IDispatch;
  public
    constructor Create(AOwner: TComponent); override;
    destructor  Destroy; override;
    procedure Connect; override;
    procedure ConnectTo(svrIntf: _Explorer);
    procedure Disconnect; override;
    procedure Close;
    procedure Display;
    procedure Activate;
    function IsPaneVisible(Pane: OlPane): WordBool;
    procedure ShowPane(Pane: OlPane; Visible: WordBool);
    property DefaultInterface: _Explorer read GetDefaultInterface;
    property Application: _Application read Get_Application;
    property Class_: OlObjectClass read Get_Class_;
    property Session: _NameSpace read Get_Session;
    property Parent: IDispatch read Get_Parent;
    property CommandBars: CommandBars read Get_CommandBars;
    property CurrentFolder: MAPIFolder read Get_CurrentFolder write _Set_CurrentFolder;
    property Caption: WideString read Get_Caption;
    property CurrentView: OleVariant read Get_CurrentView write Set_CurrentView;
    property Panes: Panes read Get_Panes;
    property Selection: Selection read Get_Selection;
    property Views: IDispatch read Get_Views;
    property HTMLDocument: IDispatch read Get_HTMLDocument;
    property Height: Integer read Get_Height write Set_Height;
    property Left: Integer read Get_Left write Set_Left;
    property Top: Integer read Get_Top write Set_Top;
    property Width: Integer read Get_Width write Set_Width;
    property WindowState: OlWindowState read Get_WindowState write Set_WindowState;
  published
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
    property Server: TExplorerProperties read GetServerProperties;
{$ENDIF}
    property OnActivate: TNotifyEvent read FOnActivate write FOnActivate;
    property OnFolderSwitch: TNotifyEvent read FOnFolderSwitch write FOnFolderSwitch;
    property OnBeforeFolderSwitch: TExplorerBeforeFolderSwitch read FOnBeforeFolderSwitch write FOnBeforeFolderSwitch;
    property OnViewSwitch: TNotifyEvent read FOnViewSwitch write FOnViewSwitch;
    property OnBeforeViewSwitch: TExplorerBeforeViewSwitch read FOnBeforeViewSwitch write FOnBeforeViewSwitch;
    property OnDeactivate: TNotifyEvent read FOnDeactivate write FOnDeactivate;
    property OnSelectionChange: TNotifyEvent read FOnSelectionChange write FOnSelectionChange;
    property OnClose: TNotifyEvent read FOnClose write FOnClose;
    property OnBeforeMaximize: TExplorerBeforeMaximize read FOnBeforeMaximize write FOnBeforeMaximize;
    property OnBeforeMinimize: TExplorerBeforeMinimize read FOnBeforeMinimize write FOnBeforeMinimize;
    property OnBeforeMove: TExplorerBeforeMove read FOnBeforeMove write FOnBeforeMove;
    property OnBeforeSize: TExplorerBeforeSize read FOnBeforeSize write FOnBeforeSize;
    property OnBeforeItemCopy: TExplorerBeforeItemCopy read FOnBeforeItemCopy write FOnBeforeItemCopy;
    property OnBeforeItemCut: TExplorerBeforeItemCut read FOnBeforeItemCut write FOnBeforeItemCut;
    property OnBeforeItemPaste: TExplorerBeforeItemPaste read FOnBeforeItemPaste write FOnBeforeItemPaste;
  end;

{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
// *********************************************************************//
// OLE Server Properties Proxy Class
// Server Object    : TExplorer
// (This object is used by the IDE's Property Inspector to allow editing
//  of the properties of this server)
// *********************************************************************//
 TExplorerProperties = class(TPersistent)
  private
    FServer:    TExplorer;
    function    GetDefaultInterface: _Explorer;
    constructor Create(AServer: TExplorer);
  protected
    function Get_Application: _Application;
    function Get_Class_: OlObjectClass;
    function Get_Session: _NameSpace;
    function Get_Parent: IDispatch;
    function Get_CommandBars: CommandBars;
    function Get_CurrentFolder: MAPIFolder;
    procedure _Set_CurrentFolder(const CurrentFolder: MAPIFolder);
    function Get_Caption: WideString;
    function Get_CurrentView: OleVariant;
    procedure Set_CurrentView(CurrentView: OleVariant);
    function Get_Height: Integer;
    procedure Set_Height(Height: Integer);
    function Get_Left: Integer;
    procedure Set_Left(Left: Integer);
    function Get_Panes: Panes;
    function Get_Selection: Selection;
    function Get_Top: Integer;
    procedure Set_Top(Top: Integer);
    function Get_Width: Integer;
    procedure Set_Width(Width: Integer);
    function Get_WindowState: OlWindowState;
    procedure Set_WindowState(WindowState: OlWindowState);
    function Get_Views: IDispatch;
    function Get_HTMLDocument: IDispatch;
  public
    property DefaultInterface: _Explorer read GetDefaultInterface;
  published
    property Height: Integer read Get_Height write Set_Height;
    property Left: Integer read Get_Left write Set_Left;
    property Top: Integer read Get_Top write Set_Top;
    property Width: Integer read Get_Width write Set_Width;
    property WindowState: OlWindowState read Get_WindowState write Set_WindowState;
  end;
{$ENDIF}


// *********************************************************************//
// The Class CoInspector provides a Create and CreateRemote method to          
// create instances of the default interface _Inspector exposed by              
// the CoClass Inspector. The functions are intended to be used by             
// clients wishing to automate the CoClass objects exposed by the         
// server of this typelibrary.                                            
// *********************************************************************//
  CoInspector = class
    class function Create: _Inspector;
    class function CreateRemote(const MachineName: string): _Inspector;
  end;

  TInspectorBeforeMaximize = procedure(ASender: TObject; var Cancel: WordBool) of object;
  TInspectorBeforeMinimize = procedure(ASender: TObject; var Cancel: WordBool) of object;
  TInspectorBeforeMove = procedure(ASender: TObject; var Cancel: WordBool) of object;
  TInspectorBeforeSize = procedure(ASender: TObject; var Cancel: WordBool) of object;


// *********************************************************************//
// OLE Server Proxy class declaration
// Server Object    : TInspector
// Help String      : 
// Default Interface: _Inspector
// Def. Intf. DISP? : No
// Event   Interface: InspectorEvents_10
// TypeFlags        : (0)
// *********************************************************************//
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  TInspectorProperties= class;
{$ENDIF}
  TInspector = class(TOleServer)
  private
    FOnActivate: TNotifyEvent;
    FOnDeactivate: TNotifyEvent;
    FOnClose: TNotifyEvent;
    FOnBeforeMaximize: TInspectorBeforeMaximize;
    FOnBeforeMinimize: TInspectorBeforeMinimize;
    FOnBeforeMove: TInspectorBeforeMove;
    FOnBeforeSize: TInspectorBeforeSize;
    FIntf:        _Inspector;
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
    FProps:       TInspectorProperties;
    function      GetServerProperties: TInspectorProperties;
{$ENDIF}
    function      GetDefaultInterface: _Inspector;
  protected
    procedure InitServerData; override;
    procedure InvokeEvent(DispID: TDispID; var Params: TVariantArray); override;
    function Get_Application: _Application;
    function Get_Class_: OlObjectClass;
    function Get_Session: _NameSpace;
    function Get_Parent: IDispatch;
    function Get_CommandBars: CommandBars;
    function Get_CurrentItem: IDispatch;
    function Get_EditorType: OlEditorType;
    function Get_ModifiedFormPages: IDispatch;
    function Get_HTMLEditor: IDispatch;
    function Get_WordEditor: IDispatch;
    function Get_Caption: WideString;
    function Get_Height: Integer;
    procedure Set_Height(Height: Integer);
    function Get_Left: Integer;
    procedure Set_Left(Left: Integer);
    function Get_Top: Integer;
    procedure Set_Top(Top: Integer);
    function Get_Width: Integer;
    procedure Set_Width(Width: Integer);
    function Get_WindowState: OlWindowState;
    procedure Set_WindowState(WindowState: OlWindowState);
  public
    constructor Create(AOwner: TComponent); override;
    destructor  Destroy; override;
    procedure Connect; override;
    procedure ConnectTo(svrIntf: _Inspector);
    procedure Disconnect; override;
    procedure Close(SaveMode: OlInspectorClose);
    procedure Display; overload;
    procedure Display(Modal: OleVariant); overload;
    procedure HideFormPage(const PageName: WideString);
    function IsWordMail: WordBool;
    procedure SetCurrentFormPage(const PageName: WideString);
    procedure ShowFormPage(const PageName: WideString);
    procedure Activate;
    property DefaultInterface: _Inspector read GetDefaultInterface;
    property Application: _Application read Get_Application;
    property Class_: OlObjectClass read Get_Class_;
    property Session: _NameSpace read Get_Session;
    property Parent: IDispatch read Get_Parent;
    property CommandBars: CommandBars read Get_CommandBars;
    property CurrentItem: IDispatch read Get_CurrentItem;
    property EditorType: OlEditorType read Get_EditorType;
    property ModifiedFormPages: IDispatch read Get_ModifiedFormPages;
    property HTMLEditor: IDispatch read Get_HTMLEditor;
    property WordEditor: IDispatch read Get_WordEditor;
    property Caption: WideString read Get_Caption;
    property Height: Integer read Get_Height write Set_Height;
    property Left: Integer read Get_Left write Set_Left;
    property Top: Integer read Get_Top write Set_Top;
    property Width: Integer read Get_Width write Set_Width;
    property WindowState: OlWindowState read Get_WindowState write Set_WindowState;
  published
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
    property Server: TInspectorProperties read GetServerProperties;
{$ENDIF}
    property OnActivate: TNotifyEvent read FOnActivate write FOnActivate;
    property OnDeactivate: TNotifyEvent read FOnDeactivate write FOnDeactivate;
    property OnClose: TNotifyEvent read FOnClose write FOnClose;
    property OnBeforeMaximize: TInspectorBeforeMaximize read FOnBeforeMaximize write FOnBeforeMaximize;
    property OnBeforeMinimize: TInspectorBeforeMinimize read FOnBeforeMinimize write FOnBeforeMinimize;
    property OnBeforeMove: TInspectorBeforeMove read FOnBeforeMove write FOnBeforeMove;
    property OnBeforeSize: TInspectorBeforeSize read FOnBeforeSize write FOnBeforeSize;
  end;

{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
// *********************************************************************//
// OLE Server Properties Proxy Class
// Server Object    : TInspector
// (This object is used by the IDE's Property Inspector to allow editing
//  of the properties of this server)
// *********************************************************************//
 TInspectorProperties = class(TPersistent)
  private
    FServer:    TInspector;
    function    GetDefaultInterface: _Inspector;
    constructor Create(AServer: TInspector);
  protected
    function Get_Application: _Application;
    function Get_Class_: OlObjectClass;
    function Get_Session: _NameSpace;
    function Get_Parent: IDispatch;
    function Get_CommandBars: CommandBars;
    function Get_CurrentItem: IDispatch;
    function Get_EditorType: OlEditorType;
    function Get_ModifiedFormPages: IDispatch;
    function Get_HTMLEditor: IDispatch;
    function Get_WordEditor: IDispatch;
    function Get_Caption: WideString;
    function Get_Height: Integer;
    procedure Set_Height(Height: Integer);
    function Get_Left: Integer;
    procedure Set_Left(Left: Integer);
    function Get_Top: Integer;
    procedure Set_Top(Top: Integer);
    function Get_Width: Integer;
    procedure Set_Width(Width: Integer);
    function Get_WindowState: OlWindowState;
    procedure Set_WindowState(WindowState: OlWindowState);
  public
    property DefaultInterface: _Inspector read GetDefaultInterface;
  published
    property Height: Integer read Get_Height write Set_Height;
    property Left: Integer read Get_Left write Set_Left;
    property Top: Integer read Get_Top write Set_Top;
    property Width: Integer read Get_Width write Set_Width;
    property WindowState: OlWindowState read Get_WindowState write Set_WindowState;
  end;
{$ENDIF}


// *********************************************************************//
// The Class CoMailItem provides a Create and CreateRemote method to          
// create instances of the default interface _MailItem exposed by              
// the CoClass MailItem. The functions are intended to be used by             
// clients wishing to automate the CoClass objects exposed by the         
// server of this typelibrary.                                            
// *********************************************************************//
  CoMailItem = class
    class function Create: _MailItem;
    class function CreateRemote(const MachineName: string): _MailItem;
  end;

  TMailItemOpen = procedure(ASender: TObject; var Cancel: WordBool) of object;
  TMailItemCustomAction = procedure(ASender: TObject; const Action: IDispatch; 
                                                      const Response: IDispatch; 
                                                      var Cancel: WordBool) of object;
  TMailItemCustomPropertyChange = procedure(ASender: TObject; const Name: WideString) of object;
  TMailItemForward = procedure(ASender: TObject; const Forward: IDispatch; var Cancel: WordBool) of object;
  TMailItemClose = procedure(ASender: TObject; var Cancel: WordBool) of object;
  TMailItemPropertyChange = procedure(ASender: TObject; const Name: WideString) of object;
  TMailItemReply = procedure(ASender: TObject; const Response: IDispatch; var Cancel: WordBool) of object;
  TMailItemReplyAll = procedure(ASender: TObject; const Response: IDispatch; var Cancel: WordBool) of object;
  TMailItemSend = procedure(ASender: TObject; var Cancel: WordBool) of object;
  TMailItemWrite = procedure(ASender: TObject; var Cancel: WordBool) of object;
  TMailItemBeforeCheckNames = procedure(ASender: TObject; var Cancel: WordBool) of object;
  TMailItemAttachmentAdd = procedure(ASender: TObject; const Attachment: Attachment) of object;
  TMailItemAttachmentRead = procedure(ASender: TObject; const Attachment: Attachment) of object;
  TMailItemBeforeAttachmentSave = procedure(ASender: TObject; const Attachment: Attachment; 
                                                              var Cancel: WordBool) of object;
  TMailItemBeforeDelete = procedure(ASender: TObject; const Item: IDispatch; var Cancel: WordBool) of object;


// *********************************************************************//
// OLE Server Proxy class declaration
// Server Object    : TMailItem
// Help String      : 
// Default Interface: _MailItem
// Def. Intf. DISP? : No
// Event   Interface: ItemEvents_10
// TypeFlags        : (0)
// *********************************************************************//
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  TMailItemProperties= class;
{$ENDIF}
  TMailItem = class(TOleServer)
  private
    FOnOpen: TMailItemOpen;
    FOnCustomAction: TMailItemCustomAction;
    FOnCustomPropertyChange: TMailItemCustomPropertyChange;
    FOnForward: TMailItemForward;
    FOnClose: TMailItemClose;
    FOnPropertyChange: TMailItemPropertyChange;
    FOnRead: TNotifyEvent;
    FOnReply: TMailItemReply;
    FOnReplyAll: TMailItemReplyAll;
    FOnSend: TMailItemSend;
    FOnWrite: TMailItemWrite;
    FOnBeforeCheckNames: TMailItemBeforeCheckNames;
    FOnAttachmentAdd: TMailItemAttachmentAdd;
    FOnAttachmentRead: TMailItemAttachmentRead;
    FOnBeforeAttachmentSave: TMailItemBeforeAttachmentSave;
    FOnBeforeDelete: TMailItemBeforeDelete;
    FIntf:        _MailItem;
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
    FProps:       TMailItemProperties;
    function      GetServerProperties: TMailItemProperties;
{$ENDIF}
    function      GetDefaultInterface: _MailItem;
  protected
    procedure InitServerData; override;
    procedure InvokeEvent(DispID: TDispID; var Params: TVariantArray); override;
    function Get_Application: _Application;
    function Get_Class_: OlObjectClass;
    function Get_Session: _NameSpace;
    function Get_Parent: IDispatch;
    function Get_Actions: Actions;
    function Get_Attachments: Attachments;
    function Get_BillingInformation: WideString;
    procedure Set_BillingInformation(const BillingInformation: WideString);
    function Get_Body: WideString;
    procedure Set_Body(const Body: WideString);
    function Get_Categories: WideString;
    procedure Set_Categories(const Categories: WideString);
    function Get_Companies: WideString;
    procedure Set_Companies(const Companies: WideString);
    function Get_ConversationIndex: WideString;
    function Get_ConversationTopic: WideString;
    function Get_CreationTime: TDateTime;
    function Get_EntryID: WideString;
    function Get_FormDescription: FormDescription;
    function Get_GetInspector: _Inspector;
    function Get_Importance: OlImportance;
    procedure Set_Importance(Importance: OlImportance);
    function Get_LastModificationTime: TDateTime;
    function Get_MAPIOBJECT: IUnknown;
    function Get_MessageClass: WideString;
    procedure Set_MessageClass(const MessageClass: WideString);
    function Get_Mileage: WideString;
    procedure Set_Mileage(const Mileage: WideString);
    function Get_NoAging: WordBool;
    procedure Set_NoAging(NoAging: WordBool);
    function Get_OutlookInternalVersion: Integer;
    function Get_OutlookVersion: WideString;
    function Get_Saved: WordBool;
    function Get_Sensitivity: OlSensitivity;
    procedure Set_Sensitivity(Sensitivity: OlSensitivity);
    function Get_Size: Integer;
    function Get_Subject: WideString;
    procedure Set_Subject(const Subject: WideString);
    function Get_UnRead: WordBool;
    procedure Set_UnRead(UnRead: WordBool);
    function Get_UserProperties: UserProperties;
    function Get_AlternateRecipientAllowed: WordBool;
    procedure Set_AlternateRecipientAllowed(AlternateRecipientAllowed: WordBool);
    function Get_AutoForwarded: WordBool;
    procedure Set_AutoForwarded(AutoForwarded: WordBool);
    function Get_BCC: WideString;
    procedure Set_BCC(const BCC: WideString);
    function Get_CC: WideString;
    procedure Set_CC(const CC: WideString);
    function Get_DeferredDeliveryTime: TDateTime;
    procedure Set_DeferredDeliveryTime(DeferredDeliveryTime: TDateTime);
    function Get_DeleteAfterSubmit: WordBool;
    procedure Set_DeleteAfterSubmit(DeleteAfterSubmit: WordBool);
    function Get_ExpiryTime: TDateTime;
    procedure Set_ExpiryTime(ExpiryTime: TDateTime);
    function Get_FlagDueBy: TDateTime;
    procedure Set_FlagDueBy(FlagDueBy: TDateTime);
    function Get_FlagRequest: WideString;
    procedure Set_FlagRequest(const FlagRequest: WideString);
    function Get_FlagStatus: OlFlagStatus;
    procedure Set_FlagStatus(FlagStatus: OlFlagStatus);
    function Get_HTMLBody: WideString;
    procedure Set_HTMLBody(const HTMLBody: WideString);
    function Get_OriginatorDeliveryReportRequested: WordBool;
    procedure Set_OriginatorDeliveryReportRequested(OriginatorDeliveryReportRequested: WordBool);
    function Get_ReadReceiptRequested: WordBool;
    procedure Set_ReadReceiptRequested(ReadReceiptRequested: WordBool);
    function Get_ReceivedByEntryID: WideString;
    function Get_ReceivedByName: WideString;
    function Get_ReceivedOnBehalfOfEntryID: WideString;
    function Get_ReceivedOnBehalfOfName: WideString;
    function Get_ReceivedTime: TDateTime;
    function Get_RecipientReassignmentProhibited: WordBool;
    procedure Set_RecipientReassignmentProhibited(RecipientReassignmentProhibited: WordBool);
    function Get_Recipients: Recipients;
    function Get_ReminderOverrideDefault: WordBool;
    procedure Set_ReminderOverrideDefault(ReminderOverrideDefault: WordBool);
    function Get_ReminderPlaySound: WordBool;
    procedure Set_ReminderPlaySound(ReminderPlaySound: WordBool);
    function Get_ReminderSet: WordBool;
    procedure Set_ReminderSet(ReminderSet: WordBool);
    function Get_ReminderSoundFile: WideString;
    procedure Set_ReminderSoundFile(const ReminderSoundFile: WideString);
    function Get_ReminderTime: TDateTime;
    procedure Set_ReminderTime(ReminderTime: TDateTime);
    function Get_RemoteStatus: OlRemoteStatus;
    procedure Set_RemoteStatus(RemoteStatus: OlRemoteStatus);
    function Get_ReplyRecipientNames: WideString;
    function Get_ReplyRecipients: Recipients;
    function Get_SaveSentMessageFolder: MAPIFolder;
    procedure _Set_SaveSentMessageFolder(const SaveSentMessageFolder: MAPIFolder);
    function Get_SenderName: WideString;
    function Get_Sent: WordBool;
    function Get_SentOn: TDateTime;
    function Get_SentOnBehalfOfName: WideString;
    procedure Set_SentOnBehalfOfName(const SentOnBehalfOfName: WideString);
    function Get_Submitted: WordBool;
    function Get_To_: WideString;
    procedure Set_To_(const To_: WideString);
    function Get_VotingOptions: WideString;
    procedure Set_VotingOptions(const VotingOptions: WideString);
    function Get_VotingResponse: WideString;
    procedure Set_VotingResponse(const VotingResponse: WideString);
    function Get_Links: Links;
    function Get_ItemProperties: ItemProperties;
    function Get_BodyFormat: OlBodyFormat;
    procedure Set_BodyFormat(BodyFormat: OlBodyFormat);
    function Get_DownloadState: OlDownloadState;
    function Get_InternetCodepage: Integer;
    procedure Set_InternetCodepage(InternetCodepage: Integer);
    function Get_MarkForDownload: OlRemoteStatus;
    procedure Set_MarkForDownload(MarkForDownload: OlRemoteStatus);
    function Get_IsConflict: WordBool;
  public
    constructor Create(AOwner: TComponent); override;
    destructor  Destroy; override;
    procedure Connect; override;
    procedure ConnectTo(svrIntf: _MailItem);
    procedure Disconnect; override;
    procedure Close(SaveMode: OlInspectorClose);
    function Copy: IDispatch;
    procedure Delete;
    procedure Display; overload;
    procedure Display(Modal: OleVariant); overload;
    function Move(const DestFldr: MAPIFolder): IDispatch;
    procedure PrintOut;
    procedure Save;
    procedure SaveAs(const Path: WideString); overload;
    procedure SaveAs(const Path: WideString; Type_: OleVariant); overload;
    procedure ClearConversationIndex;
    function Forward: MailItem;
    function Reply: MailItem;
    function ReplyAll: MailItem;
    procedure Send;
    procedure ShowCategoriesDialog;
    property DefaultInterface: _MailItem read GetDefaultInterface;
    property Application: _Application read Get_Application;
    property Class_: OlObjectClass read Get_Class_;
    property Session: _NameSpace read Get_Session;
    property Parent: IDispatch read Get_Parent;
    property Actions: Actions read Get_Actions;
    property Attachments: Attachments read Get_Attachments;
    property ConversationIndex: WideString read Get_ConversationIndex;
    property ConversationTopic: WideString read Get_ConversationTopic;
    property CreationTime: TDateTime read Get_CreationTime;
    property EntryID: WideString read Get_EntryID;
    property FormDescription: FormDescription read Get_FormDescription;
    property GetInspector: _Inspector read Get_GetInspector;
    property LastModificationTime: TDateTime read Get_LastModificationTime;
    property MAPIOBJECT: IUnknown read Get_MAPIOBJECT;
    property OutlookInternalVersion: Integer read Get_OutlookInternalVersion;
    property OutlookVersion: WideString read Get_OutlookVersion;
    property Saved: WordBool read Get_Saved;
    property Size: Integer read Get_Size;
    property UserProperties: UserProperties read Get_UserProperties;
    property ReceivedByEntryID: WideString read Get_ReceivedByEntryID;
    property ReceivedByName: WideString read Get_ReceivedByName;
    property ReceivedOnBehalfOfEntryID: WideString read Get_ReceivedOnBehalfOfEntryID;
    property ReceivedOnBehalfOfName: WideString read Get_ReceivedOnBehalfOfName;
    property ReceivedTime: TDateTime read Get_ReceivedTime;
    property Recipients: Recipients read Get_Recipients;
    property ReplyRecipientNames: WideString read Get_ReplyRecipientNames;
    property ReplyRecipients: Recipients read Get_ReplyRecipients;
    property SaveSentMessageFolder: MAPIFolder read Get_SaveSentMessageFolder write _Set_SaveSentMessageFolder;
    property SenderName: WideString read Get_SenderName;
    property Sent: WordBool read Get_Sent;
    property SentOn: TDateTime read Get_SentOn;
    property Submitted: WordBool read Get_Submitted;
    property Links: Links read Get_Links;
    property ItemProperties: ItemProperties read Get_ItemProperties;
    property DownloadState: OlDownloadState read Get_DownloadState;
    property IsConflict: WordBool read Get_IsConflict;
    property BillingInformation: WideString read Get_BillingInformation write Set_BillingInformation;
    property Body: WideString read Get_Body write Set_Body;
    property Categories: WideString read Get_Categories write Set_Categories;
    property Companies: WideString read Get_Companies write Set_Companies;
    property Importance: OlImportance read Get_Importance write Set_Importance;
    property MessageClass: WideString read Get_MessageClass write Set_MessageClass;
    property Mileage: WideString read Get_Mileage write Set_Mileage;
    property NoAging: WordBool read Get_NoAging write Set_NoAging;
    property Sensitivity: OlSensitivity read Get_Sensitivity write Set_Sensitivity;
    property Subject: WideString read Get_Subject write Set_Subject;
    property UnRead: WordBool read Get_UnRead write Set_UnRead;
    property AlternateRecipientAllowed: WordBool read Get_AlternateRecipientAllowed write Set_AlternateRecipientAllowed;
    property AutoForwarded: WordBool read Get_AutoForwarded write Set_AutoForwarded;
    property BCC: WideString read Get_BCC write Set_BCC;
    property CC: WideString read Get_CC write Set_CC;
    property DeferredDeliveryTime: TDateTime read Get_DeferredDeliveryTime write Set_DeferredDeliveryTime;
    property DeleteAfterSubmit: WordBool read Get_DeleteAfterSubmit write Set_DeleteAfterSubmit;
    property ExpiryTime: TDateTime read Get_ExpiryTime write Set_ExpiryTime;
    property FlagDueBy: TDateTime read Get_FlagDueBy write Set_FlagDueBy;
    property FlagRequest: WideString read Get_FlagRequest write Set_FlagRequest;
    property FlagStatus: OlFlagStatus read Get_FlagStatus write Set_FlagStatus;
    property HTMLBody: WideString read Get_HTMLBody write Set_HTMLBody;
    property OriginatorDeliveryReportRequested: WordBool read Get_OriginatorDeliveryReportRequested write Set_OriginatorDeliveryReportRequested;
    property ReadReceiptRequested: WordBool read Get_ReadReceiptRequested write Set_ReadReceiptRequested;
    property RecipientReassignmentProhibited: WordBool read Get_RecipientReassignmentProhibited write Set_RecipientReassignmentProhibited;
    property ReminderOverrideDefault: WordBool read Get_ReminderOverrideDefault write Set_ReminderOverrideDefault;
    property ReminderPlaySound: WordBool read Get_ReminderPlaySound write Set_ReminderPlaySound;
    property ReminderSet: WordBool read Get_ReminderSet write Set_ReminderSet;
    property ReminderSoundFile: WideString read Get_ReminderSoundFile write Set_ReminderSoundFile;
    property ReminderTime: TDateTime read Get_ReminderTime write Set_ReminderTime;
    property RemoteStatus: OlRemoteStatus read Get_RemoteStatus write Set_RemoteStatus;
    property SentOnBehalfOfName: WideString read Get_SentOnBehalfOfName write Set_SentOnBehalfOfName;
    property To_: WideString read Get_To_ write Set_To_;
    property VotingOptions: WideString read Get_VotingOptions write Set_VotingOptions;
    property VotingResponse: WideString read Get_VotingResponse write Set_VotingResponse;
    property BodyFormat: OlBodyFormat read Get_BodyFormat write Set_BodyFormat;
    property InternetCodepage: Integer read Get_InternetCodepage write Set_InternetCodepage;
    property MarkForDownload: OlRemoteStatus read Get_MarkForDownload write Set_MarkForDownload;
  published
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
    property Server: TMailItemProperties read GetServerProperties;
{$ENDIF}
    property OnOpen: TMailItemOpen read FOnOpen write FOnOpen;
    property OnCustomAction: TMailItemCustomAction read FOnCustomAction write FOnCustomAction;
    property OnCustomPropertyChange: TMailItemCustomPropertyChange read FOnCustomPropertyChange write FOnCustomPropertyChange;
    property OnForward: TMailItemForward read FOnForward write FOnForward;
    property OnClose: TMailItemClose read FOnClose write FOnClose;
    property OnPropertyChange: TMailItemPropertyChange read FOnPropertyChange write FOnPropertyChange;
    property OnRead: TNotifyEvent read FOnRead write FOnRead;
    property OnReply: TMailItemReply read FOnReply write FOnReply;
    property OnReplyAll: TMailItemReplyAll read FOnReplyAll write FOnReplyAll;
    property OnSend: TMailItemSend read FOnSend write FOnSend;
    property OnWrite: TMailItemWrite read FOnWrite write FOnWrite;
    property OnBeforeCheckNames: TMailItemBeforeCheckNames read FOnBeforeCheckNames write FOnBeforeCheckNames;
    property OnAttachmentAdd: TMailItemAttachmentAdd read FOnAttachmentAdd write FOnAttachmentAdd;
    property OnAttachmentRead: TMailItemAttachmentRead read FOnAttachmentRead write FOnAttachmentRead;
    property OnBeforeAttachmentSave: TMailItemBeforeAttachmentSave read FOnBeforeAttachmentSave write FOnBeforeAttachmentSave;
    property OnBeforeDelete: TMailItemBeforeDelete read FOnBeforeDelete write FOnBeforeDelete;
  end;

{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
// *********************************************************************//
// OLE Server Properties Proxy Class
// Server Object    : TMailItem
// (This object is used by the IDE's Property Inspector to allow editing
//  of the properties of this server)
// *********************************************************************//
 TMailItemProperties = class(TPersistent)
  private
    FServer:    TMailItem;
    function    GetDefaultInterface: _MailItem;
    constructor Create(AServer: TMailItem);
  protected
    function Get_Application: _Application;
    function Get_Class_: OlObjectClass;
    function Get_Session: _NameSpace;
    function Get_Parent: IDispatch;
    function Get_Actions: Actions;
    function Get_Attachments: Attachments;
    function Get_BillingInformation: WideString;
    procedure Set_BillingInformation(const BillingInformation: WideString);
    function Get_Body: WideString;
    procedure Set_Body(const Body: WideString);
    function Get_Categories: WideString;
    procedure Set_Categories(const Categories: WideString);
    function Get_Companies: WideString;
    procedure Set_Companies(const Companies: WideString);
    function Get_ConversationIndex: WideString;
    function Get_ConversationTopic: WideString;
    function Get_CreationTime: TDateTime;
    function Get_EntryID: WideString;
    function Get_FormDescription: FormDescription;
    function Get_GetInspector: _Inspector;
    function Get_Importance: OlImportance;
    procedure Set_Importance(Importance: OlImportance);
    function Get_LastModificationTime: TDateTime;
    function Get_MAPIOBJECT: IUnknown;
    function Get_MessageClass: WideString;
    procedure Set_MessageClass(const MessageClass: WideString);
    function Get_Mileage: WideString;
    procedure Set_Mileage(const Mileage: WideString);
    function Get_NoAging: WordBool;
    procedure Set_NoAging(NoAging: WordBool);
    function Get_OutlookInternalVersion: Integer;
    function Get_OutlookVersion: WideString;
    function Get_Saved: WordBool;
    function Get_Sensitivity: OlSensitivity;
    procedure Set_Sensitivity(Sensitivity: OlSensitivity);
    function Get_Size: Integer;
    function Get_Subject: WideString;
    procedure Set_Subject(const Subject: WideString);
    function Get_UnRead: WordBool;
    procedure Set_UnRead(UnRead: WordBool);
    function Get_UserProperties: UserProperties;
    function Get_AlternateRecipientAllowed: WordBool;
    procedure Set_AlternateRecipientAllowed(AlternateRecipientAllowed: WordBool);
    function Get_AutoForwarded: WordBool;
    procedure Set_AutoForwarded(AutoForwarded: WordBool);
    function Get_BCC: WideString;
    procedure Set_BCC(const BCC: WideString);
    function Get_CC: WideString;
    procedure Set_CC(const CC: WideString);
    function Get_DeferredDeliveryTime: TDateTime;
    procedure Set_DeferredDeliveryTime(DeferredDeliveryTime: TDateTime);
    function Get_DeleteAfterSubmit: WordBool;
    procedure Set_DeleteAfterSubmit(DeleteAfterSubmit: WordBool);
    function Get_ExpiryTime: TDateTime;
    procedure Set_ExpiryTime(ExpiryTime: TDateTime);
    function Get_FlagDueBy: TDateTime;
    procedure Set_FlagDueBy(FlagDueBy: TDateTime);
    function Get_FlagRequest: WideString;
    procedure Set_FlagRequest(const FlagRequest: WideString);
    function Get_FlagStatus: OlFlagStatus;
    procedure Set_FlagStatus(FlagStatus: OlFlagStatus);
    function Get_HTMLBody: WideString;
    procedure Set_HTMLBody(const HTMLBody: WideString);
    function Get_OriginatorDeliveryReportRequested: WordBool;
    procedure Set_OriginatorDeliveryReportRequested(OriginatorDeliveryReportRequested: WordBool);
    function Get_ReadReceiptRequested: WordBool;
    procedure Set_ReadReceiptRequested(ReadReceiptRequested: WordBool);
    function Get_ReceivedByEntryID: WideString;
    function Get_ReceivedByName: WideString;
    function Get_ReceivedOnBehalfOfEntryID: WideString;
    function Get_ReceivedOnBehalfOfName: WideString;
    function Get_ReceivedTime: TDateTime;
    function Get_RecipientReassignmentProhibited: WordBool;
    procedure Set_RecipientReassignmentProhibited(RecipientReassignmentProhibited: WordBool);
    function Get_Recipients: Recipients;
    function Get_ReminderOverrideDefault: WordBool;
    procedure Set_ReminderOverrideDefault(ReminderOverrideDefault: WordBool);
    function Get_ReminderPlaySound: WordBool;
    procedure Set_ReminderPlaySound(ReminderPlaySound: WordBool);
    function Get_ReminderSet: WordBool;
    procedure Set_ReminderSet(ReminderSet: WordBool);
    function Get_ReminderSoundFile: WideString;
    procedure Set_ReminderSoundFile(const ReminderSoundFile: WideString);
    function Get_ReminderTime: TDateTime;
    procedure Set_ReminderTime(ReminderTime: TDateTime);
    function Get_RemoteStatus: OlRemoteStatus;
    procedure Set_RemoteStatus(RemoteStatus: OlRemoteStatus);
    function Get_ReplyRecipientNames: WideString;
    function Get_ReplyRecipients: Recipients;
    function Get_SaveSentMessageFolder: MAPIFolder;
    procedure _Set_SaveSentMessageFolder(const SaveSentMessageFolder: MAPIFolder);
    function Get_SenderName: WideString;
    function Get_Sent: WordBool;
    function Get_SentOn: TDateTime;
    function Get_SentOnBehalfOfName: WideString;
    procedure Set_SentOnBehalfOfName(const SentOnBehalfOfName: WideString);
    function Get_Submitted: WordBool;
    function Get_To_: WideString;
    procedure Set_To_(const To_: WideString);
    function Get_VotingOptions: WideString;
    procedure Set_VotingOptions(const VotingOptions: WideString);
    function Get_VotingResponse: WideString;
    procedure Set_VotingResponse(const VotingResponse: WideString);
    function Get_Links: Links;
    function Get_ItemProperties: ItemProperties;
    function Get_BodyFormat: OlBodyFormat;
    procedure Set_BodyFormat(BodyFormat: OlBodyFormat);
    function Get_DownloadState: OlDownloadState;
    function Get_InternetCodepage: Integer;
    procedure Set_InternetCodepage(InternetCodepage: Integer);
    function Get_MarkForDownload: OlRemoteStatus;
    procedure Set_MarkForDownload(MarkForDownload: OlRemoteStatus);
    function Get_IsConflict: WordBool;
  public
    property DefaultInterface: _MailItem read GetDefaultInterface;
  published
    property BillingInformation: WideString read Get_BillingInformation write Set_BillingInformation;
    property Body: WideString read Get_Body write Set_Body;
    property Categories: WideString read Get_Categories write Set_Categories;
    property Companies: WideString read Get_Companies write Set_Companies;
    property Importance: OlImportance read Get_Importance write Set_Importance;
    property MessageClass: WideString read Get_MessageClass write Set_MessageClass;
    property Mileage: WideString read Get_Mileage write Set_Mileage;
    property NoAging: WordBool read Get_NoAging write Set_NoAging;
    property Sensitivity: OlSensitivity read Get_Sensitivity write Set_Sensitivity;
    property Subject: WideString read Get_Subject write Set_Subject;
    property UnRead: WordBool read Get_UnRead write Set_UnRead;
    property AlternateRecipientAllowed: WordBool read Get_AlternateRecipientAllowed write Set_AlternateRecipientAllowed;
    property AutoForwarded: WordBool read Get_AutoForwarded write Set_AutoForwarded;
    property BCC: WideString read Get_BCC write Set_BCC;
    property CC: WideString read Get_CC write Set_CC;
    property DeferredDeliveryTime: TDateTime read Get_DeferredDeliveryTime write Set_DeferredDeliveryTime;
    property DeleteAfterSubmit: WordBool read Get_DeleteAfterSubmit write Set_DeleteAfterSubmit;
    property ExpiryTime: TDateTime read Get_ExpiryTime write Set_ExpiryTime;
    property FlagDueBy: TDateTime read Get_FlagDueBy write Set_FlagDueBy;
    property FlagRequest: WideString read Get_FlagRequest write Set_FlagRequest;
    property FlagStatus: OlFlagStatus read Get_FlagStatus write Set_FlagStatus;
    property HTMLBody: WideString read Get_HTMLBody write Set_HTMLBody;
    property OriginatorDeliveryReportRequested: WordBool read Get_OriginatorDeliveryReportRequested write Set_OriginatorDeliveryReportRequested;
    property ReadReceiptRequested: WordBool read Get_ReadReceiptRequested write Set_ReadReceiptRequested;
    property RecipientReassignmentProhibited: WordBool read Get_RecipientReassignmentProhibited write Set_RecipientReassignmentProhibited;
    property ReminderOverrideDefault: WordBool read Get_ReminderOverrideDefault write Set_ReminderOverrideDefault;
    property ReminderPlaySound: WordBool read Get_ReminderPlaySound write Set_ReminderPlaySound;
    property ReminderSet: WordBool read Get_ReminderSet write Set_ReminderSet;
    property ReminderSoundFile: WideString read Get_ReminderSoundFile write Set_ReminderSoundFile;
    property ReminderTime: TDateTime read Get_ReminderTime write Set_ReminderTime;
    property RemoteStatus: OlRemoteStatus read Get_RemoteStatus write Set_RemoteStatus;
    property SentOnBehalfOfName: WideString read Get_SentOnBehalfOfName write Set_SentOnBehalfOfName;
    property To_: WideString read Get_To_ write Set_To_;
    property VotingOptions: WideString read Get_VotingOptions write Set_VotingOptions;
    property VotingResponse: WideString read Get_VotingResponse write Set_VotingResponse;
    property BodyFormat: OlBodyFormat read Get_BodyFormat write Set_BodyFormat;
    property InternetCodepage: Integer read Get_InternetCodepage write Set_InternetCodepage;
    property MarkForDownload: OlRemoteStatus read Get_MarkForDownload write Set_MarkForDownload;
  end;
{$ENDIF}


// *********************************************************************//
// The Class CoAppointmentItem provides a Create and CreateRemote method to          
// create instances of the default interface _AppointmentItem exposed by              
// the CoClass AppointmentItem. The functions are intended to be used by             
// clients wishing to automate the CoClass objects exposed by the         
// server of this typelibrary.                                            
// *********************************************************************//
  CoAppointmentItem = class
    class function Create: _AppointmentItem;
    class function CreateRemote(const MachineName: string): _AppointmentItem;
  end;

  TAppointmentItemOpen = procedure(ASender: TObject; var Cancel: WordBool) of object;
  TAppointmentItemCustomAction = procedure(ASender: TObject; const Action: IDispatch; 
                                                             const Response: IDispatch; 
                                                             var Cancel: WordBool) of object;
  TAppointmentItemCustomPropertyChange = procedure(ASender: TObject; const Name: WideString) of object;
  TAppointmentItemForward = procedure(ASender: TObject; const Forward: IDispatch; 
                                                        var Cancel: WordBool) of object;
  TAppointmentItemClose = procedure(ASender: TObject; var Cancel: WordBool) of object;
  TAppointmentItemPropertyChange = procedure(ASender: TObject; const Name: WideString) of object;
  TAppointmentItemReply = procedure(ASender: TObject; const Response: IDispatch; 
                                                      var Cancel: WordBool) of object;
  TAppointmentItemReplyAll = procedure(ASender: TObject; const Response: IDispatch; 
                                                         var Cancel: WordBool) of object;
  TAppointmentItemSend = procedure(ASender: TObject; var Cancel: WordBool) of object;
  TAppointmentItemWrite = procedure(ASender: TObject; var Cancel: WordBool) of object;
  TAppointmentItemBeforeCheckNames = procedure(ASender: TObject; var Cancel: WordBool) of object;
  TAppointmentItemAttachmentAdd = procedure(ASender: TObject; const Attachment: Attachment) of object;
  TAppointmentItemAttachmentRead = procedure(ASender: TObject; const Attachment: Attachment) of object;
  TAppointmentItemBeforeAttachmentSave = procedure(ASender: TObject; const Attachment: Attachment; 
                                                                     var Cancel: WordBool) of object;
  TAppointmentItemBeforeDelete = procedure(ASender: TObject; const Item: IDispatch; 
                                                             var Cancel: WordBool) of object;


// *********************************************************************//
// OLE Server Proxy class declaration
// Server Object    : TAppointmentItem
// Help String      : 
// Default Interface: _AppointmentItem
// Def. Intf. DISP? : No
// Event   Interface: ItemEvents_10
// TypeFlags        : (0)
// *********************************************************************//
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  TAppointmentItemProperties= class;
{$ENDIF}
  TAppointmentItem = class(TOleServer)
  private
    FOnOpen: TAppointmentItemOpen;
    FOnCustomAction: TAppointmentItemCustomAction;
    FOnCustomPropertyChange: TAppointmentItemCustomPropertyChange;
    FOnForward: TAppointmentItemForward;
    FOnClose: TAppointmentItemClose;
    FOnPropertyChange: TAppointmentItemPropertyChange;
    FOnRead: TNotifyEvent;
    FOnReply: TAppointmentItemReply;
    FOnReplyAll: TAppointmentItemReplyAll;
    FOnSend: TAppointmentItemSend;
    FOnWrite: TAppointmentItemWrite;
    FOnBeforeCheckNames: TAppointmentItemBeforeCheckNames;
    FOnAttachmentAdd: TAppointmentItemAttachmentAdd;
    FOnAttachmentRead: TAppointmentItemAttachmentRead;
    FOnBeforeAttachmentSave: TAppointmentItemBeforeAttachmentSave;
    FOnBeforeDelete: TAppointmentItemBeforeDelete;
    FIntf:        _AppointmentItem;
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
    FProps:       TAppointmentItemProperties;
    function      GetServerProperties: TAppointmentItemProperties;
{$ENDIF}
    function      GetDefaultInterface: _AppointmentItem;
  protected
    procedure InitServerData; override;
    procedure InvokeEvent(DispID: TDispID; var Params: TVariantArray); override;
    function Get_Application: _Application;
    function Get_Class_: OlObjectClass;
    function Get_Session: _NameSpace;
    function Get_Parent: IDispatch;
    function Get_Actions: Actions;
    function Get_Attachments: Attachments;
    function Get_BillingInformation: WideString;
    procedure Set_BillingInformation(const BillingInformation: WideString);
    function Get_Body: WideString;
    procedure Set_Body(const Body: WideString);
    function Get_Categories: WideString;
    procedure Set_Categories(const Categories: WideString);
    function Get_Companies: WideString;
    procedure Set_Companies(const Companies: WideString);
    function Get_ConversationIndex: WideString;
    function Get_ConversationTopic: WideString;
    function Get_CreationTime: TDateTime;
    function Get_EntryID: WideString;
    function Get_FormDescription: FormDescription;
    function Get_GetInspector: _Inspector;
    function Get_Importance: OlImportance;
    procedure Set_Importance(Importance: OlImportance);
    function Get_LastModificationTime: TDateTime;
    function Get_MAPIOBJECT: IUnknown;
    function Get_MessageClass: WideString;
    procedure Set_MessageClass(const MessageClass: WideString);
    function Get_Mileage: WideString;
    procedure Set_Mileage(const Mileage: WideString);
    function Get_NoAging: WordBool;
    procedure Set_NoAging(NoAging: WordBool);
    function Get_OutlookInternalVersion: Integer;
    function Get_OutlookVersion: WideString;
    function Get_Saved: WordBool;
    function Get_Sensitivity: OlSensitivity;
    procedure Set_Sensitivity(Sensitivity: OlSensitivity);
    function Get_Size: Integer;
    function Get_Subject: WideString;
    procedure Set_Subject(const Subject: WideString);
    function Get_UnRead: WordBool;
    procedure Set_UnRead(UnRead: WordBool);
    function Get_UserProperties: UserProperties;
    function Get_AllDayEvent: WordBool;
    procedure Set_AllDayEvent(AllDayEvent: WordBool);
    function Get_BusyStatus: OlBusyStatus;
    procedure Set_BusyStatus(BusyStatus: OlBusyStatus);
    function Get_Duration: Integer;
    procedure Set_Duration(Duration: Integer);
    function Get_End_: TDateTime;
    procedure Set_End_(End_: TDateTime);
    function Get_IsOnlineMeeting: WordBool;
    procedure Set_IsOnlineMeeting(IsOnlineMeeting: WordBool);
    function Get_IsRecurring: WordBool;
    function Get_Location: WideString;
    procedure Set_Location(const Location: WideString);
    function Get_MeetingStatus: OlMeetingStatus;
    procedure Set_MeetingStatus(MeetingStatus: OlMeetingStatus);
    function Get_NetMeetingAutoStart: WordBool;
    procedure Set_NetMeetingAutoStart(NetMeetingAutoStart: WordBool);
    function Get_NetMeetingOrganizerAlias: WideString;
    procedure Set_NetMeetingOrganizerAlias(const NetMeetingOrganizerAlias: WideString);
    function Get_NetMeetingServer: WideString;
    procedure Set_NetMeetingServer(const NetMeetingServer: WideString);
    function Get_NetMeetingType: OlNetMeetingType;
    procedure Set_NetMeetingType(NetMeetingType: OlNetMeetingType);
    function Get_OptionalAttendees: WideString;
    procedure Set_OptionalAttendees(const OptionalAttendees: WideString);
    function Get_Organizer: WideString;
    function Get_Recipients: Recipients;
    function Get_RecurrenceState: OlRecurrenceState;
    function Get_ReminderMinutesBeforeStart: Integer;
    procedure Set_ReminderMinutesBeforeStart(ReminderMinutesBeforeStart: Integer);
    function Get_ReminderOverrideDefault: WordBool;
    procedure Set_ReminderOverrideDefault(ReminderOverrideDefault: WordBool);
    function Get_ReminderPlaySound: WordBool;
    procedure Set_ReminderPlaySound(ReminderPlaySound: WordBool);
    function Get_ReminderSet: WordBool;
    procedure Set_ReminderSet(ReminderSet: WordBool);
    function Get_ReminderSoundFile: WideString;
    procedure Set_ReminderSoundFile(const ReminderSoundFile: WideString);
    function Get_ReplyTime: TDateTime;
    procedure Set_ReplyTime(ReplyTime: TDateTime);
    function Get_RequiredAttendees: WideString;
    procedure Set_RequiredAttendees(const RequiredAttendees: WideString);
    function Get_Resources: WideString;
    procedure Set_Resources(const Resources: WideString);
    function Get_ResponseRequested: WordBool;
    procedure Set_ResponseRequested(ResponseRequested: WordBool);
    function Get_ResponseStatus: OlResponseStatus;
    function Get_Start: TDateTime;
    procedure Set_Start(Start: TDateTime);
    function Get_NetMeetingDocPathName: WideString;
    procedure Set_NetMeetingDocPathName(const NetMeetingDocPathName: WideString);
    function Get_NetShowURL: WideString;
    procedure Set_NetShowURL(const NetShowURL: WideString);
    function Get_Links: Links;
    function Get_ConferenceServerAllowExternal: WordBool;
    procedure Set_ConferenceServerAllowExternal(ConferenceServerAllowExternal: WordBool);
    function Get_ConferenceServerPassword: WideString;
    procedure Set_ConferenceServerPassword(const ConferenceServerPassword: WideString);
    function Get_ItemProperties: ItemProperties;
    function Get_DownloadState: OlDownloadState;
    function Get_InternetCodepage: Integer;
    procedure Set_InternetCodepage(InternetCodepage: Integer);
    function Get_MarkForDownload: OlRemoteStatus;
    procedure Set_MarkForDownload(MarkForDownload: OlRemoteStatus);
    function Get_IsConflict: WordBool;
  public
    constructor Create(AOwner: TComponent); override;
    destructor  Destroy; override;
    procedure Connect; override;
    procedure ConnectTo(svrIntf: _AppointmentItem);
    procedure Disconnect; override;
    procedure Close(SaveMode: OlInspectorClose);
    function Copy: IDispatch;
    procedure Delete;
    procedure Display; overload;
    procedure Display(Modal: OleVariant); overload;
    function Move(const DestFldr: MAPIFolder): IDispatch;
    procedure PrintOut;
    procedure Save;
    procedure SaveAs(const Path: WideString); overload;
    procedure SaveAs(const Path: WideString; Type_: OleVariant); overload;
    procedure ClearRecurrencePattern;
    function ForwardAsVcal: MailItem;
    function GetRecurrencePattern: RecurrencePattern;
    function Respond(Response: OlMeetingResponse): MeetingItem; overload;
    function Respond(Response: OlMeetingResponse; fNoUI: OleVariant): MeetingItem; overload;
    function Respond(Response: OlMeetingResponse; fNoUI: OleVariant; 
                     fAdditionalTextDialog: OleVariant): MeetingItem; overload;
    procedure Send;
    procedure ShowCategoriesDialog;
    property DefaultInterface: _AppointmentItem read GetDefaultInterface;
    property Application: _Application read Get_Application;
    property Class_: OlObjectClass read Get_Class_;
    property Session: _NameSpace read Get_Session;
    property Parent: IDispatch read Get_Parent;
    property Actions: Actions read Get_Actions;
    property Attachments: Attachments read Get_Attachments;
    property ConversationIndex: WideString read Get_ConversationIndex;
    property ConversationTopic: WideString read Get_ConversationTopic;
    property CreationTime: TDateTime read Get_CreationTime;
    property EntryID: WideString read Get_EntryID;
    property FormDescription: FormDescription read Get_FormDescription;
    property GetInspector: _Inspector read Get_GetInspector;
    property LastModificationTime: TDateTime read Get_LastModificationTime;
    property MAPIOBJECT: IUnknown read Get_MAPIOBJECT;
    property OutlookInternalVersion: Integer read Get_OutlookInternalVersion;
    property OutlookVersion: WideString read Get_OutlookVersion;
    property Saved: WordBool read Get_Saved;
    property Size: Integer read Get_Size;
    property UserProperties: UserProperties read Get_UserProperties;
    property IsRecurring: WordBool read Get_IsRecurring;
    property Organizer: WideString read Get_Organizer;
    property Recipients: Recipients read Get_Recipients;
    property RecurrenceState: OlRecurrenceState read Get_RecurrenceState;
    property ResponseStatus: OlResponseStatus read Get_ResponseStatus;
    property Links: Links read Get_Links;
    property ItemProperties: ItemProperties read Get_ItemProperties;
    property DownloadState: OlDownloadState read Get_DownloadState;
    property IsConflict: WordBool read Get_IsConflict;
    property BillingInformation: WideString read Get_BillingInformation write Set_BillingInformation;
    property Body: WideString read Get_Body write Set_Body;
    property Categories: WideString read Get_Categories write Set_Categories;
    property Companies: WideString read Get_Companies write Set_Companies;
    property Importance: OlImportance read Get_Importance write Set_Importance;
    property MessageClass: WideString read Get_MessageClass write Set_MessageClass;
    property Mileage: WideString read Get_Mileage write Set_Mileage;
    property NoAging: WordBool read Get_NoAging write Set_NoAging;
    property Sensitivity: OlSensitivity read Get_Sensitivity write Set_Sensitivity;
    property Subject: WideString read Get_Subject write Set_Subject;
    property UnRead: WordBool read Get_UnRead write Set_UnRead;
    property AllDayEvent: WordBool read Get_AllDayEvent write Set_AllDayEvent;
    property BusyStatus: OlBusyStatus read Get_BusyStatus write Set_BusyStatus;
    property Duration: Integer read Get_Duration write Set_Duration;
    property End_: TDateTime read Get_End_ write Set_End_;
    property IsOnlineMeeting: WordBool read Get_IsOnlineMeeting write Set_IsOnlineMeeting;
    property Location: WideString read Get_Location write Set_Location;
    property MeetingStatus: OlMeetingStatus read Get_MeetingStatus write Set_MeetingStatus;
    property NetMeetingAutoStart: WordBool read Get_NetMeetingAutoStart write Set_NetMeetingAutoStart;
    property NetMeetingOrganizerAlias: WideString read Get_NetMeetingOrganizerAlias write Set_NetMeetingOrganizerAlias;
    property NetMeetingServer: WideString read Get_NetMeetingServer write Set_NetMeetingServer;
    property NetMeetingType: OlNetMeetingType read Get_NetMeetingType write Set_NetMeetingType;
    property OptionalAttendees: WideString read Get_OptionalAttendees write Set_OptionalAttendees;
    property ReminderMinutesBeforeStart: Integer read Get_ReminderMinutesBeforeStart write Set_ReminderMinutesBeforeStart;
    property ReminderOverrideDefault: WordBool read Get_ReminderOverrideDefault write Set_ReminderOverrideDefault;
    property ReminderPlaySound: WordBool read Get_ReminderPlaySound write Set_ReminderPlaySound;
    property ReminderSet: WordBool read Get_ReminderSet write Set_ReminderSet;
    property ReminderSoundFile: WideString read Get_ReminderSoundFile write Set_ReminderSoundFile;
    property ReplyTime: TDateTime read Get_ReplyTime write Set_ReplyTime;
    property RequiredAttendees: WideString read Get_RequiredAttendees write Set_RequiredAttendees;
    property Resources: WideString read Get_Resources write Set_Resources;
    property ResponseRequested: WordBool read Get_ResponseRequested write Set_ResponseRequested;
    property Start: TDateTime read Get_Start write Set_Start;
    property NetMeetingDocPathName: WideString read Get_NetMeetingDocPathName write Set_NetMeetingDocPathName;
    property NetShowURL: WideString read Get_NetShowURL write Set_NetShowURL;
    property ConferenceServerAllowExternal: WordBool read Get_ConferenceServerAllowExternal write Set_ConferenceServerAllowExternal;
    property ConferenceServerPassword: WideString read Get_ConferenceServerPassword write Set_ConferenceServerPassword;
    property InternetCodepage: Integer read Get_InternetCodepage write Set_InternetCodepage;
    property MarkForDownload: OlRemoteStatus read Get_MarkForDownload write Set_MarkForDownload;
  published
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
    property Server: TAppointmentItemProperties read GetServerProperties;
{$ENDIF}
    property OnOpen: TAppointmentItemOpen read FOnOpen write FOnOpen;
    property OnCustomAction: TAppointmentItemCustomAction read FOnCustomAction write FOnCustomAction;
    property OnCustomPropertyChange: TAppointmentItemCustomPropertyChange read FOnCustomPropertyChange write FOnCustomPropertyChange;
    property OnForward: TAppointmentItemForward read FOnForward write FOnForward;
    property OnClose: TAppointmentItemClose read FOnClose write FOnClose;
    property OnPropertyChange: TAppointmentItemPropertyChange read FOnPropertyChange write FOnPropertyChange;
    property OnRead: TNotifyEvent read FOnRead write FOnRead;
    property OnReply: TAppointmentItemReply read FOnReply write FOnReply;
    property OnReplyAll: TAppointmentItemReplyAll read FOnReplyAll write FOnReplyAll;
    property OnSend: TAppointmentItemSend read FOnSend write FOnSend;
    property OnWrite: TAppointmentItemWrite read FOnWrite write FOnWrite;
    property OnBeforeCheckNames: TAppointmentItemBeforeCheckNames read FOnBeforeCheckNames write FOnBeforeCheckNames;
    property OnAttachmentAdd: TAppointmentItemAttachmentAdd read FOnAttachmentAdd write FOnAttachmentAdd;
    property OnAttachmentRead: TAppointmentItemAttachmentRead read FOnAttachmentRead write FOnAttachmentRead;
    property OnBeforeAttachmentSave: TAppointmentItemBeforeAttachmentSave read FOnBeforeAttachmentSave write FOnBeforeAttachmentSave;
    property OnBeforeDelete: TAppointmentItemBeforeDelete read FOnBeforeDelete write FOnBeforeDelete;
  end;

{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
// *********************************************************************//
// OLE Server Properties Proxy Class
// Server Object    : TAppointmentItem
// (This object is used by the IDE's Property Inspector to allow editing
//  of the properties of this server)
// *********************************************************************//
 TAppointmentItemProperties = class(TPersistent)
  private
    FServer:    TAppointmentItem;
    function    GetDefaultInterface: _AppointmentItem;
    constructor Create(AServer: TAppointmentItem);
  protected
    function Get_Application: _Application;
    function Get_Class_: OlObjectClass;
    function Get_Session: _NameSpace;
    function Get_Parent: IDispatch;
    function Get_Actions: Actions;
    function Get_Attachments: Attachments;
    function Get_BillingInformation: WideString;
    procedure Set_BillingInformation(const BillingInformation: WideString);
    function Get_Body: WideString;
    procedure Set_Body(const Body: WideString);
    function Get_Categories: WideString;
    procedure Set_Categories(const Categories: WideString);
    function Get_Companies: WideString;
    procedure Set_Companies(const Companies: WideString);
    function Get_ConversationIndex: WideString;
    function Get_ConversationTopic: WideString;
    function Get_CreationTime: TDateTime;
    function Get_EntryID: WideString;
    function Get_FormDescription: FormDescription;
    function Get_GetInspector: _Inspector;
    function Get_Importance: OlImportance;
    procedure Set_Importance(Importance: OlImportance);
    function Get_LastModificationTime: TDateTime;
    function Get_MAPIOBJECT: IUnknown;
    function Get_MessageClass: WideString;
    procedure Set_MessageClass(const MessageClass: WideString);
    function Get_Mileage: WideString;
    procedure Set_Mileage(const Mileage: WideString);
    function Get_NoAging: WordBool;
    procedure Set_NoAging(NoAging: WordBool);
    function Get_OutlookInternalVersion: Integer;
    function Get_OutlookVersion: WideString;
    function Get_Saved: WordBool;
    function Get_Sensitivity: OlSensitivity;
    procedure Set_Sensitivity(Sensitivity: OlSensitivity);
    function Get_Size: Integer;
    function Get_Subject: WideString;
    procedure Set_Subject(const Subject: WideString);
    function Get_UnRead: WordBool;
    procedure Set_UnRead(UnRead: WordBool);
    function Get_UserProperties: UserProperties;
    function Get_AllDayEvent: WordBool;
    procedure Set_AllDayEvent(AllDayEvent: WordBool);
    function Get_BusyStatus: OlBusyStatus;
    procedure Set_BusyStatus(BusyStatus: OlBusyStatus);
    function Get_Duration: Integer;
    procedure Set_Duration(Duration: Integer);
    function Get_End_: TDateTime;
    procedure Set_End_(End_: TDateTime);
    function Get_IsOnlineMeeting: WordBool;
    procedure Set_IsOnlineMeeting(IsOnlineMeeting: WordBool);
    function Get_IsRecurring: WordBool;
    function Get_Location: WideString;
    procedure Set_Location(const Location: WideString);
    function Get_MeetingStatus: OlMeetingStatus;
    procedure Set_MeetingStatus(MeetingStatus: OlMeetingStatus);
    function Get_NetMeetingAutoStart: WordBool;
    procedure Set_NetMeetingAutoStart(NetMeetingAutoStart: WordBool);
    function Get_NetMeetingOrganizerAlias: WideString;
    procedure Set_NetMeetingOrganizerAlias(const NetMeetingOrganizerAlias: WideString);
    function Get_NetMeetingServer: WideString;
    procedure Set_NetMeetingServer(const NetMeetingServer: WideString);
    function Get_NetMeetingType: OlNetMeetingType;
    procedure Set_NetMeetingType(NetMeetingType: OlNetMeetingType);
    function Get_OptionalAttendees: WideString;
    procedure Set_OptionalAttendees(const OptionalAttendees: WideString);
    function Get_Organizer: WideString;
    function Get_Recipients: Recipients;
    function Get_RecurrenceState: OlRecurrenceState;
    function Get_ReminderMinutesBeforeStart: Integer;
    procedure Set_ReminderMinutesBeforeStart(ReminderMinutesBeforeStart: Integer);
    function Get_ReminderOverrideDefault: WordBool;
    procedure Set_ReminderOverrideDefault(ReminderOverrideDefault: WordBool);
    function Get_ReminderPlaySound: WordBool;
    procedure Set_ReminderPlaySound(ReminderPlaySound: WordBool);
    function Get_ReminderSet: WordBool;
    procedure Set_ReminderSet(ReminderSet: WordBool);
    function Get_ReminderSoundFile: WideString;
    procedure Set_ReminderSoundFile(const ReminderSoundFile: WideString);
    function Get_ReplyTime: TDateTime;
    procedure Set_ReplyTime(ReplyTime: TDateTime);
    function Get_RequiredAttendees: WideString;
    procedure Set_RequiredAttendees(const RequiredAttendees: WideString);
    function Get_Resources: WideString;
    procedure Set_Resources(const Resources: WideString);
    function Get_ResponseRequested: WordBool;
    procedure Set_ResponseRequested(ResponseRequested: WordBool);
    function Get_ResponseStatus: OlResponseStatus;
    function Get_Start: TDateTime;
    procedure Set_Start(Start: TDateTime);
    function Get_NetMeetingDocPathName: WideString;
    procedure Set_NetMeetingDocPathName(const NetMeetingDocPathName: WideString);
    function Get_NetShowURL: WideString;
    procedure Set_NetShowURL(const NetShowURL: WideString);
    function Get_Links: Links;
    function Get_ConferenceServerAllowExternal: WordBool;
    procedure Set_ConferenceServerAllowExternal(ConferenceServerAllowExternal: WordBool);
    function Get_ConferenceServerPassword: WideString;
    procedure Set_ConferenceServerPassword(const ConferenceServerPassword: WideString);
    function Get_ItemProperties: ItemProperties;
    function Get_DownloadState: OlDownloadState;
    function Get_InternetCodepage: Integer;
    procedure Set_InternetCodepage(InternetCodepage: Integer);
    function Get_MarkForDownload: OlRemoteStatus;
    procedure Set_MarkForDownload(MarkForDownload: OlRemoteStatus);
    function Get_IsConflict: WordBool;
  public
    property DefaultInterface: _AppointmentItem read GetDefaultInterface;
  published
    property BillingInformation: WideString read Get_BillingInformation write Set_BillingInformation;
    property Body: WideString read Get_Body write Set_Body;
    property Categories: WideString read Get_Categories write Set_Categories;
    property Companies: WideString read Get_Companies write Set_Companies;
    property Importance: OlImportance read Get_Importance write Set_Importance;
    property MessageClass: WideString read Get_MessageClass write Set_MessageClass;
    property Mileage: WideString read Get_Mileage write Set_Mileage;
    property NoAging: WordBool read Get_NoAging write Set_NoAging;
    property Sensitivity: OlSensitivity read Get_Sensitivity write Set_Sensitivity;
    property Subject: WideString read Get_Subject write Set_Subject;
    property UnRead: WordBool read Get_UnRead write Set_UnRead;
    property AllDayEvent: WordBool read Get_AllDayEvent write Set_AllDayEvent;
    property BusyStatus: OlBusyStatus read Get_BusyStatus write Set_BusyStatus;
    property Duration: Integer read Get_Duration write Set_Duration;
    property End_: TDateTime read Get_End_ write Set_End_;
    property IsOnlineMeeting: WordBool read Get_IsOnlineMeeting write Set_IsOnlineMeeting;
    property Location: WideString read Get_Location write Set_Location;
    property MeetingStatus: OlMeetingStatus read Get_MeetingStatus write Set_MeetingStatus;
    property NetMeetingAutoStart: WordBool read Get_NetMeetingAutoStart write Set_NetMeetingAutoStart;
    property NetMeetingOrganizerAlias: WideString read Get_NetMeetingOrganizerAlias write Set_NetMeetingOrganizerAlias;
    property NetMeetingServer: WideString read Get_NetMeetingServer write Set_NetMeetingServer;
    property NetMeetingType: OlNetMeetingType read Get_NetMeetingType write Set_NetMeetingType;
    property OptionalAttendees: WideString read Get_OptionalAttendees write Set_OptionalAttendees;
    property ReminderMinutesBeforeStart: Integer read Get_ReminderMinutesBeforeStart write Set_ReminderMinutesBeforeStart;
    property ReminderOverrideDefault: WordBool read Get_ReminderOverrideDefault write Set_ReminderOverrideDefault;
    property ReminderPlaySound: WordBool read Get_ReminderPlaySound write Set_ReminderPlaySound;
    property ReminderSet: WordBool read Get_ReminderSet write Set_ReminderSet;
    property ReminderSoundFile: WideString read Get_ReminderSoundFile write Set_ReminderSoundFile;
    property ReplyTime: TDateTime read Get_ReplyTime write Set_ReplyTime;
    property RequiredAttendees: WideString read Get_RequiredAttendees write Set_RequiredAttendees;
    property Resources: WideString read Get_Resources write Set_Resources;
    property ResponseRequested: WordBool read Get_ResponseRequested write Set_ResponseRequested;
    property Start: TDateTime read Get_Start write Set_Start;
    property NetMeetingDocPathName: WideString read Get_NetMeetingDocPathName write Set_NetMeetingDocPathName;
    property NetShowURL: WideString read Get_NetShowURL write Set_NetShowURL;
    property ConferenceServerAllowExternal: WordBool read Get_ConferenceServerAllowExternal write Set_ConferenceServerAllowExternal;
    property ConferenceServerPassword: WideString read Get_ConferenceServerPassword write Set_ConferenceServerPassword;
    property InternetCodepage: Integer read Get_InternetCodepage write Set_InternetCodepage;
    property MarkForDownload: OlRemoteStatus read Get_MarkForDownload write Set_MarkForDownload;
  end;
{$ENDIF}


// *********************************************************************//
// The Class CoMeetingItem provides a Create and CreateRemote method to          
// create instances of the default interface _MeetingItem exposed by              
// the CoClass MeetingItem. The functions are intended to be used by             
// clients wishing to automate the CoClass objects exposed by the         
// server of this typelibrary.                                            
// *********************************************************************//
  CoMeetingItem = class
    class function Create: _MeetingItem;
    class function CreateRemote(const MachineName: string): _MeetingItem;
  end;

  TMeetingItemOpen = procedure(ASender: TObject; var Cancel: WordBool) of object;
  TMeetingItemCustomAction = procedure(ASender: TObject; const Action: IDispatch; 
                                                         const Response: IDispatch; 
                                                         var Cancel: WordBool) of object;
  TMeetingItemCustomPropertyChange = procedure(ASender: TObject; const Name: WideString) of object;
  TMeetingItemForward = procedure(ASender: TObject; const Forward: IDispatch; var Cancel: WordBool) of object;
  TMeetingItemClose = procedure(ASender: TObject; var Cancel: WordBool) of object;
  TMeetingItemPropertyChange = procedure(ASender: TObject; const Name: WideString) of object;
  TMeetingItemReply = procedure(ASender: TObject; const Response: IDispatch; var Cancel: WordBool) of object;
  TMeetingItemReplyAll = procedure(ASender: TObject; const Response: IDispatch; var Cancel: WordBool) of object;
  TMeetingItemSend = procedure(ASender: TObject; var Cancel: WordBool) of object;
  TMeetingItemWrite = procedure(ASender: TObject; var Cancel: WordBool) of object;
  TMeetingItemBeforeCheckNames = procedure(ASender: TObject; var Cancel: WordBool) of object;
  TMeetingItemAttachmentAdd = procedure(ASender: TObject; const Attachment: Attachment) of object;
  TMeetingItemAttachmentRead = procedure(ASender: TObject; const Attachment: Attachment) of object;
  TMeetingItemBeforeAttachmentSave = procedure(ASender: TObject; const Attachment: Attachment; 
                                                                 var Cancel: WordBool) of object;
  TMeetingItemBeforeDelete = procedure(ASender: TObject; const Item: IDispatch; var Cancel: WordBool) of object;


// *********************************************************************//
// OLE Server Proxy class declaration
// Server Object    : TMeetingItem
// Help String      : 
// Default Interface: _MeetingItem
// Def. Intf. DISP? : No
// Event   Interface: ItemEvents_10
// TypeFlags        : (0)
// *********************************************************************//
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  TMeetingItemProperties= class;
{$ENDIF}
  TMeetingItem = class(TOleServer)
  private
    FOnOpen: TMeetingItemOpen;
    FOnCustomAction: TMeetingItemCustomAction;
    FOnCustomPropertyChange: TMeetingItemCustomPropertyChange;
    FOnForward: TMeetingItemForward;
    FOnClose: TMeetingItemClose;
    FOnPropertyChange: TMeetingItemPropertyChange;
    FOnRead: TNotifyEvent;
    FOnReply: TMeetingItemReply;
    FOnReplyAll: TMeetingItemReplyAll;
    FOnSend: TMeetingItemSend;
    FOnWrite: TMeetingItemWrite;
    FOnBeforeCheckNames: TMeetingItemBeforeCheckNames;
    FOnAttachmentAdd: TMeetingItemAttachmentAdd;
    FOnAttachmentRead: TMeetingItemAttachmentRead;
    FOnBeforeAttachmentSave: TMeetingItemBeforeAttachmentSave;
    FOnBeforeDelete: TMeetingItemBeforeDelete;
    FIntf:        _MeetingItem;
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
    FProps:       TMeetingItemProperties;
    function      GetServerProperties: TMeetingItemProperties;
{$ENDIF}
    function      GetDefaultInterface: _MeetingItem;
  protected
    procedure InitServerData; override;
    procedure InvokeEvent(DispID: TDispID; var Params: TVariantArray); override;
    function Get_Application: _Application;
    function Get_Class_: OlObjectClass;
    function Get_Session: _NameSpace;
    function Get_Parent: IDispatch;
    function Get_Actions: Actions;
    function Get_Attachments: Attachments;
    function Get_BillingInformation: WideString;
    procedure Set_BillingInformation(const BillingInformation: WideString);
    function Get_Body: WideString;
    procedure Set_Body(const Body: WideString);
    function Get_Categories: WideString;
    procedure Set_Categories(const Categories: WideString);
    function Get_Companies: WideString;
    procedure Set_Companies(const Companies: WideString);
    function Get_ConversationIndex: WideString;
    function Get_ConversationTopic: WideString;
    function Get_CreationTime: TDateTime;
    function Get_EntryID: WideString;
    function Get_FormDescription: FormDescription;
    function Get_GetInspector: _Inspector;
    function Get_Importance: OlImportance;
    procedure Set_Importance(Importance: OlImportance);
    function Get_LastModificationTime: TDateTime;
    function Get_MAPIOBJECT: IUnknown;
    function Get_MessageClass: WideString;
    procedure Set_MessageClass(const MessageClass: WideString);
    function Get_Mileage: WideString;
    procedure Set_Mileage(const Mileage: WideString);
    function Get_NoAging: WordBool;
    procedure Set_NoAging(NoAging: WordBool);
    function Get_OutlookInternalVersion: Integer;
    function Get_OutlookVersion: WideString;
    function Get_Saved: WordBool;
    function Get_Sensitivity: OlSensitivity;
    procedure Set_Sensitivity(Sensitivity: OlSensitivity);
    function Get_Size: Integer;
    function Get_Subject: WideString;
    procedure Set_Subject(const Subject: WideString);
    function Get_UnRead: WordBool;
    procedure Set_UnRead(UnRead: WordBool);
    function Get_UserProperties: UserProperties;
    function Get_AutoForwarded: WordBool;
    procedure Set_AutoForwarded(AutoForwarded: WordBool);
    function Get_DeferredDeliveryTime: TDateTime;
    procedure Set_DeferredDeliveryTime(DeferredDeliveryTime: TDateTime);
    function Get_DeleteAfterSubmit: WordBool;
    procedure Set_DeleteAfterSubmit(DeleteAfterSubmit: WordBool);
    function Get_ExpiryTime: TDateTime;
    procedure Set_ExpiryTime(ExpiryTime: TDateTime);
    function Get_FlagDueBy: TDateTime;
    procedure Set_FlagDueBy(FlagDueBy: TDateTime);
    function Get_FlagRequest: WideString;
    procedure Set_FlagRequest(const FlagRequest: WideString);
    function Get_FlagStatus: OlFlagStatus;
    procedure Set_FlagStatus(FlagStatus: OlFlagStatus);
    function Get_OriginatorDeliveryReportRequested: WordBool;
    procedure Set_OriginatorDeliveryReportRequested(OriginatorDeliveryReportRequested: WordBool);
    function Get_ReceivedTime: TDateTime;
    procedure Set_ReceivedTime(ReceivedTime: TDateTime);
    function Get_Recipients: Recipients;
    function Get_ReminderSet: WordBool;
    procedure Set_ReminderSet(ReminderSet: WordBool);
    function Get_ReminderTime: TDateTime;
    procedure Set_ReminderTime(ReminderTime: TDateTime);
    function Get_ReplyRecipients: Recipients;
    function Get_SaveSentMessageFolder: MAPIFolder;
    procedure _Set_SaveSentMessageFolder(const SaveSentMessageFolder: MAPIFolder);
    function Get_SenderName: WideString;
    function Get_Sent: WordBool;
    function Get_SentOn: TDateTime;
    function Get_Submitted: WordBool;
    function Get_Links: Links;
    function Get_DownloadState: OlDownloadState;
    function Get_ItemProperties: ItemProperties;
    function Get_MarkForDownload: OlRemoteStatus;
    procedure Set_MarkForDownload(MarkForDownload: OlRemoteStatus);
    function Get_IsConflict: WordBool;
  public
    constructor Create(AOwner: TComponent); override;
    destructor  Destroy; override;
    procedure Connect; override;
    procedure ConnectTo(svrIntf: _MeetingItem);
    procedure Disconnect; override;
    procedure Close(SaveMode: OlInspectorClose);
    function Copy: IDispatch;
    procedure Delete;
    procedure Display; overload;
    procedure Display(Modal: OleVariant); overload;
    function Move(const DestFldr: MAPIFolder): IDispatch;
    procedure PrintOut;
    procedure Save;
    procedure SaveAs(const Path: WideString); overload;
    procedure SaveAs(const Path: WideString; Type_: OleVariant); overload;
    function Forward: MeetingItem;
    function GetAssociatedAppointment(AddToCalendar: WordBool): AppointmentItem;
    function Reply: MailItem;
    function ReplyAll: MailItem;
    procedure Send;
    procedure ShowCategoriesDialog;
    property DefaultInterface: _MeetingItem read GetDefaultInterface;
    property Application: _Application read Get_Application;
    property Class_: OlObjectClass read Get_Class_;
    property Session: _NameSpace read Get_Session;
    property Parent: IDispatch read Get_Parent;
    property Actions: Actions read Get_Actions;
    property Attachments: Attachments read Get_Attachments;
    property ConversationIndex: WideString read Get_ConversationIndex;
    property ConversationTopic: WideString read Get_ConversationTopic;
    property CreationTime: TDateTime read Get_CreationTime;
    property EntryID: WideString read Get_EntryID;
    property FormDescription: FormDescription read Get_FormDescription;
    property GetInspector: _Inspector read Get_GetInspector;
    property LastModificationTime: TDateTime read Get_LastModificationTime;
    property MAPIOBJECT: IUnknown read Get_MAPIOBJECT;
    property OutlookInternalVersion: Integer read Get_OutlookInternalVersion;
    property OutlookVersion: WideString read Get_OutlookVersion;
    property Saved: WordBool read Get_Saved;
    property Size: Integer read Get_Size;
    property UserProperties: UserProperties read Get_UserProperties;
    property Recipients: Recipients read Get_Recipients;
    property ReplyRecipients: Recipients read Get_ReplyRecipients;
    property SaveSentMessageFolder: MAPIFolder read Get_SaveSentMessageFolder write _Set_SaveSentMessageFolder;
    property SenderName: WideString read Get_SenderName;
    property Sent: WordBool read Get_Sent;
    property SentOn: TDateTime read Get_SentOn;
    property Submitted: WordBool read Get_Submitted;
    property Links: Links read Get_Links;
    property DownloadState: OlDownloadState read Get_DownloadState;
    property ItemProperties: ItemProperties read Get_ItemProperties;
    property IsConflict: WordBool read Get_IsConflict;
    property BillingInformation: WideString read Get_BillingInformation write Set_BillingInformation;
    property Body: WideString read Get_Body write Set_Body;
    property Categories: WideString read Get_Categories write Set_Categories;
    property Companies: WideString read Get_Companies write Set_Companies;
    property Importance: OlImportance read Get_Importance write Set_Importance;
    property MessageClass: WideString read Get_MessageClass write Set_MessageClass;
    property Mileage: WideString read Get_Mileage write Set_Mileage;
    property NoAging: WordBool read Get_NoAging write Set_NoAging;
    property Sensitivity: OlSensitivity read Get_Sensitivity write Set_Sensitivity;
    property Subject: WideString read Get_Subject write Set_Subject;
    property UnRead: WordBool read Get_UnRead write Set_UnRead;
    property AutoForwarded: WordBool read Get_AutoForwarded write Set_AutoForwarded;
    property DeferredDeliveryTime: TDateTime read Get_DeferredDeliveryTime write Set_DeferredDeliveryTime;
    property DeleteAfterSubmit: WordBool read Get_DeleteAfterSubmit write Set_DeleteAfterSubmit;
    property ExpiryTime: TDateTime read Get_ExpiryTime write Set_ExpiryTime;
    property FlagDueBy: TDateTime read Get_FlagDueBy write Set_FlagDueBy;
    property FlagRequest: WideString read Get_FlagRequest write Set_FlagRequest;
    property FlagStatus: OlFlagStatus read Get_FlagStatus write Set_FlagStatus;
    property OriginatorDeliveryReportRequested: WordBool read Get_OriginatorDeliveryReportRequested write Set_OriginatorDeliveryReportRequested;
    property ReceivedTime: TDateTime read Get_ReceivedTime write Set_ReceivedTime;
    property ReminderSet: WordBool read Get_ReminderSet write Set_ReminderSet;
    property ReminderTime: TDateTime read Get_ReminderTime write Set_ReminderTime;
    property MarkForDownload: OlRemoteStatus read Get_MarkForDownload write Set_MarkForDownload;
  published
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
    property Server: TMeetingItemProperties read GetServerProperties;
{$ENDIF}
    property OnOpen: TMeetingItemOpen read FOnOpen write FOnOpen;
    property OnCustomAction: TMeetingItemCustomAction read FOnCustomAction write FOnCustomAction;
    property OnCustomPropertyChange: TMeetingItemCustomPropertyChange read FOnCustomPropertyChange write FOnCustomPropertyChange;
    property OnForward: TMeetingItemForward read FOnForward write FOnForward;
    property OnClose: TMeetingItemClose read FOnClose write FOnClose;
    property OnPropertyChange: TMeetingItemPropertyChange read FOnPropertyChange write FOnPropertyChange;
    property OnRead: TNotifyEvent read FOnRead write FOnRead;
    property OnReply: TMeetingItemReply read FOnReply write FOnReply;
    property OnReplyAll: TMeetingItemReplyAll read FOnReplyAll write FOnReplyAll;
    property OnSend: TMeetingItemSend read FOnSend write FOnSend;
    property OnWrite: TMeetingItemWrite read FOnWrite write FOnWrite;
    property OnBeforeCheckNames: TMeetingItemBeforeCheckNames read FOnBeforeCheckNames write FOnBeforeCheckNames;
    property OnAttachmentAdd: TMeetingItemAttachmentAdd read FOnAttachmentAdd write FOnAttachmentAdd;
    property OnAttachmentRead: TMeetingItemAttachmentRead read FOnAttachmentRead write FOnAttachmentRead;
    property OnBeforeAttachmentSave: TMeetingItemBeforeAttachmentSave read FOnBeforeAttachmentSave write FOnBeforeAttachmentSave;
    property OnBeforeDelete: TMeetingItemBeforeDelete read FOnBeforeDelete write FOnBeforeDelete;
  end;

{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
// *********************************************************************//
// OLE Server Properties Proxy Class
// Server Object    : TMeetingItem
// (This object is used by the IDE's Property Inspector to allow editing
//  of the properties of this server)
// *********************************************************************//
 TMeetingItemProperties = class(TPersistent)
  private
    FServer:    TMeetingItem;
    function    GetDefaultInterface: _MeetingItem;
    constructor Create(AServer: TMeetingItem);
  protected
    function Get_Application: _Application;
    function Get_Class_: OlObjectClass;
    function Get_Session: _NameSpace;
    function Get_Parent: IDispatch;
    function Get_Actions: Actions;
    function Get_Attachments: Attachments;
    function Get_BillingInformation: WideString;
    procedure Set_BillingInformation(const BillingInformation: WideString);
    function Get_Body: WideString;
    procedure Set_Body(const Body: WideString);
    function Get_Categories: WideString;
    procedure Set_Categories(const Categories: WideString);
    function Get_Companies: WideString;
    procedure Set_Companies(const Companies: WideString);
    function Get_ConversationIndex: WideString;
    function Get_ConversationTopic: WideString;
    function Get_CreationTime: TDateTime;
    function Get_EntryID: WideString;
    function Get_FormDescription: FormDescription;
    function Get_GetInspector: _Inspector;
    function Get_Importance: OlImportance;
    procedure Set_Importance(Importance: OlImportance);
    function Get_LastModificationTime: TDateTime;
    function Get_MAPIOBJECT: IUnknown;
    function Get_MessageClass: WideString;
    procedure Set_MessageClass(const MessageClass: WideString);
    function Get_Mileage: WideString;
    procedure Set_Mileage(const Mileage: WideString);
    function Get_NoAging: WordBool;
    procedure Set_NoAging(NoAging: WordBool);
    function Get_OutlookInternalVersion: Integer;
    function Get_OutlookVersion: WideString;
    function Get_Saved: WordBool;
    function Get_Sensitivity: OlSensitivity;
    procedure Set_Sensitivity(Sensitivity: OlSensitivity);
    function Get_Size: Integer;
    function Get_Subject: WideString;
    procedure Set_Subject(const Subject: WideString);
    function Get_UnRead: WordBool;
    procedure Set_UnRead(UnRead: WordBool);
    function Get_UserProperties: UserProperties;
    function Get_AutoForwarded: WordBool;
    procedure Set_AutoForwarded(AutoForwarded: WordBool);
    function Get_DeferredDeliveryTime: TDateTime;
    procedure Set_DeferredDeliveryTime(DeferredDeliveryTime: TDateTime);
    function Get_DeleteAfterSubmit: WordBool;
    procedure Set_DeleteAfterSubmit(DeleteAfterSubmit: WordBool);
    function Get_ExpiryTime: TDateTime;
    procedure Set_ExpiryTime(ExpiryTime: TDateTime);
    function Get_FlagDueBy: TDateTime;
    procedure Set_FlagDueBy(FlagDueBy: TDateTime);
    function Get_FlagRequest: WideString;
    procedure Set_FlagRequest(const FlagRequest: WideString);
    function Get_FlagStatus: OlFlagStatus;
    procedure Set_FlagStatus(FlagStatus: OlFlagStatus);
    function Get_OriginatorDeliveryReportRequested: WordBool;
    procedure Set_OriginatorDeliveryReportRequested(OriginatorDeliveryReportRequested: WordBool);
    function Get_ReceivedTime: TDateTime;
    procedure Set_ReceivedTime(ReceivedTime: TDateTime);
    function Get_Recipients: Recipients;
    function Get_ReminderSet: WordBool;
    procedure Set_ReminderSet(ReminderSet: WordBool);
    function Get_ReminderTime: TDateTime;
    procedure Set_ReminderTime(ReminderTime: TDateTime);
    function Get_ReplyRecipients: Recipients;
    function Get_SaveSentMessageFolder: MAPIFolder;
    procedure _Set_SaveSentMessageFolder(const SaveSentMessageFolder: MAPIFolder);
    function Get_SenderName: WideString;
    function Get_Sent: WordBool;
    function Get_SentOn: TDateTime;
    function Get_Submitted: WordBool;
    function Get_Links: Links;
    function Get_DownloadState: OlDownloadState;
    function Get_ItemProperties: ItemProperties;
    function Get_MarkForDownload: OlRemoteStatus;
    procedure Set_MarkForDownload(MarkForDownload: OlRemoteStatus);
    function Get_IsConflict: WordBool;
  public
    property DefaultInterface: _MeetingItem read GetDefaultInterface;
  published
    property BillingInformation: WideString read Get_BillingInformation write Set_BillingInformation;
    property Body: WideString read Get_Body write Set_Body;
    property Categories: WideString read Get_Categories write Set_Categories;
    property Companies: WideString read Get_Companies write Set_Companies;
    property Importance: OlImportance read Get_Importance write Set_Importance;
    property MessageClass: WideString read Get_MessageClass write Set_MessageClass;
    property Mileage: WideString read Get_Mileage write Set_Mileage;
    property NoAging: WordBool read Get_NoAging write Set_NoAging;
    property Sensitivity: OlSensitivity read Get_Sensitivity write Set_Sensitivity;
    property Subject: WideString read Get_Subject write Set_Subject;
    property UnRead: WordBool read Get_UnRead write Set_UnRead;
    property AutoForwarded: WordBool read Get_AutoForwarded write Set_AutoForwarded;
    property DeferredDeliveryTime: TDateTime read Get_DeferredDeliveryTime write Set_DeferredDeliveryTime;
    property DeleteAfterSubmit: WordBool read Get_DeleteAfterSubmit write Set_DeleteAfterSubmit;
    property ExpiryTime: TDateTime read Get_ExpiryTime write Set_ExpiryTime;
    property FlagDueBy: TDateTime read Get_FlagDueBy write Set_FlagDueBy;
    property FlagRequest: WideString read Get_FlagRequest write Set_FlagRequest;
    property FlagStatus: OlFlagStatus read Get_FlagStatus write Set_FlagStatus;
    property OriginatorDeliveryReportRequested: WordBool read Get_OriginatorDeliveryReportRequested write Set_OriginatorDeliveryReportRequested;
    property ReceivedTime: TDateTime read Get_ReceivedTime write Set_ReceivedTime;
    property ReminderSet: WordBool read Get_ReminderSet write Set_ReminderSet;
    property ReminderTime: TDateTime read Get_ReminderTime write Set_ReminderTime;
    property MarkForDownload: OlRemoteStatus read Get_MarkForDownload write Set_MarkForDownload;
  end;
{$ENDIF}


// *********************************************************************//
// The Class CoTaskItem provides a Create and CreateRemote method to          
// create instances of the default interface _TaskItem exposed by              
// the CoClass TaskItem. The functions are intended to be used by             
// clients wishing to automate the CoClass objects exposed by the         
// server of this typelibrary.                                            
// *********************************************************************//
  CoTaskItem = class
    class function Create: _TaskItem;
    class function CreateRemote(const MachineName: string): _TaskItem;
  end;

  TTaskItemOpen = procedure(ASender: TObject; var Cancel: WordBool) of object;
  TTaskItemCustomAction = procedure(ASender: TObject; const Action: IDispatch; 
                                                      const Response: IDispatch; 
                                                      var Cancel: WordBool) of object;
  TTaskItemCustomPropertyChange = procedure(ASender: TObject; const Name: WideString) of object;
  TTaskItemForward = procedure(ASender: TObject; const Forward: IDispatch; var Cancel: WordBool) of object;
  TTaskItemClose = procedure(ASender: TObject; var Cancel: WordBool) of object;
  TTaskItemPropertyChange = procedure(ASender: TObject; const Name: WideString) of object;
  TTaskItemReply = procedure(ASender: TObject; const Response: IDispatch; var Cancel: WordBool) of object;
  TTaskItemReplyAll = procedure(ASender: TObject; const Response: IDispatch; var Cancel: WordBool) of object;
  TTaskItemSend = procedure(ASender: TObject; var Cancel: WordBool) of object;
  TTaskItemWrite = procedure(ASender: TObject; var Cancel: WordBool) of object;
  TTaskItemBeforeCheckNames = procedure(ASender: TObject; var Cancel: WordBool) of object;
  TTaskItemAttachmentAdd = procedure(ASender: TObject; const Attachment: Attachment) of object;
  TTaskItemAttachmentRead = procedure(ASender: TObject; const Attachment: Attachment) of object;
  TTaskItemBeforeAttachmentSave = procedure(ASender: TObject; const Attachment: Attachment; 
                                                              var Cancel: WordBool) of object;
  TTaskItemBeforeDelete = procedure(ASender: TObject; const Item: IDispatch; var Cancel: WordBool) of object;


// *********************************************************************//
// OLE Server Proxy class declaration
// Server Object    : TTaskItem
// Help String      : 
// Default Interface: _TaskItem
// Def. Intf. DISP? : No
// Event   Interface: ItemEvents_10
// TypeFlags        : (0)
// *********************************************************************//
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  TTaskItemProperties= class;
{$ENDIF}
  TTaskItem = class(TOleServer)
  private
    FOnOpen: TTaskItemOpen;
    FOnCustomAction: TTaskItemCustomAction;
    FOnCustomPropertyChange: TTaskItemCustomPropertyChange;
    FOnForward: TTaskItemForward;
    FOnClose: TTaskItemClose;
    FOnPropertyChange: TTaskItemPropertyChange;
    FOnRead: TNotifyEvent;
    FOnReply: TTaskItemReply;
    FOnReplyAll: TTaskItemReplyAll;
    FOnSend: TTaskItemSend;
    FOnWrite: TTaskItemWrite;
    FOnBeforeCheckNames: TTaskItemBeforeCheckNames;
    FOnAttachmentAdd: TTaskItemAttachmentAdd;
    FOnAttachmentRead: TTaskItemAttachmentRead;
    FOnBeforeAttachmentSave: TTaskItemBeforeAttachmentSave;
    FOnBeforeDelete: TTaskItemBeforeDelete;
    FIntf:        _TaskItem;
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
    FProps:       TTaskItemProperties;
    function      GetServerProperties: TTaskItemProperties;
{$ENDIF}
    function      GetDefaultInterface: _TaskItem;
  protected
    procedure InitServerData; override;
    procedure InvokeEvent(DispID: TDispID; var Params: TVariantArray); override;
    function Get_Application: _Application;
    function Get_Class_: OlObjectClass;
    function Get_Session: _NameSpace;
    function Get_Parent: IDispatch;
    function Get_Actions: Actions;
    function Get_Attachments: Attachments;
    function Get_BillingInformation: WideString;
    procedure Set_BillingInformation(const BillingInformation: WideString);
    function Get_Body: WideString;
    procedure Set_Body(const Body: WideString);
    function Get_Categories: WideString;
    procedure Set_Categories(const Categories: WideString);
    function Get_Companies: WideString;
    procedure Set_Companies(const Companies: WideString);
    function Get_ConversationIndex: WideString;
    function Get_ConversationTopic: WideString;
    function Get_CreationTime: TDateTime;
    function Get_EntryID: WideString;
    function Get_FormDescription: FormDescription;
    function Get_GetInspector: _Inspector;
    function Get_Importance: OlImportance;
    procedure Set_Importance(Importance: OlImportance);
    function Get_LastModificationTime: TDateTime;
    function Get_MAPIOBJECT: IUnknown;
    function Get_MessageClass: WideString;
    procedure Set_MessageClass(const MessageClass: WideString);
    function Get_Mileage: WideString;
    procedure Set_Mileage(const Mileage: WideString);
    function Get_NoAging: WordBool;
    procedure Set_NoAging(NoAging: WordBool);
    function Get_OutlookInternalVersion: Integer;
    function Get_OutlookVersion: WideString;
    function Get_Saved: WordBool;
    function Get_Sensitivity: OlSensitivity;
    procedure Set_Sensitivity(Sensitivity: OlSensitivity);
    function Get_Size: Integer;
    function Get_Subject: WideString;
    procedure Set_Subject(const Subject: WideString);
    function Get_UnRead: WordBool;
    procedure Set_UnRead(UnRead: WordBool);
    function Get_UserProperties: UserProperties;
    function Get_ActualWork: Integer;
    procedure Set_ActualWork(ActualWork: Integer);
    function Get_CardData: WideString;
    procedure Set_CardData(const CardData: WideString);
    function Get_Complete: WordBool;
    procedure Set_Complete(Complete: WordBool);
    function Get_Contacts: WideString;
    procedure Set_Contacts(const Contacts: WideString);
    function Get_ContactNames: WideString;
    procedure Set_ContactNames(const ContactNames: WideString);
    function Get_DateCompleted: TDateTime;
    procedure Set_DateCompleted(DateCompleted: TDateTime);
    function Get_DelegationState: OlTaskDelegationState;
    function Get_Delegator: WideString;
    function Get_DueDate: TDateTime;
    procedure Set_DueDate(DueDate: TDateTime);
    function Get_IsRecurring: WordBool;
    function Get_Ordinal: Integer;
    procedure Set_Ordinal(Ordinal: Integer);
    function Get_Owner: WideString;
    procedure Set_Owner(const Owner: WideString);
    function Get_Ownership: OlTaskOwnership;
    function Get_PercentComplete: Integer;
    procedure Set_PercentComplete(PercentComplete: Integer);
    function Get_Recipients: Recipients;
    function Get_ReminderTime: TDateTime;
    procedure Set_ReminderTime(ReminderTime: TDateTime);
    function Get_ReminderOverrideDefault: WordBool;
    procedure Set_ReminderOverrideDefault(ReminderOverrideDefault: WordBool);
    function Get_ReminderPlaySound: WordBool;
    procedure Set_ReminderPlaySound(ReminderPlaySound: WordBool);
    function Get_ReminderSet: WordBool;
    procedure Set_ReminderSet(ReminderSet: WordBool);
    function Get_ReminderSoundFile: WideString;
    procedure Set_ReminderSoundFile(const ReminderSoundFile: WideString);
    function Get_ResponseState: OlTaskResponse;
    function Get_Role: WideString;
    procedure Set_Role(const Role: WideString);
    function Get_SchedulePlusPriority: WideString;
    procedure Set_SchedulePlusPriority(const SchedulePlusPriority: WideString);
    function Get_StartDate: TDateTime;
    procedure Set_StartDate(StartDate: TDateTime);
    function Get_Status: OlTaskStatus;
    procedure Set_Status(Status: OlTaskStatus);
    function Get_StatusOnCompletionRecipients: WideString;
    procedure Set_StatusOnCompletionRecipients(const StatusOnCompletionRecipients: WideString);
    function Get_StatusUpdateRecipients: WideString;
    procedure Set_StatusUpdateRecipients(const StatusUpdateRecipients: WideString);
    function Get_TeamTask: WordBool;
    procedure Set_TeamTask(TeamTask: WordBool);
    function Get_TotalWork: Integer;
    procedure Set_TotalWork(TotalWork: Integer);
    function Get_Links: Links;
    function Get_DownloadState: OlDownloadState;
    function Get_ItemProperties: ItemProperties;
    function Get_InternetCodepage: Integer;
    procedure Set_InternetCodepage(InternetCodepage: Integer);
    function Get_MarkForDownload: OlRemoteStatus;
    procedure Set_MarkForDownload(MarkForDownload: OlRemoteStatus);
    function Get_IsConflict: WordBool;
  public
    constructor Create(AOwner: TComponent); override;
    destructor  Destroy; override;
    procedure Connect; override;
    procedure ConnectTo(svrIntf: _TaskItem);
    procedure Disconnect; override;
    procedure Close(SaveMode: OlInspectorClose);
    function Copy: IDispatch;
    procedure Delete;
    procedure Display; overload;
    procedure Display(Modal: OleVariant); overload;
    function Move(const DestFldr: MAPIFolder): IDispatch;
    procedure PrintOut;
    procedure Save;
    procedure SaveAs(const Path: WideString); overload;
    procedure SaveAs(const Path: WideString; Type_: OleVariant); overload;
    function Assign_: TaskItem;
    procedure CancelResponseState;
    procedure ClearRecurrencePattern;
    function GetRecurrencePattern: RecurrencePattern;
    procedure MarkComplete;
    function Respond(Response: OlTaskResponse; fNoUI: OleVariant; fAdditionalTextDialog: OleVariant): TaskItem;
    procedure Send;
    function SkipRecurrence: WordBool;
    function StatusReport: IDispatch;
    procedure ShowCategoriesDialog;
    property DefaultInterface: _TaskItem read GetDefaultInterface;
    property Application: _Application read Get_Application;
    property Class_: OlObjectClass read Get_Class_;
    property Session: _NameSpace read Get_Session;
    property Parent: IDispatch read Get_Parent;
    property Actions: Actions read Get_Actions;
    property Attachments: Attachments read Get_Attachments;
    property ConversationIndex: WideString read Get_ConversationIndex;
    property ConversationTopic: WideString read Get_ConversationTopic;
    property CreationTime: TDateTime read Get_CreationTime;
    property EntryID: WideString read Get_EntryID;
    property FormDescription: FormDescription read Get_FormDescription;
    property GetInspector: _Inspector read Get_GetInspector;
    property LastModificationTime: TDateTime read Get_LastModificationTime;
    property MAPIOBJECT: IUnknown read Get_MAPIOBJECT;
    property OutlookInternalVersion: Integer read Get_OutlookInternalVersion;
    property OutlookVersion: WideString read Get_OutlookVersion;
    property Saved: WordBool read Get_Saved;
    property Size: Integer read Get_Size;
    property UserProperties: UserProperties read Get_UserProperties;
    property Contacts: WideString read Get_Contacts write Set_Contacts;
    property DelegationState: OlTaskDelegationState read Get_DelegationState;
    property Delegator: WideString read Get_Delegator;
    property IsRecurring: WordBool read Get_IsRecurring;
    property Ownership: OlTaskOwnership read Get_Ownership;
    property Recipients: Recipients read Get_Recipients;
    property ResponseState: OlTaskResponse read Get_ResponseState;
    property Links: Links read Get_Links;
    property DownloadState: OlDownloadState read Get_DownloadState;
    property ItemProperties: ItemProperties read Get_ItemProperties;
    property IsConflict: WordBool read Get_IsConflict;
    property BillingInformation: WideString read Get_BillingInformation write Set_BillingInformation;
    property Body: WideString read Get_Body write Set_Body;
    property Categories: WideString read Get_Categories write Set_Categories;
    property Companies: WideString read Get_Companies write Set_Companies;
    property Importance: OlImportance read Get_Importance write Set_Importance;
    property MessageClass: WideString read Get_MessageClass write Set_MessageClass;
    property Mileage: WideString read Get_Mileage write Set_Mileage;
    property NoAging: WordBool read Get_NoAging write Set_NoAging;
    property Sensitivity: OlSensitivity read Get_Sensitivity write Set_Sensitivity;
    property Subject: WideString read Get_Subject write Set_Subject;
    property UnRead: WordBool read Get_UnRead write Set_UnRead;
    property ActualWork: Integer read Get_ActualWork write Set_ActualWork;
    property CardData: WideString read Get_CardData write Set_CardData;
    property Complete: WordBool read Get_Complete write Set_Complete;
    property ContactNames: WideString read Get_ContactNames write Set_ContactNames;
    property DateCompleted: TDateTime read Get_DateCompleted write Set_DateCompleted;
    property DueDate: TDateTime read Get_DueDate write Set_DueDate;
    property Ordinal: Integer read Get_Ordinal write Set_Ordinal;
    property Owner: WideString read Get_Owner write Set_Owner;
    property PercentComplete: Integer read Get_PercentComplete write Set_PercentComplete;
    property ReminderTime: TDateTime read Get_ReminderTime write Set_ReminderTime;
    property ReminderOverrideDefault: WordBool read Get_ReminderOverrideDefault write Set_ReminderOverrideDefault;
    property ReminderPlaySound: WordBool read Get_ReminderPlaySound write Set_ReminderPlaySound;
    property ReminderSet: WordBool read Get_ReminderSet write Set_ReminderSet;
    property ReminderSoundFile: WideString read Get_ReminderSoundFile write Set_ReminderSoundFile;
    property Role: WideString read Get_Role write Set_Role;
    property SchedulePlusPriority: WideString read Get_SchedulePlusPriority write Set_SchedulePlusPriority;
    property StartDate: TDateTime read Get_StartDate write Set_StartDate;
    property Status: OlTaskStatus read Get_Status write Set_Status;
    property StatusOnCompletionRecipients: WideString read Get_StatusOnCompletionRecipients write Set_StatusOnCompletionRecipients;
    property StatusUpdateRecipients: WideString read Get_StatusUpdateRecipients write Set_StatusUpdateRecipients;
    property TeamTask: WordBool read Get_TeamTask write Set_TeamTask;
    property TotalWork: Integer read Get_TotalWork write Set_TotalWork;
    property InternetCodepage: Integer read Get_InternetCodepage write Set_InternetCodepage;
    property MarkForDownload: OlRemoteStatus read Get_MarkForDownload write Set_MarkForDownload;
  published
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
    property Server: TTaskItemProperties read GetServerProperties;
{$ENDIF}
    property OnOpen: TTaskItemOpen read FOnOpen write FOnOpen;
    property OnCustomAction: TTaskItemCustomAction read FOnCustomAction write FOnCustomAction;
    property OnCustomPropertyChange: TTaskItemCustomPropertyChange read FOnCustomPropertyChange write FOnCustomPropertyChange;
    property OnForward: TTaskItemForward read FOnForward write FOnForward;
    property OnClose: TTaskItemClose read FOnClose write FOnClose;
    property OnPropertyChange: TTaskItemPropertyChange read FOnPropertyChange write FOnPropertyChange;
    property OnRead: TNotifyEvent read FOnRead write FOnRead;
    property OnReply: TTaskItemReply read FOnReply write FOnReply;
    property OnReplyAll: TTaskItemReplyAll read FOnReplyAll write FOnReplyAll;
    property OnSend: TTaskItemSend read FOnSend write FOnSend;
    property OnWrite: TTaskItemWrite read FOnWrite write FOnWrite;
    property OnBeforeCheckNames: TTaskItemBeforeCheckNames read FOnBeforeCheckNames write FOnBeforeCheckNames;
    property OnAttachmentAdd: TTaskItemAttachmentAdd read FOnAttachmentAdd write FOnAttachmentAdd;
    property OnAttachmentRead: TTaskItemAttachmentRead read FOnAttachmentRead write FOnAttachmentRead;
    property OnBeforeAttachmentSave: TTaskItemBeforeAttachmentSave read FOnBeforeAttachmentSave write FOnBeforeAttachmentSave;
    property OnBeforeDelete: TTaskItemBeforeDelete read FOnBeforeDelete write FOnBeforeDelete;
  end;

{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
// *********************************************************************//
// OLE Server Properties Proxy Class
// Server Object    : TTaskItem
// (This object is used by the IDE's Property Inspector to allow editing
//  of the properties of this server)
// *********************************************************************//
 TTaskItemProperties = class(TPersistent)
  private
    FServer:    TTaskItem;
    function    GetDefaultInterface: _TaskItem;
    constructor Create(AServer: TTaskItem);
  protected
    function Get_Application: _Application;
    function Get_Class_: OlObjectClass;
    function Get_Session: _NameSpace;
    function Get_Parent: IDispatch;
    function Get_Actions: Actions;
    function Get_Attachments: Attachments;
    function Get_BillingInformation: WideString;
    procedure Set_BillingInformation(const BillingInformation: WideString);
    function Get_Body: WideString;
    procedure Set_Body(const Body: WideString);
    function Get_Categories: WideString;
    procedure Set_Categories(const Categories: WideString);
    function Get_Companies: WideString;
    procedure Set_Companies(const Companies: WideString);
    function Get_ConversationIndex: WideString;
    function Get_ConversationTopic: WideString;
    function Get_CreationTime: TDateTime;
    function Get_EntryID: WideString;
    function Get_FormDescription: FormDescription;
    function Get_GetInspector: _Inspector;
    function Get_Importance: OlImportance;
    procedure Set_Importance(Importance: OlImportance);
    function Get_LastModificationTime: TDateTime;
    function Get_MAPIOBJECT: IUnknown;
    function Get_MessageClass: WideString;
    procedure Set_MessageClass(const MessageClass: WideString);
    function Get_Mileage: WideString;
    procedure Set_Mileage(const Mileage: WideString);
    function Get_NoAging: WordBool;
    procedure Set_NoAging(NoAging: WordBool);
    function Get_OutlookInternalVersion: Integer;
    function Get_OutlookVersion: WideString;
    function Get_Saved: WordBool;
    function Get_Sensitivity: OlSensitivity;
    procedure Set_Sensitivity(Sensitivity: OlSensitivity);
    function Get_Size: Integer;
    function Get_Subject: WideString;
    procedure Set_Subject(const Subject: WideString);
    function Get_UnRead: WordBool;
    procedure Set_UnRead(UnRead: WordBool);
    function Get_UserProperties: UserProperties;
    function Get_ActualWork: Integer;
    procedure Set_ActualWork(ActualWork: Integer);
    function Get_CardData: WideString;
    procedure Set_CardData(const CardData: WideString);
    function Get_Complete: WordBool;
    procedure Set_Complete(Complete: WordBool);
    function Get_Contacts: WideString;
    procedure Set_Contacts(const Contacts: WideString);
    function Get_ContactNames: WideString;
    procedure Set_ContactNames(const ContactNames: WideString);
    function Get_DateCompleted: TDateTime;
    procedure Set_DateCompleted(DateCompleted: TDateTime);
    function Get_DelegationState: OlTaskDelegationState;
    function Get_Delegator: WideString;
    function Get_DueDate: TDateTime;
    procedure Set_DueDate(DueDate: TDateTime);
    function Get_IsRecurring: WordBool;
    function Get_Ordinal: Integer;
    procedure Set_Ordinal(Ordinal: Integer);
    function Get_Owner: WideString;
    procedure Set_Owner(const Owner: WideString);
    function Get_Ownership: OlTaskOwnership;
    function Get_PercentComplete: Integer;
    procedure Set_PercentComplete(PercentComplete: Integer);
    function Get_Recipients: Recipients;
    function Get_ReminderTime: TDateTime;
    procedure Set_ReminderTime(ReminderTime: TDateTime);
    function Get_ReminderOverrideDefault: WordBool;
    procedure Set_ReminderOverrideDefault(ReminderOverrideDefault: WordBool);
    function Get_ReminderPlaySound: WordBool;
    procedure Set_ReminderPlaySound(ReminderPlaySound: WordBool);
    function Get_ReminderSet: WordBool;
    procedure Set_ReminderSet(ReminderSet: WordBool);
    function Get_ReminderSoundFile: WideString;
    procedure Set_ReminderSoundFile(const ReminderSoundFile: WideString);
    function Get_ResponseState: OlTaskResponse;
    function Get_Role: WideString;
    procedure Set_Role(const Role: WideString);
    function Get_SchedulePlusPriority: WideString;
    procedure Set_SchedulePlusPriority(const SchedulePlusPriority: WideString);
    function Get_StartDate: TDateTime;
    procedure Set_StartDate(StartDate: TDateTime);
    function Get_Status: OlTaskStatus;
    procedure Set_Status(Status: OlTaskStatus);
    function Get_StatusOnCompletionRecipients: WideString;
    procedure Set_StatusOnCompletionRecipients(const StatusOnCompletionRecipients: WideString);
    function Get_StatusUpdateRecipients: WideString;
    procedure Set_StatusUpdateRecipients(const StatusUpdateRecipients: WideString);
    function Get_TeamTask: WordBool;
    procedure Set_TeamTask(TeamTask: WordBool);
    function Get_TotalWork: Integer;
    procedure Set_TotalWork(TotalWork: Integer);
    function Get_Links: Links;
    function Get_DownloadState: OlDownloadState;
    function Get_ItemProperties: ItemProperties;
    function Get_InternetCodepage: Integer;
    procedure Set_InternetCodepage(InternetCodepage: Integer);
    function Get_MarkForDownload: OlRemoteStatus;
    procedure Set_MarkForDownload(MarkForDownload: OlRemoteStatus);
    function Get_IsConflict: WordBool;
  public
    property DefaultInterface: _TaskItem read GetDefaultInterface;
  published
    property BillingInformation: WideString read Get_BillingInformation write Set_BillingInformation;
    property Body: WideString read Get_Body write Set_Body;
    property Categories: WideString read Get_Categories write Set_Categories;
    property Companies: WideString read Get_Companies write Set_Companies;
    property Importance: OlImportance read Get_Importance write Set_Importance;
    property MessageClass: WideString read Get_MessageClass write Set_MessageClass;
    property Mileage: WideString read Get_Mileage write Set_Mileage;
    property NoAging: WordBool read Get_NoAging write Set_NoAging;
    property Sensitivity: OlSensitivity read Get_Sensitivity write Set_Sensitivity;
    property Subject: WideString read Get_Subject write Set_Subject;
    property UnRead: WordBool read Get_UnRead write Set_UnRead;
    property ActualWork: Integer read Get_ActualWork write Set_ActualWork;
    property CardData: WideString read Get_CardData write Set_CardData;
    property Complete: WordBool read Get_Complete write Set_Complete;
    property ContactNames: WideString read Get_ContactNames write Set_ContactNames;
    property DateCompleted: TDateTime read Get_DateCompleted write Set_DateCompleted;
    property DueDate: TDateTime read Get_DueDate write Set_DueDate;
    property Ordinal: Integer read Get_Ordinal write Set_Ordinal;
    property Owner: WideString read Get_Owner write Set_Owner;
    property PercentComplete: Integer read Get_PercentComplete write Set_PercentComplete;
    property ReminderTime: TDateTime read Get_ReminderTime write Set_ReminderTime;
    property ReminderOverrideDefault: WordBool read Get_ReminderOverrideDefault write Set_ReminderOverrideDefault;
    property ReminderPlaySound: WordBool read Get_ReminderPlaySound write Set_ReminderPlaySound;
    property ReminderSet: WordBool read Get_ReminderSet write Set_ReminderSet;
    property ReminderSoundFile: WideString read Get_ReminderSoundFile write Set_ReminderSoundFile;
    property Role: WideString read Get_Role write Set_Role;
    property SchedulePlusPriority: WideString read Get_SchedulePlusPriority write Set_SchedulePlusPriority;
    property StartDate: TDateTime read Get_StartDate write Set_StartDate;
    property Status: OlTaskStatus read Get_Status write Set_Status;
    property StatusOnCompletionRecipients: WideString read Get_StatusOnCompletionRecipients write Set_StatusOnCompletionRecipients;
    property StatusUpdateRecipients: WideString read Get_StatusUpdateRecipients write Set_StatusUpdateRecipients;
    property TeamTask: WordBool read Get_TeamTask write Set_TeamTask;
    property TotalWork: Integer read Get_TotalWork write Set_TotalWork;
    property InternetCodepage: Integer read Get_InternetCodepage write Set_InternetCodepage;
    property MarkForDownload: OlRemoteStatus read Get_MarkForDownload write Set_MarkForDownload;
  end;
{$ENDIF}


// *********************************************************************//
// The Class CoOutlookApplication provides a Create and CreateRemote method to          
// create instances of the default interface _Application exposed by              
// the CoClass OutlookApplication. The functions are intended to be used by             
// clients wishing to automate the CoClass objects exposed by the         
// server of this typelibrary.                                            
// *********************************************************************//
  CoOutlookApplication = class
    class function Create: _Application;
    class function CreateRemote(const MachineName: string): _Application;
  end;

  TOutlookApplicationItemSend = procedure(ASender: TObject; const Item: IDispatch; 
                                                            var Cancel: WordBool) of object;
  TOutlookApplicationReminder = procedure(ASender: TObject; const Item: IDispatch) of object;
  TOutlookApplicationOptionsPagesAdd = procedure(ASender: TObject; const Pages: PropertyPages) of object;
  TOutlookApplicationAdvancedSearchComplete = procedure(ASender: TObject; const SearchObject: Search) of object;
  TOutlookApplicationAdvancedSearchStopped = procedure(ASender: TObject; const SearchObject: Search) of object;


// *********************************************************************//
// OLE Server Proxy class declaration
// Server Object    : TOutlookApplication
// Help String      : 
// Default Interface: _Application
// Def. Intf. DISP? : No
// Event   Interface: ApplicationEvents_10
// TypeFlags        : (11) AppObject CanCreate Predeclid
// *********************************************************************//
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  TOutlookApplicationProperties= class;
{$ENDIF}
  TOutlookApplication = class(TOleServer)
  private
    FOnItemSend: TOutlookApplicationItemSend;
    FOnNewMail: TNotifyEvent;
    FOnReminder: TOutlookApplicationReminder;
    FOnOptionsPagesAdd: TOutlookApplicationOptionsPagesAdd;
    FOnStartup: TNotifyEvent;
    FOnQuit: TNotifyEvent;
    FOnAdvancedSearchComplete: TOutlookApplicationAdvancedSearchComplete;
    FOnAdvancedSearchStopped: TOutlookApplicationAdvancedSearchStopped;
    FOnMAPILogonComplete: TNotifyEvent;
    FAutoQuit:    Boolean;
    FIntf:        _Application;
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
    FProps:       TOutlookApplicationProperties;
    function      GetServerProperties: TOutlookApplicationProperties;
{$ENDIF}
    function      GetDefaultInterface: _Application;
  protected
    procedure InitServerData; override;
    procedure InvokeEvent(DispID: TDispID; var Params: TVariantArray); override;
    function Get_Application: _Application;
    function Get_Class_: OlObjectClass;
    function Get_Session: _NameSpace;
    function Get_Parent: IDispatch;
    function Get_Assistant: Assistant;
    function Get_Name: WideString;
    function Get_Version: WideString;
    function Get_COMAddIns: COMAddIns;
    function Get_Explorers: _Explorers;
    function Get_Inspectors: _Inspectors;
    function Get_LanguageSettings: LanguageSettings;
    function Get_ProductCode: WideString;
    function Get_AnswerWizard: AnswerWizard;
    function Get_FeatureInstall: MsoFeatureInstall;
    procedure Set_FeatureInstall(FeatureInstall: MsoFeatureInstall);
    function Get_Reminders: _Reminders;
  public
    constructor Create(AOwner: TComponent); override;
    destructor  Destroy; override;
    procedure Connect; override;
    procedure ConnectTo(svrIntf: _Application);
    procedure Disconnect; override;
    function ActiveExplorer: _Explorer;
    function ActiveInspector: _Inspector;
    function CreateItem(ItemType: OlItemType): IDispatch;
    function CreateItemFromTemplate(const TemplatePath: WideString): IDispatch; overload;
    function CreateItemFromTemplate(const TemplatePath: WideString; InFolder: OleVariant): IDispatch; overload;
    function CreateObject(const ObjectName: WideString): IDispatch;
    function GetNamespace(const Type_: WideString): _NameSpace;
    procedure Quit;
    function ActiveWindow: IDispatch;
    function CopyFile(const FilePath: WideString; const DestFolderPath: WideString): IDispatch;
    function AdvancedSearch(const Scope: WideString): Search; overload;
    function AdvancedSearch(const Scope: WideString; Filter: OleVariant): Search; overload;
    function AdvancedSearch(const Scope: WideString; Filter: OleVariant; 
                            SearchSubFolders: OleVariant): Search; overload;
    function AdvancedSearch(const Scope: WideString; Filter: OleVariant; 
                            SearchSubFolders: OleVariant; Tag: OleVariant): Search; overload;
    function IsSearchSynchronous(const LookInFolders: WideString): WordBool;
    procedure GetNewNickNames(var pvar: OleVariant);
    property DefaultInterface: _Application read GetDefaultInterface;
    property Application: _Application read Get_Application;
    property Class_: OlObjectClass read Get_Class_;
    property Session: _NameSpace read Get_Session;
    property Parent: IDispatch read Get_Parent;
    property Assistant: Assistant read Get_Assistant;
    property Name: WideString read Get_Name;
    property Version: WideString read Get_Version;
    property COMAddIns: COMAddIns read Get_COMAddIns;
    property Explorers: _Explorers read Get_Explorers;
    property Inspectors: _Inspectors read Get_Inspectors;
    property LanguageSettings: LanguageSettings read Get_LanguageSettings;
    property ProductCode: WideString read Get_ProductCode;
    property AnswerWizard: AnswerWizard read Get_AnswerWizard;
    property FeatureInstall: MsoFeatureInstall read Get_FeatureInstall write Set_FeatureInstall;
    property Reminders: _Reminders read Get_Reminders;
  published
    property AutoQuit: Boolean read FAutoQuit write FAutoQuit; 
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
    property Server: TOutlookApplicationProperties read GetServerProperties;
{$ENDIF}
    property OnItemSend: TOutlookApplicationItemSend read FOnItemSend write FOnItemSend;
    property OnNewMail: TNotifyEvent read FOnNewMail write FOnNewMail;
    property OnReminder: TOutlookApplicationReminder read FOnReminder write FOnReminder;
    property OnOptionsPagesAdd: TOutlookApplicationOptionsPagesAdd read FOnOptionsPagesAdd write FOnOptionsPagesAdd;
    property OnStartup: TNotifyEvent read FOnStartup write FOnStartup;
    property OnQuit: TNotifyEvent read FOnQuit write FOnQuit;
    property OnAdvancedSearchComplete: TOutlookApplicationAdvancedSearchComplete read FOnAdvancedSearchComplete write FOnAdvancedSearchComplete;
    property OnAdvancedSearchStopped: TOutlookApplicationAdvancedSearchStopped read FOnAdvancedSearchStopped write FOnAdvancedSearchStopped;
    property OnMAPILogonComplete: TNotifyEvent read FOnMAPILogonComplete write FOnMAPILogonComplete;
  end;

{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
// *********************************************************************//
// OLE Server Properties Proxy Class
// Server Object    : TOutlookApplication
// (This object is used by the IDE's Property Inspector to allow editing
//  of the properties of this server)
// *********************************************************************//
 TOutlookApplicationProperties = class(TPersistent)
  private
    FServer:    TOutlookApplication;
    function    GetDefaultInterface: _Application;
    constructor Create(AServer: TOutlookApplication);
  protected
    function Get_Application: _Application;
    function Get_Class_: OlObjectClass;
    function Get_Session: _NameSpace;
    function Get_Parent: IDispatch;
    function Get_Assistant: Assistant;
    function Get_Name: WideString;
    function Get_Version: WideString;
    function Get_COMAddIns: COMAddIns;
    function Get_Explorers: _Explorers;
    function Get_Inspectors: _Inspectors;
    function Get_LanguageSettings: LanguageSettings;
    function Get_ProductCode: WideString;
    function Get_AnswerWizard: AnswerWizard;
    function Get_FeatureInstall: MsoFeatureInstall;
    procedure Set_FeatureInstall(FeatureInstall: MsoFeatureInstall);
    function Get_Reminders: _Reminders;
  public
    property DefaultInterface: _Application read GetDefaultInterface;
  published
  end;
{$ENDIF}


// *********************************************************************//
// The Class CoContactItem provides a Create and CreateRemote method to          
// create instances of the default interface _ContactItem exposed by              
// the CoClass ContactItem. The functions are intended to be used by             
// clients wishing to automate the CoClass objects exposed by the         
// server of this typelibrary.                                            
// *********************************************************************//
  CoContactItem = class
    class function Create: _ContactItem;
    class function CreateRemote(const MachineName: string): _ContactItem;
  end;

  TContactItemOpen = procedure(ASender: TObject; var Cancel: WordBool) of object;
  TContactItemCustomAction = procedure(ASender: TObject; const Action: IDispatch; 
                                                         const Response: IDispatch; 
                                                         var Cancel: WordBool) of object;
  TContactItemCustomPropertyChange = procedure(ASender: TObject; const Name: WideString) of object;
  TContactItemForward = procedure(ASender: TObject; const Forward: IDispatch; var Cancel: WordBool) of object;
  TContactItemClose = procedure(ASender: TObject; var Cancel: WordBool) of object;
  TContactItemPropertyChange = procedure(ASender: TObject; const Name: WideString) of object;
  TContactItemReply = procedure(ASender: TObject; const Response: IDispatch; var Cancel: WordBool) of object;
  TContactItemReplyAll = procedure(ASender: TObject; const Response: IDispatch; var Cancel: WordBool) of object;
  TContactItemSend = procedure(ASender: TObject; var Cancel: WordBool) of object;
  TContactItemWrite = procedure(ASender: TObject; var Cancel: WordBool) of object;
  TContactItemBeforeCheckNames = procedure(ASender: TObject; var Cancel: WordBool) of object;
  TContactItemAttachmentAdd = procedure(ASender: TObject; const Attachment: Attachment) of object;
  TContactItemAttachmentRead = procedure(ASender: TObject; const Attachment: Attachment) of object;
  TContactItemBeforeAttachmentSave = procedure(ASender: TObject; const Attachment: Attachment; 
                                                                 var Cancel: WordBool) of object;
  TContactItemBeforeDelete = procedure(ASender: TObject; const Item: IDispatch; var Cancel: WordBool) of object;


// *********************************************************************//
// OLE Server Proxy class declaration
// Server Object    : TContactItem
// Help String      : 
// Default Interface: _ContactItem
// Def. Intf. DISP? : No
// Event   Interface: ItemEvents_10
// TypeFlags        : (0)
// *********************************************************************//
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  TContactItemProperties= class;
{$ENDIF}
  TContactItem = class(TOleServer)
  private
    FOnOpen: TContactItemOpen;
    FOnCustomAction: TContactItemCustomAction;
    FOnCustomPropertyChange: TContactItemCustomPropertyChange;
    FOnForward: TContactItemForward;
    FOnClose: TContactItemClose;
    FOnPropertyChange: TContactItemPropertyChange;
    FOnRead: TNotifyEvent;
    FOnReply: TContactItemReply;
    FOnReplyAll: TContactItemReplyAll;
    FOnSend: TContactItemSend;
    FOnWrite: TContactItemWrite;
    FOnBeforeCheckNames: TContactItemBeforeCheckNames;
    FOnAttachmentAdd: TContactItemAttachmentAdd;
    FOnAttachmentRead: TContactItemAttachmentRead;
    FOnBeforeAttachmentSave: TContactItemBeforeAttachmentSave;
    FOnBeforeDelete: TContactItemBeforeDelete;
    FIntf:        _ContactItem;
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
    FProps:       TContactItemProperties;
    function      GetServerProperties: TContactItemProperties;
{$ENDIF}
    function      GetDefaultInterface: _ContactItem;
  protected
    procedure InitServerData; override;
    procedure InvokeEvent(DispID: TDispID; var Params: TVariantArray); override;
    function Get_Application: _Application;
    function Get_Class_: OlObjectClass;
    function Get_Session: _NameSpace;
    function Get_Parent: IDispatch;
    function Get_Actions: Actions;
    function Get_Attachments: Attachments;
    function Get_BillingInformation: WideString;
    procedure Set_BillingInformation(const BillingInformation: WideString);
    function Get_Body: WideString;
    procedure Set_Body(const Body: WideString);
    function Get_Categories: WideString;
    procedure Set_Categories(const Categories: WideString);
    function Get_Companies: WideString;
    procedure Set_Companies(const Companies: WideString);
    function Get_ConversationIndex: WideString;
    function Get_ConversationTopic: WideString;
    function Get_CreationTime: TDateTime;
    function Get_EntryID: WideString;
    function Get_FormDescription: FormDescription;
    function Get_GetInspector: _Inspector;
    function Get_Importance: OlImportance;
    procedure Set_Importance(Importance: OlImportance);
    function Get_LastModificationTime: TDateTime;
    function Get_MAPIOBJECT: IUnknown;
    function Get_MessageClass: WideString;
    procedure Set_MessageClass(const MessageClass: WideString);
    function Get_Mileage: WideString;
    procedure Set_Mileage(const Mileage: WideString);
    function Get_NoAging: WordBool;
    procedure Set_NoAging(NoAging: WordBool);
    function Get_OutlookInternalVersion: Integer;
    function Get_OutlookVersion: WideString;
    function Get_Saved: WordBool;
    function Get_Sensitivity: OlSensitivity;
    procedure Set_Sensitivity(Sensitivity: OlSensitivity);
    function Get_Size: Integer;
    function Get_Subject: WideString;
    procedure Set_Subject(const Subject: WideString);
    function Get_UnRead: WordBool;
    procedure Set_UnRead(UnRead: WordBool);
    function Get_UserProperties: UserProperties;
    function Get_Account: WideString;
    procedure Set_Account(const Account: WideString);
    function Get_Anniversary: TDateTime;
    procedure Set_Anniversary(Anniversary: TDateTime);
    function Get_AssistantName: WideString;
    procedure Set_AssistantName(const AssistantName: WideString);
    function Get_AssistantTelephoneNumber: WideString;
    procedure Set_AssistantTelephoneNumber(const AssistantTelephoneNumber: WideString);
    function Get_Birthday: TDateTime;
    procedure Set_Birthday(Birthday: TDateTime);
    function Get_Business2TelephoneNumber: WideString;
    procedure Set_Business2TelephoneNumber(const Business2TelephoneNumber: WideString);
    function Get_BusinessAddress: WideString;
    procedure Set_BusinessAddress(const BusinessAddress: WideString);
    function Get_BusinessAddressCity: WideString;
    procedure Set_BusinessAddressCity(const BusinessAddressCity: WideString);
    function Get_BusinessAddressCountry: WideString;
    procedure Set_BusinessAddressCountry(const BusinessAddressCountry: WideString);
    function Get_BusinessAddressPostalCode: WideString;
    procedure Set_BusinessAddressPostalCode(const BusinessAddressPostalCode: WideString);
    function Get_BusinessAddressPostOfficeBox: WideString;
    procedure Set_BusinessAddressPostOfficeBox(const BusinessAddressPostOfficeBox: WideString);
    function Get_BusinessAddressState: WideString;
    procedure Set_BusinessAddressState(const BusinessAddressState: WideString);
    function Get_BusinessAddressStreet: WideString;
    procedure Set_BusinessAddressStreet(const BusinessAddressStreet: WideString);
    function Get_BusinessFaxNumber: WideString;
    procedure Set_BusinessFaxNumber(const BusinessFaxNumber: WideString);
    function Get_BusinessHomePage: WideString;
    procedure Set_BusinessHomePage(const BusinessHomePage: WideString);
    function Get_BusinessTelephoneNumber: WideString;
    procedure Set_BusinessTelephoneNumber(const BusinessTelephoneNumber: WideString);
    function Get_CallbackTelephoneNumber: WideString;
    procedure Set_CallbackTelephoneNumber(const CallbackTelephoneNumber: WideString);
    function Get_CarTelephoneNumber: WideString;
    procedure Set_CarTelephoneNumber(const CarTelephoneNumber: WideString);
    function Get_Children: WideString;
    procedure Set_Children(const Children: WideString);
    function Get_CompanyAndFullName: WideString;
    function Get_CompanyLastFirstNoSpace: WideString;
    function Get_CompanyLastFirstSpaceOnly: WideString;
    function Get_CompanyMainTelephoneNumber: WideString;
    procedure Set_CompanyMainTelephoneNumber(const CompanyMainTelephoneNumber: WideString);
    function Get_CompanyName: WideString;
    procedure Set_CompanyName(const CompanyName: WideString);
    function Get_ComputerNetworkName: WideString;
    procedure Set_ComputerNetworkName(const ComputerNetworkName: WideString);
    function Get_CustomerID: WideString;
    procedure Set_CustomerID(const CustomerID: WideString);
    function Get_Department: WideString;
    procedure Set_Department(const Department: WideString);
    function Get_Email1Address: WideString;
    procedure Set_Email1Address(const Email1Address: WideString);
    function Get_Email1AddressType: WideString;
    procedure Set_Email1AddressType(const Email1AddressType: WideString);
    function Get_Email1DisplayName: WideString;
    function Get_Email1EntryID: WideString;
    function Get_Email2Address: WideString;
    procedure Set_Email2Address(const Email2Address: WideString);
    function Get_Email2AddressType: WideString;
    procedure Set_Email2AddressType(const Email2AddressType: WideString);
    function Get_Email2DisplayName: WideString;
    function Get_Email2EntryID: WideString;
    function Get_Email3Address: WideString;
    procedure Set_Email3Address(const Email3Address: WideString);
    function Get_Email3AddressType: WideString;
    procedure Set_Email3AddressType(const Email3AddressType: WideString);
    function Get_Email3DisplayName: WideString;
    function Get_Email3EntryID: WideString;
    function Get_FileAs: WideString;
    procedure Set_FileAs(const FileAs: WideString);
    function Get_FirstName: WideString;
    procedure Set_FirstName(const FirstName: WideString);
    function Get_FTPSite: WideString;
    procedure Set_FTPSite(const FTPSite: WideString);
    function Get_FullName: WideString;
    procedure Set_FullName(const FullName: WideString);
    function Get_FullNameAndCompany: WideString;
    function Get_Gender: OlGender;
    procedure Set_Gender(Gender: OlGender);
    function Get_GovernmentIDNumber: WideString;
    procedure Set_GovernmentIDNumber(const GovernmentIDNumber: WideString);
    function Get_Hobby: WideString;
    procedure Set_Hobby(const Hobby: WideString);
    function Get_Home2TelephoneNumber: WideString;
    procedure Set_Home2TelephoneNumber(const Home2TelephoneNumber: WideString);
    function Get_HomeAddress: WideString;
    procedure Set_HomeAddress(const HomeAddress: WideString);
    function Get_HomeAddressCity: WideString;
    procedure Set_HomeAddressCity(const HomeAddressCity: WideString);
    function Get_HomeAddressCountry: WideString;
    procedure Set_HomeAddressCountry(const HomeAddressCountry: WideString);
    function Get_HomeAddressPostalCode: WideString;
    procedure Set_HomeAddressPostalCode(const HomeAddressPostalCode: WideString);
    function Get_HomeAddressPostOfficeBox: WideString;
    procedure Set_HomeAddressPostOfficeBox(const HomeAddressPostOfficeBox: WideString);
    function Get_HomeAddressState: WideString;
    procedure Set_HomeAddressState(const HomeAddressState: WideString);
    function Get_HomeAddressStreet: WideString;
    procedure Set_HomeAddressStreet(const HomeAddressStreet: WideString);
    function Get_HomeFaxNumber: WideString;
    procedure Set_HomeFaxNumber(const HomeFaxNumber: WideString);
    function Get_HomeTelephoneNumber: WideString;
    procedure Set_HomeTelephoneNumber(const HomeTelephoneNumber: WideString);
    function Get_Initials: WideString;
    procedure Set_Initials(const Initials: WideString);
    function Get_InternetFreeBusyAddress: WideString;
    procedure Set_InternetFreeBusyAddress(const InternetFreeBusyAddress: WideString);
    function Get_ISDNNumber: WideString;
    procedure Set_ISDNNumber(const ISDNNumber: WideString);
    function Get_JobTitle: WideString;
    procedure Set_JobTitle(const JobTitle: WideString);
    function Get_Journal: WordBool;
    procedure Set_Journal(Journal: WordBool);
    function Get_Language: WideString;
    procedure Set_Language(const Language: WideString);
    function Get_LastFirstAndSuffix: WideString;
    function Get_LastFirstNoSpace: WideString;
    function Get_LastFirstNoSpaceCompany: WideString;
    function Get_LastFirstSpaceOnly: WideString;
    function Get_LastFirstSpaceOnlyCompany: WideString;
    function Get_LastName: WideString;
    procedure Set_LastName(const LastName: WideString);
    function Get_LastNameAndFirstName: WideString;
    function Get_MailingAddress: WideString;
    procedure Set_MailingAddress(const MailingAddress: WideString);
    function Get_MailingAddressCity: WideString;
    procedure Set_MailingAddressCity(const MailingAddressCity: WideString);
    function Get_MailingAddressCountry: WideString;
    procedure Set_MailingAddressCountry(const MailingAddressCountry: WideString);
    function Get_MailingAddressPostalCode: WideString;
    procedure Set_MailingAddressPostalCode(const MailingAddressPostalCode: WideString);
    function Get_MailingAddressPostOfficeBox: WideString;
    procedure Set_MailingAddressPostOfficeBox(const MailingAddressPostOfficeBox: WideString);
    function Get_MailingAddressState: WideString;
    procedure Set_MailingAddressState(const MailingAddressState: WideString);
    function Get_MailingAddressStreet: WideString;
    procedure Set_MailingAddressStreet(const MailingAddressStreet: WideString);
    function Get_ManagerName: WideString;
    procedure Set_ManagerName(const ManagerName: WideString);
    function Get_MiddleName: WideString;
    procedure Set_MiddleName(const MiddleName: WideString);
    function Get_MobileTelephoneNumber: WideString;
    procedure Set_MobileTelephoneNumber(const MobileTelephoneNumber: WideString);
    function Get_NetMeetingAlias: WideString;
    procedure Set_NetMeetingAlias(const NetMeetingAlias: WideString);
    function Get_NetMeetingServer: WideString;
    procedure Set_NetMeetingServer(const NetMeetingServer: WideString);
    function Get_NickName: WideString;
    procedure Set_NickName(const NickName: WideString);
    function Get_OfficeLocation: WideString;
    procedure Set_OfficeLocation(const OfficeLocation: WideString);
    function Get_OrganizationalIDNumber: WideString;
    procedure Set_OrganizationalIDNumber(const OrganizationalIDNumber: WideString);
    function Get_OtherAddress: WideString;
    procedure Set_OtherAddress(const OtherAddress: WideString);
    function Get_OtherAddressCity: WideString;
    procedure Set_OtherAddressCity(const OtherAddressCity: WideString);
    function Get_OtherAddressCountry: WideString;
    procedure Set_OtherAddressCountry(const OtherAddressCountry: WideString);
    function Get_OtherAddressPostalCode: WideString;
    procedure Set_OtherAddressPostalCode(const OtherAddressPostalCode: WideString);
    function Get_OtherAddressPostOfficeBox: WideString;
    procedure Set_OtherAddressPostOfficeBox(const OtherAddressPostOfficeBox: WideString);
    function Get_OtherAddressState: WideString;
    procedure Set_OtherAddressState(const OtherAddressState: WideString);
    function Get_OtherAddressStreet: WideString;
    procedure Set_OtherAddressStreet(const OtherAddressStreet: WideString);
    function Get_OtherFaxNumber: WideString;
    procedure Set_OtherFaxNumber(const OtherFaxNumber: WideString);
    function Get_OtherTelephoneNumber: WideString;
    procedure Set_OtherTelephoneNumber(const OtherTelephoneNumber: WideString);
    function Get_PagerNumber: WideString;
    procedure Set_PagerNumber(const PagerNumber: WideString);
    function Get_PersonalHomePage: WideString;
    procedure Set_PersonalHomePage(const PersonalHomePage: WideString);
    function Get_PrimaryTelephoneNumber: WideString;
    procedure Set_PrimaryTelephoneNumber(const PrimaryTelephoneNumber: WideString);
    function Get_Profession: WideString;
    procedure Set_Profession(const Profession: WideString);
    function Get_RadioTelephoneNumber: WideString;
    procedure Set_RadioTelephoneNumber(const RadioTelephoneNumber: WideString);
    function Get_ReferredBy: WideString;
    procedure Set_ReferredBy(const ReferredBy: WideString);
    function Get_SelectedMailingAddress: OlMailingAddress;
    procedure Set_SelectedMailingAddress(SelectedMailingAddress: OlMailingAddress);
    function Get_Spouse: WideString;
    procedure Set_Spouse(const Spouse: WideString);
    function Get_Suffix: WideString;
    procedure Set_Suffix(const Suffix: WideString);
    function Get_TelexNumber: WideString;
    procedure Set_TelexNumber(const TelexNumber: WideString);
    function Get_Title: WideString;
    procedure Set_Title(const Title: WideString);
    function Get_TTYTDDTelephoneNumber: WideString;
    procedure Set_TTYTDDTelephoneNumber(const TTYTDDTelephoneNumber: WideString);
    function Get_User1: WideString;
    procedure Set_User1(const User1: WideString);
    function Get_User2: WideString;
    procedure Set_User2(const User2: WideString);
    function Get_User3: WideString;
    procedure Set_User3(const User3: WideString);
    function Get_User4: WideString;
    procedure Set_User4(const User4: WideString);
    function Get_UserCertificate: WideString;
    procedure Set_UserCertificate(const UserCertificate: WideString);
    function Get_WebPage: WideString;
    procedure Set_WebPage(const WebPage: WideString);
    function Get_YomiCompanyName: WideString;
    procedure Set_YomiCompanyName(const YomiCompanyName: WideString);
    function Get_YomiFirstName: WideString;
    procedure Set_YomiFirstName(const YomiFirstName: WideString);
    function Get_YomiLastName: WideString;
    procedure Set_YomiLastName(const YomiLastName: WideString);
    function Get_Links: Links;
    function Get_ItemProperties: ItemProperties;
    function Get_LastFirstNoSpaceAndSuffix: WideString;
    function Get_DownloadState: OlDownloadState;
    function Get_IMAddress: WideString;
    procedure Set_IMAddress(const IMAddress: WideString);
    function Get_MarkForDownload: OlRemoteStatus;
    procedure Set_MarkForDownload(MarkForDownload: OlRemoteStatus);
    procedure Set_Email1DisplayName(const Email1DisplayName: WideString);
    procedure Set_Email2DisplayName(const Email2DisplayName: WideString);
    procedure Set_Email3DisplayName(const Email3DisplayName: WideString);
    function Get_IsConflict: WordBool;
  public
    constructor Create(AOwner: TComponent); override;
    destructor  Destroy; override;
    procedure Connect; override;
    procedure ConnectTo(svrIntf: _ContactItem);
    procedure Disconnect; override;
    procedure Close(SaveMode: OlInspectorClose);
    function Copy: IDispatch;
    procedure Delete;
    procedure Display; overload;
    procedure Display(Modal: OleVariant); overload;
    function Move(const DestFldr: MAPIFolder): IDispatch;
    procedure PrintOut;
    procedure Save;
    procedure SaveAs(const Path: WideString); overload;
    procedure SaveAs(const Path: WideString; Type_: OleVariant); overload;
    function ForwardAsVcard: MailItem;
    procedure ShowCategoriesDialog;
    property DefaultInterface: _ContactItem read GetDefaultInterface;
    property Application: _Application read Get_Application;
    property Class_: OlObjectClass read Get_Class_;
    property Session: _NameSpace read Get_Session;
    property Parent: IDispatch read Get_Parent;
    property Actions: Actions read Get_Actions;
    property Attachments: Attachments read Get_Attachments;
    property ConversationIndex: WideString read Get_ConversationIndex;
    property ConversationTopic: WideString read Get_ConversationTopic;
    property CreationTime: TDateTime read Get_CreationTime;
    property EntryID: WideString read Get_EntryID;
    property FormDescription: FormDescription read Get_FormDescription;
    property GetInspector: _Inspector read Get_GetInspector;
    property LastModificationTime: TDateTime read Get_LastModificationTime;
    property MAPIOBJECT: IUnknown read Get_MAPIOBJECT;
    property OutlookInternalVersion: Integer read Get_OutlookInternalVersion;
    property OutlookVersion: WideString read Get_OutlookVersion;
    property Saved: WordBool read Get_Saved;
    property Size: Integer read Get_Size;
    property UserProperties: UserProperties read Get_UserProperties;
    property CompanyAndFullName: WideString read Get_CompanyAndFullName;
    property CompanyLastFirstNoSpace: WideString read Get_CompanyLastFirstNoSpace;
    property CompanyLastFirstSpaceOnly: WideString read Get_CompanyLastFirstSpaceOnly;
    property Email1EntryID: WideString read Get_Email1EntryID;
    property Email2EntryID: WideString read Get_Email2EntryID;
    property Email3EntryID: WideString read Get_Email3EntryID;
    property FullNameAndCompany: WideString read Get_FullNameAndCompany;
    property LastFirstAndSuffix: WideString read Get_LastFirstAndSuffix;
    property LastFirstNoSpace: WideString read Get_LastFirstNoSpace;
    property LastFirstNoSpaceCompany: WideString read Get_LastFirstNoSpaceCompany;
    property LastFirstSpaceOnly: WideString read Get_LastFirstSpaceOnly;
    property LastFirstSpaceOnlyCompany: WideString read Get_LastFirstSpaceOnlyCompany;
    property LastNameAndFirstName: WideString read Get_LastNameAndFirstName;
    property Links: Links read Get_Links;
    property ItemProperties: ItemProperties read Get_ItemProperties;
    property LastFirstNoSpaceAndSuffix: WideString read Get_LastFirstNoSpaceAndSuffix;
    property DownloadState: OlDownloadState read Get_DownloadState;
    property IsConflict: WordBool read Get_IsConflict;
    property BillingInformation: WideString read Get_BillingInformation write Set_BillingInformation;
    property Body: WideString read Get_Body write Set_Body;
    property Categories: WideString read Get_Categories write Set_Categories;
    property Companies: WideString read Get_Companies write Set_Companies;
    property Importance: OlImportance read Get_Importance write Set_Importance;
    property MessageClass: WideString read Get_MessageClass write Set_MessageClass;
    property Mileage: WideString read Get_Mileage write Set_Mileage;
    property NoAging: WordBool read Get_NoAging write Set_NoAging;
    property Sensitivity: OlSensitivity read Get_Sensitivity write Set_Sensitivity;
    property Subject: WideString read Get_Subject write Set_Subject;
    property UnRead: WordBool read Get_UnRead write Set_UnRead;
    property Account: WideString read Get_Account write Set_Account;
    property Anniversary: TDateTime read Get_Anniversary write Set_Anniversary;
    property AssistantName: WideString read Get_AssistantName write Set_AssistantName;
    property AssistantTelephoneNumber: WideString read Get_AssistantTelephoneNumber write Set_AssistantTelephoneNumber;
    property Birthday: TDateTime read Get_Birthday write Set_Birthday;
    property Business2TelephoneNumber: WideString read Get_Business2TelephoneNumber write Set_Business2TelephoneNumber;
    property BusinessAddress: WideString read Get_BusinessAddress write Set_BusinessAddress;
    property BusinessAddressCity: WideString read Get_BusinessAddressCity write Set_BusinessAddressCity;
    property BusinessAddressCountry: WideString read Get_BusinessAddressCountry write Set_BusinessAddressCountry;
    property BusinessAddressPostalCode: WideString read Get_BusinessAddressPostalCode write Set_BusinessAddressPostalCode;
    property BusinessAddressPostOfficeBox: WideString read Get_BusinessAddressPostOfficeBox write Set_BusinessAddressPostOfficeBox;
    property BusinessAddressState: WideString read Get_BusinessAddressState write Set_BusinessAddressState;
    property BusinessAddressStreet: WideString read Get_BusinessAddressStreet write Set_BusinessAddressStreet;
    property BusinessFaxNumber: WideString read Get_BusinessFaxNumber write Set_BusinessFaxNumber;
    property BusinessHomePage: WideString read Get_BusinessHomePage write Set_BusinessHomePage;
    property BusinessTelephoneNumber: WideString read Get_BusinessTelephoneNumber write Set_BusinessTelephoneNumber;
    property CallbackTelephoneNumber: WideString read Get_CallbackTelephoneNumber write Set_CallbackTelephoneNumber;
    property CarTelephoneNumber: WideString read Get_CarTelephoneNumber write Set_CarTelephoneNumber;
    property Children: WideString read Get_Children write Set_Children;
    property CompanyMainTelephoneNumber: WideString read Get_CompanyMainTelephoneNumber write Set_CompanyMainTelephoneNumber;
    property CompanyName: WideString read Get_CompanyName write Set_CompanyName;
    property ComputerNetworkName: WideString read Get_ComputerNetworkName write Set_ComputerNetworkName;
    property CustomerID: WideString read Get_CustomerID write Set_CustomerID;
    property Department: WideString read Get_Department write Set_Department;
    property Email1Address: WideString read Get_Email1Address write Set_Email1Address;
    property Email1AddressType: WideString read Get_Email1AddressType write Set_Email1AddressType;
    property Email1DisplayName: WideString read Get_Email1DisplayName write Set_Email1DisplayName;
    property Email2Address: WideString read Get_Email2Address write Set_Email2Address;
    property Email2AddressType: WideString read Get_Email2AddressType write Set_Email2AddressType;
    property Email2DisplayName: WideString read Get_Email2DisplayName write Set_Email2DisplayName;
    property Email3Address: WideString read Get_Email3Address write Set_Email3Address;
    property Email3AddressType: WideString read Get_Email3AddressType write Set_Email3AddressType;
    property Email3DisplayName: WideString read Get_Email3DisplayName write Set_Email3DisplayName;
    property FileAs: WideString read Get_FileAs write Set_FileAs;
    property FirstName: WideString read Get_FirstName write Set_FirstName;
    property FTPSite: WideString read Get_FTPSite write Set_FTPSite;
    property FullName: WideString read Get_FullName write Set_FullName;
    property Gender: OlGender read Get_Gender write Set_Gender;
    property GovernmentIDNumber: WideString read Get_GovernmentIDNumber write Set_GovernmentIDNumber;
    property Hobby: WideString read Get_Hobby write Set_Hobby;
    property Home2TelephoneNumber: WideString read Get_Home2TelephoneNumber write Set_Home2TelephoneNumber;
    property HomeAddress: WideString read Get_HomeAddress write Set_HomeAddress;
    property HomeAddressCity: WideString read Get_HomeAddressCity write Set_HomeAddressCity;
    property HomeAddressCountry: WideString read Get_HomeAddressCountry write Set_HomeAddressCountry;
    property HomeAddressPostalCode: WideString read Get_HomeAddressPostalCode write Set_HomeAddressPostalCode;
    property HomeAddressPostOfficeBox: WideString read Get_HomeAddressPostOfficeBox write Set_HomeAddressPostOfficeBox;
    property HomeAddressState: WideString read Get_HomeAddressState write Set_HomeAddressState;
    property HomeAddressStreet: WideString read Get_HomeAddressStreet write Set_HomeAddressStreet;
    property HomeFaxNumber: WideString read Get_HomeFaxNumber write Set_HomeFaxNumber;
    property HomeTelephoneNumber: WideString read Get_HomeTelephoneNumber write Set_HomeTelephoneNumber;
    property Initials: WideString read Get_Initials write Set_Initials;
    property InternetFreeBusyAddress: WideString read Get_InternetFreeBusyAddress write Set_InternetFreeBusyAddress;
    property ISDNNumber: WideString read Get_ISDNNumber write Set_ISDNNumber;
    property JobTitle: WideString read Get_JobTitle write Set_JobTitle;
    property Journal: WordBool read Get_Journal write Set_Journal;
    property Language: WideString read Get_Language write Set_Language;
    property LastName: WideString read Get_LastName write Set_LastName;
    property MailingAddress: WideString read Get_MailingAddress write Set_MailingAddress;
    property MailingAddressCity: WideString read Get_MailingAddressCity write Set_MailingAddressCity;
    property MailingAddressCountry: WideString read Get_MailingAddressCountry write Set_MailingAddressCountry;
    property MailingAddressPostalCode: WideString read Get_MailingAddressPostalCode write Set_MailingAddressPostalCode;
    property MailingAddressPostOfficeBox: WideString read Get_MailingAddressPostOfficeBox write Set_MailingAddressPostOfficeBox;
    property MailingAddressState: WideString read Get_MailingAddressState write Set_MailingAddressState;
    property MailingAddressStreet: WideString read Get_MailingAddressStreet write Set_MailingAddressStreet;
    property ManagerName: WideString read Get_ManagerName write Set_ManagerName;
    property MiddleName: WideString read Get_MiddleName write Set_MiddleName;
    property MobileTelephoneNumber: WideString read Get_MobileTelephoneNumber write Set_MobileTelephoneNumber;
    property NetMeetingAlias: WideString read Get_NetMeetingAlias write Set_NetMeetingAlias;
    property NetMeetingServer: WideString read Get_NetMeetingServer write Set_NetMeetingServer;
    property NickName: WideString read Get_NickName write Set_NickName;
    property OfficeLocation: WideString read Get_OfficeLocation write Set_OfficeLocation;
    property OrganizationalIDNumber: WideString read Get_OrganizationalIDNumber write Set_OrganizationalIDNumber;
    property OtherAddress: WideString read Get_OtherAddress write Set_OtherAddress;
    property OtherAddressCity: WideString read Get_OtherAddressCity write Set_OtherAddressCity;
    property OtherAddressCountry: WideString read Get_OtherAddressCountry write Set_OtherAddressCountry;
    property OtherAddressPostalCode: WideString read Get_OtherAddressPostalCode write Set_OtherAddressPostalCode;
    property OtherAddressPostOfficeBox: WideString read Get_OtherAddressPostOfficeBox write Set_OtherAddressPostOfficeBox;
    property OtherAddressState: WideString read Get_OtherAddressState write Set_OtherAddressState;
    property OtherAddressStreet: WideString read Get_OtherAddressStreet write Set_OtherAddressStreet;
    property OtherFaxNumber: WideString read Get_OtherFaxNumber write Set_OtherFaxNumber;
    property OtherTelephoneNumber: WideString read Get_OtherTelephoneNumber write Set_OtherTelephoneNumber;
    property PagerNumber: WideString read Get_PagerNumber write Set_PagerNumber;
    property PersonalHomePage: WideString read Get_PersonalHomePage write Set_PersonalHomePage;
    property PrimaryTelephoneNumber: WideString read Get_PrimaryTelephoneNumber write Set_PrimaryTelephoneNumber;
    property Profession: WideString read Get_Profession write Set_Profession;
    property RadioTelephoneNumber: WideString read Get_RadioTelephoneNumber write Set_RadioTelephoneNumber;
    property ReferredBy: WideString read Get_ReferredBy write Set_ReferredBy;
    property SelectedMailingAddress: OlMailingAddress read Get_SelectedMailingAddress write Set_SelectedMailingAddress;
    property Spouse: WideString read Get_Spouse write Set_Spouse;
    property Suffix: WideString read Get_Suffix write Set_Suffix;
    property TelexNumber: WideString read Get_TelexNumber write Set_TelexNumber;
    property Title: WideString read Get_Title write Set_Title;
    property TTYTDDTelephoneNumber: WideString read Get_TTYTDDTelephoneNumber write Set_TTYTDDTelephoneNumber;
    property User1: WideString read Get_User1 write Set_User1;
    property User2: WideString read Get_User2 write Set_User2;
    property User3: WideString read Get_User3 write Set_User3;
    property User4: WideString read Get_User4 write Set_User4;
    property UserCertificate: WideString read Get_UserCertificate write Set_UserCertificate;
    property WebPage: WideString read Get_WebPage write Set_WebPage;
    property YomiCompanyName: WideString read Get_YomiCompanyName write Set_YomiCompanyName;
    property YomiFirstName: WideString read Get_YomiFirstName write Set_YomiFirstName;
    property YomiLastName: WideString read Get_YomiLastName write Set_YomiLastName;
    property IMAddress: WideString read Get_IMAddress write Set_IMAddress;
    property MarkForDownload: OlRemoteStatus read Get_MarkForDownload write Set_MarkForDownload;
  published
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
    property Server: TContactItemProperties read GetServerProperties;
{$ENDIF}
    property OnOpen: TContactItemOpen read FOnOpen write FOnOpen;
    property OnCustomAction: TContactItemCustomAction read FOnCustomAction write FOnCustomAction;
    property OnCustomPropertyChange: TContactItemCustomPropertyChange read FOnCustomPropertyChange write FOnCustomPropertyChange;
    property OnForward: TContactItemForward read FOnForward write FOnForward;
    property OnClose: TContactItemClose read FOnClose write FOnClose;
    property OnPropertyChange: TContactItemPropertyChange read FOnPropertyChange write FOnPropertyChange;
    property OnRead: TNotifyEvent read FOnRead write FOnRead;
    property OnReply: TContactItemReply read FOnReply write FOnReply;
    property OnReplyAll: TContactItemReplyAll read FOnReplyAll write FOnReplyAll;
    property OnSend: TContactItemSend read FOnSend write FOnSend;
    property OnWrite: TContactItemWrite read FOnWrite write FOnWrite;
    property OnBeforeCheckNames: TContactItemBeforeCheckNames read FOnBeforeCheckNames write FOnBeforeCheckNames;
    property OnAttachmentAdd: TContactItemAttachmentAdd read FOnAttachmentAdd write FOnAttachmentAdd;
    property OnAttachmentRead: TContactItemAttachmentRead read FOnAttachmentRead write FOnAttachmentRead;
    property OnBeforeAttachmentSave: TContactItemBeforeAttachmentSave read FOnBeforeAttachmentSave write FOnBeforeAttachmentSave;
    property OnBeforeDelete: TContactItemBeforeDelete read FOnBeforeDelete write FOnBeforeDelete;
  end;

{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
// *********************************************************************//
// OLE Server Properties Proxy Class
// Server Object    : TContactItem
// (This object is used by the IDE's Property Inspector to allow editing
//  of the properties of this server)
// *********************************************************************//
 TContactItemProperties = class(TPersistent)
  private
    FServer:    TContactItem;
    function    GetDefaultInterface: _ContactItem;
    constructor Create(AServer: TContactItem);
  protected
    function Get_Application: _Application;
    function Get_Class_: OlObjectClass;
    function Get_Session: _NameSpace;
    function Get_Parent: IDispatch;
    function Get_Actions: Actions;
    function Get_Attachments: Attachments;
    function Get_BillingInformation: WideString;
    procedure Set_BillingInformation(const BillingInformation: WideString);
    function Get_Body: WideString;
    procedure Set_Body(const Body: WideString);
    function Get_Categories: WideString;
    procedure Set_Categories(const Categories: WideString);
    function Get_Companies: WideString;
    procedure Set_Companies(const Companies: WideString);
    function Get_ConversationIndex: WideString;
    function Get_ConversationTopic: WideString;
    function Get_CreationTime: TDateTime;
    function Get_EntryID: WideString;
    function Get_FormDescription: FormDescription;
    function Get_GetInspector: _Inspector;
    function Get_Importance: OlImportance;
    procedure Set_Importance(Importance: OlImportance);
    function Get_LastModificationTime: TDateTime;
    function Get_MAPIOBJECT: IUnknown;
    function Get_MessageClass: WideString;
    procedure Set_MessageClass(const MessageClass: WideString);
    function Get_Mileage: WideString;
    procedure Set_Mileage(const Mileage: WideString);
    function Get_NoAging: WordBool;
    procedure Set_NoAging(NoAging: WordBool);
    function Get_OutlookInternalVersion: Integer;
    function Get_OutlookVersion: WideString;
    function Get_Saved: WordBool;
    function Get_Sensitivity: OlSensitivity;
    procedure Set_Sensitivity(Sensitivity: OlSensitivity);
    function Get_Size: Integer;
    function Get_Subject: WideString;
    procedure Set_Subject(const Subject: WideString);
    function Get_UnRead: WordBool;
    procedure Set_UnRead(UnRead: WordBool);
    function Get_UserProperties: UserProperties;
    function Get_Account: WideString;
    procedure Set_Account(const Account: WideString);
    function Get_Anniversary: TDateTime;
    procedure Set_Anniversary(Anniversary: TDateTime);
    function Get_AssistantName: WideString;
    procedure Set_AssistantName(const AssistantName: WideString);
    function Get_AssistantTelephoneNumber: WideString;
    procedure Set_AssistantTelephoneNumber(const AssistantTelephoneNumber: WideString);
    function Get_Birthday: TDateTime;
    procedure Set_Birthday(Birthday: TDateTime);
    function Get_Business2TelephoneNumber: WideString;
    procedure Set_Business2TelephoneNumber(const Business2TelephoneNumber: WideString);
    function Get_BusinessAddress: WideString;
    procedure Set_BusinessAddress(const BusinessAddress: WideString);
    function Get_BusinessAddressCity: WideString;
    procedure Set_BusinessAddressCity(const BusinessAddressCity: WideString);
    function Get_BusinessAddressCountry: WideString;
    procedure Set_BusinessAddressCountry(const BusinessAddressCountry: WideString);
    function Get_BusinessAddressPostalCode: WideString;
    procedure Set_BusinessAddressPostalCode(const BusinessAddressPostalCode: WideString);
    function Get_BusinessAddressPostOfficeBox: WideString;
    procedure Set_BusinessAddressPostOfficeBox(const BusinessAddressPostOfficeBox: WideString);
    function Get_BusinessAddressState: WideString;
    procedure Set_BusinessAddressState(const BusinessAddressState: WideString);
    function Get_BusinessAddressStreet: WideString;
    procedure Set_BusinessAddressStreet(const BusinessAddressStreet: WideString);
    function Get_BusinessFaxNumber: WideString;
    procedure Set_BusinessFaxNumber(const BusinessFaxNumber: WideString);
    function Get_BusinessHomePage: WideString;
    procedure Set_BusinessHomePage(const BusinessHomePage: WideString);
    function Get_BusinessTelephoneNumber: WideString;
    procedure Set_BusinessTelephoneNumber(const BusinessTelephoneNumber: WideString);
    function Get_CallbackTelephoneNumber: WideString;
    procedure Set_CallbackTelephoneNumber(const CallbackTelephoneNumber: WideString);
    function Get_CarTelephoneNumber: WideString;
    procedure Set_CarTelephoneNumber(const CarTelephoneNumber: WideString);
    function Get_Children: WideString;
    procedure Set_Children(const Children: WideString);
    function Get_CompanyAndFullName: WideString;
    function Get_CompanyLastFirstNoSpace: WideString;
    function Get_CompanyLastFirstSpaceOnly: WideString;
    function Get_CompanyMainTelephoneNumber: WideString;
    procedure Set_CompanyMainTelephoneNumber(const CompanyMainTelephoneNumber: WideString);
    function Get_CompanyName: WideString;
    procedure Set_CompanyName(const CompanyName: WideString);
    function Get_ComputerNetworkName: WideString;
    procedure Set_ComputerNetworkName(const ComputerNetworkName: WideString);
    function Get_CustomerID: WideString;
    procedure Set_CustomerID(const CustomerID: WideString);
    function Get_Department: WideString;
    procedure Set_Department(const Department: WideString);
    function Get_Email1Address: WideString;
    procedure Set_Email1Address(const Email1Address: WideString);
    function Get_Email1AddressType: WideString;
    procedure Set_Email1AddressType(const Email1AddressType: WideString);
    function Get_Email1DisplayName: WideString;
    function Get_Email1EntryID: WideString;
    function Get_Email2Address: WideString;
    procedure Set_Email2Address(const Email2Address: WideString);
    function Get_Email2AddressType: WideString;
    procedure Set_Email2AddressType(const Email2AddressType: WideString);
    function Get_Email2DisplayName: WideString;
    function Get_Email2EntryID: WideString;
    function Get_Email3Address: WideString;
    procedure Set_Email3Address(const Email3Address: WideString);
    function Get_Email3AddressType: WideString;
    procedure Set_Email3AddressType(const Email3AddressType: WideString);
    function Get_Email3DisplayName: WideString;
    function Get_Email3EntryID: WideString;
    function Get_FileAs: WideString;
    procedure Set_FileAs(const FileAs: WideString);
    function Get_FirstName: WideString;
    procedure Set_FirstName(const FirstName: WideString);
    function Get_FTPSite: WideString;
    procedure Set_FTPSite(const FTPSite: WideString);
    function Get_FullName: WideString;
    procedure Set_FullName(const FullName: WideString);
    function Get_FullNameAndCompany: WideString;
    function Get_Gender: OlGender;
    procedure Set_Gender(Gender: OlGender);
    function Get_GovernmentIDNumber: WideString;
    procedure Set_GovernmentIDNumber(const GovernmentIDNumber: WideString);
    function Get_Hobby: WideString;
    procedure Set_Hobby(const Hobby: WideString);
    function Get_Home2TelephoneNumber: WideString;
    procedure Set_Home2TelephoneNumber(const Home2TelephoneNumber: WideString);
    function Get_HomeAddress: WideString;
    procedure Set_HomeAddress(const HomeAddress: WideString);
    function Get_HomeAddressCity: WideString;
    procedure Set_HomeAddressCity(const HomeAddressCity: WideString);
    function Get_HomeAddressCountry: WideString;
    procedure Set_HomeAddressCountry(const HomeAddressCountry: WideString);
    function Get_HomeAddressPostalCode: WideString;
    procedure Set_HomeAddressPostalCode(const HomeAddressPostalCode: WideString);
    function Get_HomeAddressPostOfficeBox: WideString;
    procedure Set_HomeAddressPostOfficeBox(const HomeAddressPostOfficeBox: WideString);
    function Get_HomeAddressState: WideString;
    procedure Set_HomeAddressState(const HomeAddressState: WideString);
    function Get_HomeAddressStreet: WideString;
    procedure Set_HomeAddressStreet(const HomeAddressStreet: WideString);
    function Get_HomeFaxNumber: WideString;
    procedure Set_HomeFaxNumber(const HomeFaxNumber: WideString);
    function Get_HomeTelephoneNumber: WideString;
    procedure Set_HomeTelephoneNumber(const HomeTelephoneNumber: WideString);
    function Get_Initials: WideString;
    procedure Set_Initials(const Initials: WideString);
    function Get_InternetFreeBusyAddress: WideString;
    procedure Set_InternetFreeBusyAddress(const InternetFreeBusyAddress: WideString);
    function Get_ISDNNumber: WideString;
    procedure Set_ISDNNumber(const ISDNNumber: WideString);
    function Get_JobTitle: WideString;
    procedure Set_JobTitle(const JobTitle: WideString);
    function Get_Journal: WordBool;
    procedure Set_Journal(Journal: WordBool);
    function Get_Language: WideString;
    procedure Set_Language(const Language: WideString);
    function Get_LastFirstAndSuffix: WideString;
    function Get_LastFirstNoSpace: WideString;
    function Get_LastFirstNoSpaceCompany: WideString;
    function Get_LastFirstSpaceOnly: WideString;
    function Get_LastFirstSpaceOnlyCompany: WideString;
    function Get_LastName: WideString;
    procedure Set_LastName(const LastName: WideString);
    function Get_LastNameAndFirstName: WideString;
    function Get_MailingAddress: WideString;
    procedure Set_MailingAddress(const MailingAddress: WideString);
    function Get_MailingAddressCity: WideString;
    procedure Set_MailingAddressCity(const MailingAddressCity: WideString);
    function Get_MailingAddressCountry: WideString;
    procedure Set_MailingAddressCountry(const MailingAddressCountry: WideString);
    function Get_MailingAddressPostalCode: WideString;
    procedure Set_MailingAddressPostalCode(const MailingAddressPostalCode: WideString);
    function Get_MailingAddressPostOfficeBox: WideString;
    procedure Set_MailingAddressPostOfficeBox(const MailingAddressPostOfficeBox: WideString);
    function Get_MailingAddressState: WideString;
    procedure Set_MailingAddressState(const MailingAddressState: WideString);
    function Get_MailingAddressStreet: WideString;
    procedure Set_MailingAddressStreet(const MailingAddressStreet: WideString);
    function Get_ManagerName: WideString;
    procedure Set_ManagerName(const ManagerName: WideString);
    function Get_MiddleName: WideString;
    procedure Set_MiddleName(const MiddleName: WideString);
    function Get_MobileTelephoneNumber: WideString;
    procedure Set_MobileTelephoneNumber(const MobileTelephoneNumber: WideString);
    function Get_NetMeetingAlias: WideString;
    procedure Set_NetMeetingAlias(const NetMeetingAlias: WideString);
    function Get_NetMeetingServer: WideString;
    procedure Set_NetMeetingServer(const NetMeetingServer: WideString);
    function Get_NickName: WideString;
    procedure Set_NickName(const NickName: WideString);
    function Get_OfficeLocation: WideString;
    procedure Set_OfficeLocation(const OfficeLocation: WideString);
    function Get_OrganizationalIDNumber: WideString;
    procedure Set_OrganizationalIDNumber(const OrganizationalIDNumber: WideString);
    function Get_OtherAddress: WideString;
    procedure Set_OtherAddress(const OtherAddress: WideString);
    function Get_OtherAddressCity: WideString;
    procedure Set_OtherAddressCity(const OtherAddressCity: WideString);
    function Get_OtherAddressCountry: WideString;
    procedure Set_OtherAddressCountry(const OtherAddressCountry: WideString);
    function Get_OtherAddressPostalCode: WideString;
    procedure Set_OtherAddressPostalCode(const OtherAddressPostalCode: WideString);
    function Get_OtherAddressPostOfficeBox: WideString;
    procedure Set_OtherAddressPostOfficeBox(const OtherAddressPostOfficeBox: WideString);
    function Get_OtherAddressState: WideString;
    procedure Set_OtherAddressState(const OtherAddressState: WideString);
    function Get_OtherAddressStreet: WideString;
    procedure Set_OtherAddressStreet(const OtherAddressStreet: WideString);
    function Get_OtherFaxNumber: WideString;
    procedure Set_OtherFaxNumber(const OtherFaxNumber: WideString);
    function Get_OtherTelephoneNumber: WideString;
    procedure Set_OtherTelephoneNumber(const OtherTelephoneNumber: WideString);
    function Get_PagerNumber: WideString;
    procedure Set_PagerNumber(const PagerNumber: WideString);
    function Get_PersonalHomePage: WideString;
    procedure Set_PersonalHomePage(const PersonalHomePage: WideString);
    function Get_PrimaryTelephoneNumber: WideString;
    procedure Set_PrimaryTelephoneNumber(const PrimaryTelephoneNumber: WideString);
    function Get_Profession: WideString;
    procedure Set_Profession(const Profession: WideString);
    function Get_RadioTelephoneNumber: WideString;
    procedure Set_RadioTelephoneNumber(const RadioTelephoneNumber: WideString);
    function Get_ReferredBy: WideString;
    procedure Set_ReferredBy(const ReferredBy: WideString);
    function Get_SelectedMailingAddress: OlMailingAddress;
    procedure Set_SelectedMailingAddress(SelectedMailingAddress: OlMailingAddress);
    function Get_Spouse: WideString;
    procedure Set_Spouse(const Spouse: WideString);
    function Get_Suffix: WideString;
    procedure Set_Suffix(const Suffix: WideString);
    function Get_TelexNumber: WideString;
    procedure Set_TelexNumber(const TelexNumber: WideString);
    function Get_Title: WideString;
    procedure Set_Title(const Title: WideString);
    function Get_TTYTDDTelephoneNumber: WideString;
    procedure Set_TTYTDDTelephoneNumber(const TTYTDDTelephoneNumber: WideString);
    function Get_User1: WideString;
    procedure Set_User1(const User1: WideString);
    function Get_User2: WideString;
    procedure Set_User2(const User2: WideString);
    function Get_User3: WideString;
    procedure Set_User3(const User3: WideString);
    function Get_User4: WideString;
    procedure Set_User4(const User4: WideString);
    function Get_UserCertificate: WideString;
    procedure Set_UserCertificate(const UserCertificate: WideString);
    function Get_WebPage: WideString;
    procedure Set_WebPage(const WebPage: WideString);
    function Get_YomiCompanyName: WideString;
    procedure Set_YomiCompanyName(const YomiCompanyName: WideString);
    function Get_YomiFirstName: WideString;
    procedure Set_YomiFirstName(const YomiFirstName: WideString);
    function Get_YomiLastName: WideString;
    procedure Set_YomiLastName(const YomiLastName: WideString);
    function Get_Links: Links;
    function Get_ItemProperties: ItemProperties;
    function Get_LastFirstNoSpaceAndSuffix: WideString;
    function Get_DownloadState: OlDownloadState;
    function Get_IMAddress: WideString;
    procedure Set_IMAddress(const IMAddress: WideString);
    function Get_MarkForDownload: OlRemoteStatus;
    procedure Set_MarkForDownload(MarkForDownload: OlRemoteStatus);
    procedure Set_Email1DisplayName(const Email1DisplayName: WideString);
    procedure Set_Email2DisplayName(const Email2DisplayName: WideString);
    procedure Set_Email3DisplayName(const Email3DisplayName: WideString);
    function Get_IsConflict: WordBool;
  public
    property DefaultInterface: _ContactItem read GetDefaultInterface;
  published
    property BillingInformation: WideString read Get_BillingInformation write Set_BillingInformation;
    property Body: WideString read Get_Body write Set_Body;
    property Categories: WideString read Get_Categories write Set_Categories;
    property Companies: WideString read Get_Companies write Set_Companies;
    property Importance: OlImportance read Get_Importance write Set_Importance;
    property MessageClass: WideString read Get_MessageClass write Set_MessageClass;
    property Mileage: WideString read Get_Mileage write Set_Mileage;
    property NoAging: WordBool read Get_NoAging write Set_NoAging;
    property Sensitivity: OlSensitivity read Get_Sensitivity write Set_Sensitivity;
    property Subject: WideString read Get_Subject write Set_Subject;
    property UnRead: WordBool read Get_UnRead write Set_UnRead;
    property Account: WideString read Get_Account write Set_Account;
    property Anniversary: TDateTime read Get_Anniversary write Set_Anniversary;
    property AssistantName: WideString read Get_AssistantName write Set_AssistantName;
    property AssistantTelephoneNumber: WideString read Get_AssistantTelephoneNumber write Set_AssistantTelephoneNumber;
    property Birthday: TDateTime read Get_Birthday write Set_Birthday;
    property Business2TelephoneNumber: WideString read Get_Business2TelephoneNumber write Set_Business2TelephoneNumber;
    property BusinessAddress: WideString read Get_BusinessAddress write Set_BusinessAddress;
    property BusinessAddressCity: WideString read Get_BusinessAddressCity write Set_BusinessAddressCity;
    property BusinessAddressCountry: WideString read Get_BusinessAddressCountry write Set_BusinessAddressCountry;
    property BusinessAddressPostalCode: WideString read Get_BusinessAddressPostalCode write Set_BusinessAddressPostalCode;
    property BusinessAddressPostOfficeBox: WideString read Get_BusinessAddressPostOfficeBox write Set_BusinessAddressPostOfficeBox;
    property BusinessAddressState: WideString read Get_BusinessAddressState write Set_BusinessAddressState;
    property BusinessAddressStreet: WideString read Get_BusinessAddressStreet write Set_BusinessAddressStreet;
    property BusinessFaxNumber: WideString read Get_BusinessFaxNumber write Set_BusinessFaxNumber;
    property BusinessHomePage: WideString read Get_BusinessHomePage write Set_BusinessHomePage;
    property BusinessTelephoneNumber: WideString read Get_BusinessTelephoneNumber write Set_BusinessTelephoneNumber;
    property CallbackTelephoneNumber: WideString read Get_CallbackTelephoneNumber write Set_CallbackTelephoneNumber;
    property CarTelephoneNumber: WideString read Get_CarTelephoneNumber write Set_CarTelephoneNumber;
    property Children: WideString read Get_Children write Set_Children;
    property CompanyMainTelephoneNumber: WideString read Get_CompanyMainTelephoneNumber write Set_CompanyMainTelephoneNumber;
    property CompanyName: WideString read Get_CompanyName write Set_CompanyName;
    property ComputerNetworkName: WideString read Get_ComputerNetworkName write Set_ComputerNetworkName;
    property CustomerID: WideString read Get_CustomerID write Set_CustomerID;
    property Department: WideString read Get_Department write Set_Department;
    property Email1Address: WideString read Get_Email1Address write Set_Email1Address;
    property Email1AddressType: WideString read Get_Email1AddressType write Set_Email1AddressType;
    property Email1DisplayName: WideString read Get_Email1DisplayName write Set_Email1DisplayName;
    property Email2Address: WideString read Get_Email2Address write Set_Email2Address;
    property Email2AddressType: WideString read Get_Email2AddressType write Set_Email2AddressType;
    property Email2DisplayName: WideString read Get_Email2DisplayName write Set_Email2DisplayName;
    property Email3Address: WideString read Get_Email3Address write Set_Email3Address;
    property Email3AddressType: WideString read Get_Email3AddressType write Set_Email3AddressType;
    property Email3DisplayName: WideString read Get_Email3DisplayName write Set_Email3DisplayName;
    property FileAs: WideString read Get_FileAs write Set_FileAs;
    property FirstName: WideString read Get_FirstName write Set_FirstName;
    property FTPSite: WideString read Get_FTPSite write Set_FTPSite;
    property FullName: WideString read Get_FullName write Set_FullName;
    property Gender: OlGender read Get_Gender write Set_Gender;
    property GovernmentIDNumber: WideString read Get_GovernmentIDNumber write Set_GovernmentIDNumber;
    property Hobby: WideString read Get_Hobby write Set_Hobby;
    property Home2TelephoneNumber: WideString read Get_Home2TelephoneNumber write Set_Home2TelephoneNumber;
    property HomeAddress: WideString read Get_HomeAddress write Set_HomeAddress;
    property HomeAddressCity: WideString read Get_HomeAddressCity write Set_HomeAddressCity;
    property HomeAddressCountry: WideString read Get_HomeAddressCountry write Set_HomeAddressCountry;
    property HomeAddressPostalCode: WideString read Get_HomeAddressPostalCode write Set_HomeAddressPostalCode;
    property HomeAddressPostOfficeBox: WideString read Get_HomeAddressPostOfficeBox write Set_HomeAddressPostOfficeBox;
    property HomeAddressState: WideString read Get_HomeAddressState write Set_HomeAddressState;
    property HomeAddressStreet: WideString read Get_HomeAddressStreet write Set_HomeAddressStreet;
    property HomeFaxNumber: WideString read Get_HomeFaxNumber write Set_HomeFaxNumber;
    property HomeTelephoneNumber: WideString read Get_HomeTelephoneNumber write Set_HomeTelephoneNumber;
    property Initials: WideString read Get_Initials write Set_Initials;
    property InternetFreeBusyAddress: WideString read Get_InternetFreeBusyAddress write Set_InternetFreeBusyAddress;
    property ISDNNumber: WideString read Get_ISDNNumber write Set_ISDNNumber;
    property JobTitle: WideString read Get_JobTitle write Set_JobTitle;
    property Journal: WordBool read Get_Journal write Set_Journal;
    property Language: WideString read Get_Language write Set_Language;
    property LastName: WideString read Get_LastName write Set_LastName;
    property MailingAddress: WideString read Get_MailingAddress write Set_MailingAddress;
    property MailingAddressCity: WideString read Get_MailingAddressCity write Set_MailingAddressCity;
    property MailingAddressCountry: WideString read Get_MailingAddressCountry write Set_MailingAddressCountry;
    property MailingAddressPostalCode: WideString read Get_MailingAddressPostalCode write Set_MailingAddressPostalCode;
    property MailingAddressPostOfficeBox: WideString read Get_MailingAddressPostOfficeBox write Set_MailingAddressPostOfficeBox;
    property MailingAddressState: WideString read Get_MailingAddressState write Set_MailingAddressState;
    property MailingAddressStreet: WideString read Get_MailingAddressStreet write Set_MailingAddressStreet;
    property ManagerName: WideString read Get_ManagerName write Set_ManagerName;
    property MiddleName: WideString read Get_MiddleName write Set_MiddleName;
    property MobileTelephoneNumber: WideString read Get_MobileTelephoneNumber write Set_MobileTelephoneNumber;
    property NetMeetingAlias: WideString read Get_NetMeetingAlias write Set_NetMeetingAlias;
    property NetMeetingServer: WideString read Get_NetMeetingServer write Set_NetMeetingServer;
    property NickName: WideString read Get_NickName write Set_NickName;
    property OfficeLocation: WideString read Get_OfficeLocation write Set_OfficeLocation;
    property OrganizationalIDNumber: WideString read Get_OrganizationalIDNumber write Set_OrganizationalIDNumber;
    property OtherAddress: WideString read Get_OtherAddress write Set_OtherAddress;
    property OtherAddressCity: WideString read Get_OtherAddressCity write Set_OtherAddressCity;
    property OtherAddressCountry: WideString read Get_OtherAddressCountry write Set_OtherAddressCountry;
    property OtherAddressPostalCode: WideString read Get_OtherAddressPostalCode write Set_OtherAddressPostalCode;
    property OtherAddressPostOfficeBox: WideString read Get_OtherAddressPostOfficeBox write Set_OtherAddressPostOfficeBox;
    property OtherAddressState: WideString read Get_OtherAddressState write Set_OtherAddressState;
    property OtherAddressStreet: WideString read Get_OtherAddressStreet write Set_OtherAddressStreet;
    property OtherFaxNumber: WideString read Get_OtherFaxNumber write Set_OtherFaxNumber;
    property OtherTelephoneNumber: WideString read Get_OtherTelephoneNumber write Set_OtherTelephoneNumber;
    property PagerNumber: WideString read Get_PagerNumber write Set_PagerNumber;
    property PersonalHomePage: WideString read Get_PersonalHomePage write Set_PersonalHomePage;
    property PrimaryTelephoneNumber: WideString read Get_PrimaryTelephoneNumber write Set_PrimaryTelephoneNumber;
    property Profession: WideString read Get_Profession write Set_Profession;
    property RadioTelephoneNumber: WideString read Get_RadioTelephoneNumber write Set_RadioTelephoneNumber;
    property ReferredBy: WideString read Get_ReferredBy write Set_ReferredBy;
    property SelectedMailingAddress: OlMailingAddress read Get_SelectedMailingAddress write Set_SelectedMailingAddress;
    property Spouse: WideString read Get_Spouse write Set_Spouse;
    property Suffix: WideString read Get_Suffix write Set_Suffix;
    property TelexNumber: WideString read Get_TelexNumber write Set_TelexNumber;
    property Title: WideString read Get_Title write Set_Title;
    property TTYTDDTelephoneNumber: WideString read Get_TTYTDDTelephoneNumber write Set_TTYTDDTelephoneNumber;
    property User1: WideString read Get_User1 write Set_User1;
    property User2: WideString read Get_User2 write Set_User2;
    property User3: WideString read Get_User3 write Set_User3;
    property User4: WideString read Get_User4 write Set_User4;
    property UserCertificate: WideString read Get_UserCertificate write Set_UserCertificate;
    property WebPage: WideString read Get_WebPage write Set_WebPage;
    property YomiCompanyName: WideString read Get_YomiCompanyName write Set_YomiCompanyName;
    property YomiFirstName: WideString read Get_YomiFirstName write Set_YomiFirstName;
    property YomiLastName: WideString read Get_YomiLastName write Set_YomiLastName;
    property IMAddress: WideString read Get_IMAddress write Set_IMAddress;
    property MarkForDownload: OlRemoteStatus read Get_MarkForDownload write Set_MarkForDownload;
  end;
{$ENDIF}


// *********************************************************************//
// The Class CoDistListItem provides a Create and CreateRemote method to          
// create instances of the default interface _DistListItem exposed by              
// the CoClass DistListItem. The functions are intended to be used by             
// clients wishing to automate the CoClass objects exposed by the         
// server of this typelibrary.                                            
// *********************************************************************//
  CoDistListItem = class
    class function Create: _DistListItem;
    class function CreateRemote(const MachineName: string): _DistListItem;
  end;

  TDistListItemOpen = procedure(ASender: TObject; var Cancel: WordBool) of object;
  TDistListItemCustomAction = procedure(ASender: TObject; const Action: IDispatch; 
                                                          const Response: IDispatch; 
                                                          var Cancel: WordBool) of object;
  TDistListItemCustomPropertyChange = procedure(ASender: TObject; const Name: WideString) of object;
  TDistListItemForward = procedure(ASender: TObject; const Forward: IDispatch; var Cancel: WordBool) of object;
  TDistListItemClose = procedure(ASender: TObject; var Cancel: WordBool) of object;
  TDistListItemPropertyChange = procedure(ASender: TObject; const Name: WideString) of object;
  TDistListItemReply = procedure(ASender: TObject; const Response: IDispatch; var Cancel: WordBool) of object;
  TDistListItemReplyAll = procedure(ASender: TObject; const Response: IDispatch; 
                                                      var Cancel: WordBool) of object;
  TDistListItemSend = procedure(ASender: TObject; var Cancel: WordBool) of object;
  TDistListItemWrite = procedure(ASender: TObject; var Cancel: WordBool) of object;
  TDistListItemBeforeCheckNames = procedure(ASender: TObject; var Cancel: WordBool) of object;
  TDistListItemAttachmentAdd = procedure(ASender: TObject; const Attachment: Attachment) of object;
  TDistListItemAttachmentRead = procedure(ASender: TObject; const Attachment: Attachment) of object;
  TDistListItemBeforeAttachmentSave = procedure(ASender: TObject; const Attachment: Attachment; 
                                                                  var Cancel: WordBool) of object;
  TDistListItemBeforeDelete = procedure(ASender: TObject; const Item: IDispatch; 
                                                          var Cancel: WordBool) of object;


// *********************************************************************//
// OLE Server Proxy class declaration
// Server Object    : TDistListItem
// Help String      : 
// Default Interface: _DistListItem
// Def. Intf. DISP? : No
// Event   Interface: ItemEvents_10
// TypeFlags        : (0)
// *********************************************************************//
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  TDistListItemProperties= class;
{$ENDIF}
  TDistListItem = class(TOleServer)
  private
    FOnOpen: TDistListItemOpen;
    FOnCustomAction: TDistListItemCustomAction;
    FOnCustomPropertyChange: TDistListItemCustomPropertyChange;
    FOnForward: TDistListItemForward;
    FOnClose: TDistListItemClose;
    FOnPropertyChange: TDistListItemPropertyChange;
    FOnRead: TNotifyEvent;
    FOnReply: TDistListItemReply;
    FOnReplyAll: TDistListItemReplyAll;
    FOnSend: TDistListItemSend;
    FOnWrite: TDistListItemWrite;
    FOnBeforeCheckNames: TDistListItemBeforeCheckNames;
    FOnAttachmentAdd: TDistListItemAttachmentAdd;
    FOnAttachmentRead: TDistListItemAttachmentRead;
    FOnBeforeAttachmentSave: TDistListItemBeforeAttachmentSave;
    FOnBeforeDelete: TDistListItemBeforeDelete;
    FIntf:        _DistListItem;
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
    FProps:       TDistListItemProperties;
    function      GetServerProperties: TDistListItemProperties;
{$ENDIF}
    function      GetDefaultInterface: _DistListItem;
  protected
    procedure InitServerData; override;
    procedure InvokeEvent(DispID: TDispID; var Params: TVariantArray); override;
    function Get_Application: _Application;
    function Get_Class_: OlObjectClass;
    function Get_Session: _NameSpace;
    function Get_Parent: IDispatch;
    function Get_Actions: Actions;
    function Get_Attachments: Attachments;
    function Get_BillingInformation: WideString;
    procedure Set_BillingInformation(const BillingInformation: WideString);
    function Get_Body: WideString;
    procedure Set_Body(const Body: WideString);
    function Get_Categories: WideString;
    procedure Set_Categories(const Categories: WideString);
    function Get_Companies: WideString;
    procedure Set_Companies(const Companies: WideString);
    function Get_ConversationIndex: WideString;
    function Get_ConversationTopic: WideString;
    function Get_CreationTime: TDateTime;
    function Get_EntryID: WideString;
    function Get_FormDescription: FormDescription;
    function Get_GetInspector: _Inspector;
    function Get_Importance: OlImportance;
    procedure Set_Importance(Importance: OlImportance);
    function Get_LastModificationTime: TDateTime;
    function Get_MAPIOBJECT: IUnknown;
    function Get_MessageClass: WideString;
    procedure Set_MessageClass(const MessageClass: WideString);
    function Get_Mileage: WideString;
    procedure Set_Mileage(const Mileage: WideString);
    function Get_NoAging: WordBool;
    procedure Set_NoAging(NoAging: WordBool);
    function Get_OutlookInternalVersion: Integer;
    function Get_OutlookVersion: WideString;
    function Get_Saved: WordBool;
    function Get_Sensitivity: OlSensitivity;
    procedure Set_Sensitivity(Sensitivity: OlSensitivity);
    function Get_Size: Integer;
    function Get_Subject: WideString;
    procedure Set_Subject(const Subject: WideString);
    function Get_UnRead: WordBool;
    procedure Set_UnRead(UnRead: WordBool);
    function Get_UserProperties: UserProperties;
    function Get_DLName: WideString;
    procedure Set_DLName(const DLName: WideString);
    function Get_MemberCount: Integer;
    function Get_CheckSum: Integer;
    function Get_Members: OleVariant;
    procedure Set_Members(Members: OleVariant);
    function Get_OneOffMembers: OleVariant;
    procedure Set_OneOffMembers(OneOffMembers: OleVariant);
    function Get_Links: Links;
    function Get_DownloadState: OlDownloadState;
    function Get_ItemProperties: ItemProperties;
    function Get_MarkForDownload: OlRemoteStatus;
    procedure Set_MarkForDownload(MarkForDownload: OlRemoteStatus);
    function Get_IsConflict: WordBool;
  public
    constructor Create(AOwner: TComponent); override;
    destructor  Destroy; override;
    procedure Connect; override;
    procedure ConnectTo(svrIntf: _DistListItem);
    procedure Disconnect; override;
    procedure Close(SaveMode: OlInspectorClose);
    function Copy: IDispatch;
    procedure Delete;
    procedure Display; overload;
    procedure Display(Modal: OleVariant); overload;
    function Move(const DestFldr: MAPIFolder): IDispatch;
    procedure PrintOut;
    procedure Save;
    procedure SaveAs(const Path: WideString); overload;
    procedure SaveAs(const Path: WideString; Type_: OleVariant); overload;
    procedure AddMembers(const Recipients: Recipients);
    procedure RemoveMembers(const Recipients: Recipients);
    function GetMember(Index: Integer): Recipient;
    procedure ShowCategoriesDialog;
    procedure AddMember(const Recipient: Recipient);
    procedure RemoveMember(const Recipient: Recipient);
    property DefaultInterface: _DistListItem read GetDefaultInterface;
    property Application: _Application read Get_Application;
    property Class_: OlObjectClass read Get_Class_;
    property Session: _NameSpace read Get_Session;
    property Parent: IDispatch read Get_Parent;
    property Actions: Actions read Get_Actions;
    property Attachments: Attachments read Get_Attachments;
    property ConversationIndex: WideString read Get_ConversationIndex;
    property ConversationTopic: WideString read Get_ConversationTopic;
    property CreationTime: TDateTime read Get_CreationTime;
    property EntryID: WideString read Get_EntryID;
    property FormDescription: FormDescription read Get_FormDescription;
    property GetInspector: _Inspector read Get_GetInspector;
    property LastModificationTime: TDateTime read Get_LastModificationTime;
    property MAPIOBJECT: IUnknown read Get_MAPIOBJECT;
    property OutlookInternalVersion: Integer read Get_OutlookInternalVersion;
    property OutlookVersion: WideString read Get_OutlookVersion;
    property Saved: WordBool read Get_Saved;
    property Size: Integer read Get_Size;
    property UserProperties: UserProperties read Get_UserProperties;
    property MemberCount: Integer read Get_MemberCount;
    property CheckSum: Integer read Get_CheckSum;
    property Members: OleVariant read Get_Members write Set_Members;
    property OneOffMembers: OleVariant read Get_OneOffMembers write Set_OneOffMembers;
    property Links: Links read Get_Links;
    property DownloadState: OlDownloadState read Get_DownloadState;
    property ItemProperties: ItemProperties read Get_ItemProperties;
    property IsConflict: WordBool read Get_IsConflict;
    property BillingInformation: WideString read Get_BillingInformation write Set_BillingInformation;
    property Body: WideString read Get_Body write Set_Body;
    property Categories: WideString read Get_Categories write Set_Categories;
    property Companies: WideString read Get_Companies write Set_Companies;
    property Importance: OlImportance read Get_Importance write Set_Importance;
    property MessageClass: WideString read Get_MessageClass write Set_MessageClass;
    property Mileage: WideString read Get_Mileage write Set_Mileage;
    property NoAging: WordBool read Get_NoAging write Set_NoAging;
    property Sensitivity: OlSensitivity read Get_Sensitivity write Set_Sensitivity;
    property Subject: WideString read Get_Subject write Set_Subject;
    property UnRead: WordBool read Get_UnRead write Set_UnRead;
    property DLName: WideString read Get_DLName write Set_DLName;
    property MarkForDownload: OlRemoteStatus read Get_MarkForDownload write Set_MarkForDownload;
  published
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
    property Server: TDistListItemProperties read GetServerProperties;
{$ENDIF}
    property OnOpen: TDistListItemOpen read FOnOpen write FOnOpen;
    property OnCustomAction: TDistListItemCustomAction read FOnCustomAction write FOnCustomAction;
    property OnCustomPropertyChange: TDistListItemCustomPropertyChange read FOnCustomPropertyChange write FOnCustomPropertyChange;
    property OnForward: TDistListItemForward read FOnForward write FOnForward;
    property OnClose: TDistListItemClose read FOnClose write FOnClose;
    property OnPropertyChange: TDistListItemPropertyChange read FOnPropertyChange write FOnPropertyChange;
    property OnRead: TNotifyEvent read FOnRead write FOnRead;
    property OnReply: TDistListItemReply read FOnReply write FOnReply;
    property OnReplyAll: TDistListItemReplyAll read FOnReplyAll write FOnReplyAll;
    property OnSend: TDistListItemSend read FOnSend write FOnSend;
    property OnWrite: TDistListItemWrite read FOnWrite write FOnWrite;
    property OnBeforeCheckNames: TDistListItemBeforeCheckNames read FOnBeforeCheckNames write FOnBeforeCheckNames;
    property OnAttachmentAdd: TDistListItemAttachmentAdd read FOnAttachmentAdd write FOnAttachmentAdd;
    property OnAttachmentRead: TDistListItemAttachmentRead read FOnAttachmentRead write FOnAttachmentRead;
    property OnBeforeAttachmentSave: TDistListItemBeforeAttachmentSave read FOnBeforeAttachmentSave write FOnBeforeAttachmentSave;
    property OnBeforeDelete: TDistListItemBeforeDelete read FOnBeforeDelete write FOnBeforeDelete;
  end;

{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
// *********************************************************************//
// OLE Server Properties Proxy Class
// Server Object    : TDistListItem
// (This object is used by the IDE's Property Inspector to allow editing
//  of the properties of this server)
// *********************************************************************//
 TDistListItemProperties = class(TPersistent)
  private
    FServer:    TDistListItem;
    function    GetDefaultInterface: _DistListItem;
    constructor Create(AServer: TDistListItem);
  protected
    function Get_Application: _Application;
    function Get_Class_: OlObjectClass;
    function Get_Session: _NameSpace;
    function Get_Parent: IDispatch;
    function Get_Actions: Actions;
    function Get_Attachments: Attachments;
    function Get_BillingInformation: WideString;
    procedure Set_BillingInformation(const BillingInformation: WideString);
    function Get_Body: WideString;
    procedure Set_Body(const Body: WideString);
    function Get_Categories: WideString;
    procedure Set_Categories(const Categories: WideString);
    function Get_Companies: WideString;
    procedure Set_Companies(const Companies: WideString);
    function Get_ConversationIndex: WideString;
    function Get_ConversationTopic: WideString;
    function Get_CreationTime: TDateTime;
    function Get_EntryID: WideString;
    function Get_FormDescription: FormDescription;
    function Get_GetInspector: _Inspector;
    function Get_Importance: OlImportance;
    procedure Set_Importance(Importance: OlImportance);
    function Get_LastModificationTime: TDateTime;
    function Get_MAPIOBJECT: IUnknown;
    function Get_MessageClass: WideString;
    procedure Set_MessageClass(const MessageClass: WideString);
    function Get_Mileage: WideString;
    procedure Set_Mileage(const Mileage: WideString);
    function Get_NoAging: WordBool;
    procedure Set_NoAging(NoAging: WordBool);
    function Get_OutlookInternalVersion: Integer;
    function Get_OutlookVersion: WideString;
    function Get_Saved: WordBool;
    function Get_Sensitivity: OlSensitivity;
    procedure Set_Sensitivity(Sensitivity: OlSensitivity);
    function Get_Size: Integer;
    function Get_Subject: WideString;
    procedure Set_Subject(const Subject: WideString);
    function Get_UnRead: WordBool;
    procedure Set_UnRead(UnRead: WordBool);
    function Get_UserProperties: UserProperties;
    function Get_DLName: WideString;
    procedure Set_DLName(const DLName: WideString);
    function Get_MemberCount: Integer;
    function Get_CheckSum: Integer;
    function Get_Members: OleVariant;
    procedure Set_Members(Members: OleVariant);
    function Get_OneOffMembers: OleVariant;
    procedure Set_OneOffMembers(OneOffMembers: OleVariant);
    function Get_Links: Links;
    function Get_DownloadState: OlDownloadState;
    function Get_ItemProperties: ItemProperties;
    function Get_MarkForDownload: OlRemoteStatus;
    procedure Set_MarkForDownload(MarkForDownload: OlRemoteStatus);
    function Get_IsConflict: WordBool;
  public
    property DefaultInterface: _DistListItem read GetDefaultInterface;
  published
    property BillingInformation: WideString read Get_BillingInformation write Set_BillingInformation;
    property Body: WideString read Get_Body write Set_Body;
    property Categories: WideString read Get_Categories write Set_Categories;
    property Companies: WideString read Get_Companies write Set_Companies;
    property Importance: OlImportance read Get_Importance write Set_Importance;
    property MessageClass: WideString read Get_MessageClass write Set_MessageClass;
    property Mileage: WideString read Get_Mileage write Set_Mileage;
    property NoAging: WordBool read Get_NoAging write Set_NoAging;
    property Sensitivity: OlSensitivity read Get_Sensitivity write Set_Sensitivity;
    property Subject: WideString read Get_Subject write Set_Subject;
    property UnRead: WordBool read Get_UnRead write Set_UnRead;
    property DLName: WideString read Get_DLName write Set_DLName;
    property MarkForDownload: OlRemoteStatus read Get_MarkForDownload write Set_MarkForDownload;
  end;
{$ENDIF}


// *********************************************************************//
// The Class CoDocumentItem provides a Create and CreateRemote method to          
// create instances of the default interface _DocumentItem exposed by              
// the CoClass DocumentItem. The functions are intended to be used by             
// clients wishing to automate the CoClass objects exposed by the         
// server of this typelibrary.                                            
// *********************************************************************//
  CoDocumentItem = class
    class function Create: _DocumentItem;
    class function CreateRemote(const MachineName: string): _DocumentItem;
  end;

  TDocumentItemOpen = procedure(ASender: TObject; var Cancel: WordBool) of object;
  TDocumentItemCustomAction = procedure(ASender: TObject; const Action: IDispatch; 
                                                          const Response: IDispatch; 
                                                          var Cancel: WordBool) of object;
  TDocumentItemCustomPropertyChange = procedure(ASender: TObject; const Name: WideString) of object;
  TDocumentItemForward = procedure(ASender: TObject; const Forward: IDispatch; var Cancel: WordBool) of object;
  TDocumentItemClose = procedure(ASender: TObject; var Cancel: WordBool) of object;
  TDocumentItemPropertyChange = procedure(ASender: TObject; const Name: WideString) of object;
  TDocumentItemReply = procedure(ASender: TObject; const Response: IDispatch; var Cancel: WordBool) of object;
  TDocumentItemReplyAll = procedure(ASender: TObject; const Response: IDispatch; 
                                                      var Cancel: WordBool) of object;
  TDocumentItemSend = procedure(ASender: TObject; var Cancel: WordBool) of object;
  TDocumentItemWrite = procedure(ASender: TObject; var Cancel: WordBool) of object;
  TDocumentItemBeforeCheckNames = procedure(ASender: TObject; var Cancel: WordBool) of object;
  TDocumentItemAttachmentAdd = procedure(ASender: TObject; const Attachment: Attachment) of object;
  TDocumentItemAttachmentRead = procedure(ASender: TObject; const Attachment: Attachment) of object;
  TDocumentItemBeforeAttachmentSave = procedure(ASender: TObject; const Attachment: Attachment; 
                                                                  var Cancel: WordBool) of object;
  TDocumentItemBeforeDelete = procedure(ASender: TObject; const Item: IDispatch; 
                                                          var Cancel: WordBool) of object;


// *********************************************************************//
// OLE Server Proxy class declaration
// Server Object    : TDocumentItem
// Help String      : 
// Default Interface: _DocumentItem
// Def. Intf. DISP? : No
// Event   Interface: ItemEvents_10
// TypeFlags        : (0)
// *********************************************************************//
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  TDocumentItemProperties= class;
{$ENDIF}
  TDocumentItem = class(TOleServer)
  private
    FOnOpen: TDocumentItemOpen;
    FOnCustomAction: TDocumentItemCustomAction;
    FOnCustomPropertyChange: TDocumentItemCustomPropertyChange;
    FOnForward: TDocumentItemForward;
    FOnClose: TDocumentItemClose;
    FOnPropertyChange: TDocumentItemPropertyChange;
    FOnRead: TNotifyEvent;
    FOnReply: TDocumentItemReply;
    FOnReplyAll: TDocumentItemReplyAll;
    FOnSend: TDocumentItemSend;
    FOnWrite: TDocumentItemWrite;
    FOnBeforeCheckNames: TDocumentItemBeforeCheckNames;
    FOnAttachmentAdd: TDocumentItemAttachmentAdd;
    FOnAttachmentRead: TDocumentItemAttachmentRead;
    FOnBeforeAttachmentSave: TDocumentItemBeforeAttachmentSave;
    FOnBeforeDelete: TDocumentItemBeforeDelete;
    FIntf:        _DocumentItem;
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
    FProps:       TDocumentItemProperties;
    function      GetServerProperties: TDocumentItemProperties;
{$ENDIF}
    function      GetDefaultInterface: _DocumentItem;
  protected
    procedure InitServerData; override;
    procedure InvokeEvent(DispID: TDispID; var Params: TVariantArray); override;
    function Get_Application: _Application;
    function Get_Class_: OlObjectClass;
    function Get_Session: _NameSpace;
    function Get_Parent: IDispatch;
    function Get_Actions: Actions;
    function Get_Attachments: Attachments;
    function Get_BillingInformation: WideString;
    procedure Set_BillingInformation(const BillingInformation: WideString);
    function Get_Body: WideString;
    procedure Set_Body(const Body: WideString);
    function Get_Categories: WideString;
    procedure Set_Categories(const Categories: WideString);
    function Get_Companies: WideString;
    procedure Set_Companies(const Companies: WideString);
    function Get_ConversationIndex: WideString;
    function Get_ConversationTopic: WideString;
    function Get_CreationTime: TDateTime;
    function Get_EntryID: WideString;
    function Get_FormDescription: FormDescription;
    function Get_GetInspector: _Inspector;
    function Get_Importance: OlImportance;
    procedure Set_Importance(Importance: OlImportance);
    function Get_LastModificationTime: TDateTime;
    function Get_MAPIOBJECT: IUnknown;
    function Get_MessageClass: WideString;
    procedure Set_MessageClass(const MessageClass: WideString);
    function Get_Mileage: WideString;
    procedure Set_Mileage(const Mileage: WideString);
    function Get_NoAging: WordBool;
    procedure Set_NoAging(NoAging: WordBool);
    function Get_OutlookInternalVersion: Integer;
    function Get_OutlookVersion: WideString;
    function Get_Saved: WordBool;
    function Get_Sensitivity: OlSensitivity;
    procedure Set_Sensitivity(Sensitivity: OlSensitivity);
    function Get_Size: Integer;
    function Get_Subject: WideString;
    procedure Set_Subject(const Subject: WideString);
    function Get_UnRead: WordBool;
    procedure Set_UnRead(UnRead: WordBool);
    function Get_UserProperties: UserProperties;
    function Get_Links: Links;
    function Get_DownloadState: OlDownloadState;
    function Get_ItemProperties: ItemProperties;
    function Get_MarkForDownload: OlRemoteStatus;
    procedure Set_MarkForDownload(MarkForDownload: OlRemoteStatus);
    function Get_IsConflict: WordBool;
  public
    constructor Create(AOwner: TComponent); override;
    destructor  Destroy; override;
    procedure Connect; override;
    procedure ConnectTo(svrIntf: _DocumentItem);
    procedure Disconnect; override;
    procedure Close(SaveMode: OlInspectorClose);
    function Copy: IDispatch;
    procedure Delete;
    procedure Display; overload;
    procedure Display(Modal: OleVariant); overload;
    function Move(const DestFldr: MAPIFolder): IDispatch;
    procedure PrintOut;
    procedure Save;
    procedure SaveAs(const Path: WideString); overload;
    procedure SaveAs(const Path: WideString; Type_: OleVariant); overload;
    procedure ShowCategoriesDialog;
    property DefaultInterface: _DocumentItem read GetDefaultInterface;
    property Application: _Application read Get_Application;
    property Class_: OlObjectClass read Get_Class_;
    property Session: _NameSpace read Get_Session;
    property Parent: IDispatch read Get_Parent;
    property Actions: Actions read Get_Actions;
    property Attachments: Attachments read Get_Attachments;
    property ConversationIndex: WideString read Get_ConversationIndex;
    property ConversationTopic: WideString read Get_ConversationTopic;
    property CreationTime: TDateTime read Get_CreationTime;
    property EntryID: WideString read Get_EntryID;
    property FormDescription: FormDescription read Get_FormDescription;
    property GetInspector: _Inspector read Get_GetInspector;
    property LastModificationTime: TDateTime read Get_LastModificationTime;
    property MAPIOBJECT: IUnknown read Get_MAPIOBJECT;
    property OutlookInternalVersion: Integer read Get_OutlookInternalVersion;
    property OutlookVersion: WideString read Get_OutlookVersion;
    property Saved: WordBool read Get_Saved;
    property Size: Integer read Get_Size;
    property UserProperties: UserProperties read Get_UserProperties;
    property Links: Links read Get_Links;
    property DownloadState: OlDownloadState read Get_DownloadState;
    property ItemProperties: ItemProperties read Get_ItemProperties;
    property IsConflict: WordBool read Get_IsConflict;
    property BillingInformation: WideString read Get_BillingInformation write Set_BillingInformation;
    property Body: WideString read Get_Body write Set_Body;
    property Categories: WideString read Get_Categories write Set_Categories;
    property Companies: WideString read Get_Companies write Set_Companies;
    property Importance: OlImportance read Get_Importance write Set_Importance;
    property MessageClass: WideString read Get_MessageClass write Set_MessageClass;
    property Mileage: WideString read Get_Mileage write Set_Mileage;
    property NoAging: WordBool read Get_NoAging write Set_NoAging;
    property Sensitivity: OlSensitivity read Get_Sensitivity write Set_Sensitivity;
    property Subject: WideString read Get_Subject write Set_Subject;
    property UnRead: WordBool read Get_UnRead write Set_UnRead;
    property MarkForDownload: OlRemoteStatus read Get_MarkForDownload write Set_MarkForDownload;
  published
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
    property Server: TDocumentItemProperties read GetServerProperties;
{$ENDIF}
    property OnOpen: TDocumentItemOpen read FOnOpen write FOnOpen;
    property OnCustomAction: TDocumentItemCustomAction read FOnCustomAction write FOnCustomAction;
    property OnCustomPropertyChange: TDocumentItemCustomPropertyChange read FOnCustomPropertyChange write FOnCustomPropertyChange;
    property OnForward: TDocumentItemForward read FOnForward write FOnForward;
    property OnClose: TDocumentItemClose read FOnClose write FOnClose;
    property OnPropertyChange: TDocumentItemPropertyChange read FOnPropertyChange write FOnPropertyChange;
    property OnRead: TNotifyEvent read FOnRead write FOnRead;
    property OnReply: TDocumentItemReply read FOnReply write FOnReply;
    property OnReplyAll: TDocumentItemReplyAll read FOnReplyAll write FOnReplyAll;
    property OnSend: TDocumentItemSend read FOnSend write FOnSend;
    property OnWrite: TDocumentItemWrite read FOnWrite write FOnWrite;
    property OnBeforeCheckNames: TDocumentItemBeforeCheckNames read FOnBeforeCheckNames write FOnBeforeCheckNames;
    property OnAttachmentAdd: TDocumentItemAttachmentAdd read FOnAttachmentAdd write FOnAttachmentAdd;
    property OnAttachmentRead: TDocumentItemAttachmentRead read FOnAttachmentRead write FOnAttachmentRead;
    property OnBeforeAttachmentSave: TDocumentItemBeforeAttachmentSave read FOnBeforeAttachmentSave write FOnBeforeAttachmentSave;
    property OnBeforeDelete: TDocumentItemBeforeDelete read FOnBeforeDelete write FOnBeforeDelete;
  end;

{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
// *********************************************************************//
// OLE Server Properties Proxy Class
// Server Object    : TDocumentItem
// (This object is used by the IDE's Property Inspector to allow editing
//  of the properties of this server)
// *********************************************************************//
 TDocumentItemProperties = class(TPersistent)
  private
    FServer:    TDocumentItem;
    function    GetDefaultInterface: _DocumentItem;
    constructor Create(AServer: TDocumentItem);
  protected
    function Get_Application: _Application;
    function Get_Class_: OlObjectClass;
    function Get_Session: _NameSpace;
    function Get_Parent: IDispatch;
    function Get_Actions: Actions;
    function Get_Attachments: Attachments;
    function Get_BillingInformation: WideString;
    procedure Set_BillingInformation(const BillingInformation: WideString);
    function Get_Body: WideString;
    procedure Set_Body(const Body: WideString);
    function Get_Categories: WideString;
    procedure Set_Categories(const Categories: WideString);
    function Get_Companies: WideString;
    procedure Set_Companies(const Companies: WideString);
    function Get_ConversationIndex: WideString;
    function Get_ConversationTopic: WideString;
    function Get_CreationTime: TDateTime;
    function Get_EntryID: WideString;
    function Get_FormDescription: FormDescription;
    function Get_GetInspector: _Inspector;
    function Get_Importance: OlImportance;
    procedure Set_Importance(Importance: OlImportance);
    function Get_LastModificationTime: TDateTime;
    function Get_MAPIOBJECT: IUnknown;
    function Get_MessageClass: WideString;
    procedure Set_MessageClass(const MessageClass: WideString);
    function Get_Mileage: WideString;
    procedure Set_Mileage(const Mileage: WideString);
    function Get_NoAging: WordBool;
    procedure Set_NoAging(NoAging: WordBool);
    function Get_OutlookInternalVersion: Integer;
    function Get_OutlookVersion: WideString;
    function Get_Saved: WordBool;
    function Get_Sensitivity: OlSensitivity;
    procedure Set_Sensitivity(Sensitivity: OlSensitivity);
    function Get_Size: Integer;
    function Get_Subject: WideString;
    procedure Set_Subject(const Subject: WideString);
    function Get_UnRead: WordBool;
    procedure Set_UnRead(UnRead: WordBool);
    function Get_UserProperties: UserProperties;
    function Get_Links: Links;
    function Get_DownloadState: OlDownloadState;
    function Get_ItemProperties: ItemProperties;
    function Get_MarkForDownload: OlRemoteStatus;
    procedure Set_MarkForDownload(MarkForDownload: OlRemoteStatus);
    function Get_IsConflict: WordBool;
  public
    property DefaultInterface: _DocumentItem read GetDefaultInterface;
  published
    property BillingInformation: WideString read Get_BillingInformation write Set_BillingInformation;
    property Body: WideString read Get_Body write Set_Body;
    property Categories: WideString read Get_Categories write Set_Categories;
    property Companies: WideString read Get_Companies write Set_Companies;
    property Importance: OlImportance read Get_Importance write Set_Importance;
    property MessageClass: WideString read Get_MessageClass write Set_MessageClass;
    property Mileage: WideString read Get_Mileage write Set_Mileage;
    property NoAging: WordBool read Get_NoAging write Set_NoAging;
    property Sensitivity: OlSensitivity read Get_Sensitivity write Set_Sensitivity;
    property Subject: WideString read Get_Subject write Set_Subject;
    property UnRead: WordBool read Get_UnRead write Set_UnRead;
    property MarkForDownload: OlRemoteStatus read Get_MarkForDownload write Set_MarkForDownload;
  end;
{$ENDIF}


// *********************************************************************//
// The Class CoExplorers provides a Create and CreateRemote method to          
// create instances of the default interface _Explorers exposed by              
// the CoClass Explorers. The functions are intended to be used by             
// clients wishing to automate the CoClass objects exposed by the         
// server of this typelibrary.                                            
// *********************************************************************//
  CoExplorers = class
    class function Create: _Explorers;
    class function CreateRemote(const MachineName: string): _Explorers;
  end;

  TExplorersNewExplorer = procedure(ASender: TObject; const Explorer: _Explorer) of object;


// *********************************************************************//
// OLE Server Proxy class declaration
// Server Object    : TExplorers
// Help String      : 
// Default Interface: _Explorers
// Def. Intf. DISP? : No
// Event   Interface: ExplorersEvents
// TypeFlags        : (0)
// *********************************************************************//
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  TExplorersProperties= class;
{$ENDIF}
  TExplorers = class(TOleServer)
  private
    FOnNewExplorer: TExplorersNewExplorer;
    FIntf:        _Explorers;
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
    FProps:       TExplorersProperties;
    function      GetServerProperties: TExplorersProperties;
{$ENDIF}
    function      GetDefaultInterface: _Explorers;
  protected
    procedure InitServerData; override;
    procedure InvokeEvent(DispID: TDispID; var Params: TVariantArray); override;
    function Get_Application: _Application;
    function Get_Class_: OlObjectClass;
    function Get_Session: _NameSpace;
    function Get_Parent: IDispatch;
    function Get_Count: Integer;
  public
    constructor Create(AOwner: TComponent); override;
    destructor  Destroy; override;
    procedure Connect; override;
    procedure ConnectTo(svrIntf: _Explorers);
    procedure Disconnect; override;
    function Item(Index: OleVariant): Explorer;
    function Add(Folder: OleVariant; DisplayMode: OlFolderDisplayMode): _Explorer;
    property DefaultInterface: _Explorers read GetDefaultInterface;
    property Application: _Application read Get_Application;
    property Class_: OlObjectClass read Get_Class_;
    property Session: _NameSpace read Get_Session;
    property Parent: IDispatch read Get_Parent;
    property Count: Integer read Get_Count;
  published
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
    property Server: TExplorersProperties read GetServerProperties;
{$ENDIF}
    property OnNewExplorer: TExplorersNewExplorer read FOnNewExplorer write FOnNewExplorer;
  end;

{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
// *********************************************************************//
// OLE Server Properties Proxy Class
// Server Object    : TExplorers
// (This object is used by the IDE's Property Inspector to allow editing
//  of the properties of this server)
// *********************************************************************//
 TExplorersProperties = class(TPersistent)
  private
    FServer:    TExplorers;
    function    GetDefaultInterface: _Explorers;
    constructor Create(AServer: TExplorers);
  protected
    function Get_Application: _Application;
    function Get_Class_: OlObjectClass;
    function Get_Session: _NameSpace;
    function Get_Parent: IDispatch;
    function Get_Count: Integer;
  public
    property DefaultInterface: _Explorers read GetDefaultInterface;
  published
  end;
{$ENDIF}


// *********************************************************************//
// The Class CoInspectors provides a Create and CreateRemote method to          
// create instances of the default interface _Inspectors exposed by              
// the CoClass Inspectors. The functions are intended to be used by             
// clients wishing to automate the CoClass objects exposed by the         
// server of this typelibrary.                                            
// *********************************************************************//
  CoInspectors = class
    class function Create: _Inspectors;
    class function CreateRemote(const MachineName: string): _Inspectors;
  end;

  TInspectorsNewInspector = procedure(ASender: TObject; const Inspector: _Inspector) of object;


// *********************************************************************//
// OLE Server Proxy class declaration
// Server Object    : TInspectors
// Help String      : 
// Default Interface: _Inspectors
// Def. Intf. DISP? : No
// Event   Interface: InspectorsEvents
// TypeFlags        : (0)
// *********************************************************************//
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  TInspectorsProperties= class;
{$ENDIF}
  TInspectors = class(TOleServer)
  private
    FOnNewInspector: TInspectorsNewInspector;
    FIntf:        _Inspectors;
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
    FProps:       TInspectorsProperties;
    function      GetServerProperties: TInspectorsProperties;
{$ENDIF}
    function      GetDefaultInterface: _Inspectors;
  protected
    procedure InitServerData; override;
    procedure InvokeEvent(DispID: TDispID; var Params: TVariantArray); override;
    function Get_Application: _Application;
    function Get_Class_: OlObjectClass;
    function Get_Session: _NameSpace;
    function Get_Parent: IDispatch;
    function Get_Count: Integer;
  public
    constructor Create(AOwner: TComponent); override;
    destructor  Destroy; override;
    procedure Connect; override;
    procedure ConnectTo(svrIntf: _Inspectors);
    procedure Disconnect; override;
    function Item(Index: OleVariant): Inspector;
    function Add(const Item: IDispatch): _Inspector;
    property DefaultInterface: _Inspectors read GetDefaultInterface;
    property Application: _Application read Get_Application;
    property Class_: OlObjectClass read Get_Class_;
    property Session: _NameSpace read Get_Session;
    property Parent: IDispatch read Get_Parent;
    property Count: Integer read Get_Count;
  published
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
    property Server: TInspectorsProperties read GetServerProperties;
{$ENDIF}
    property OnNewInspector: TInspectorsNewInspector read FOnNewInspector write FOnNewInspector;
  end;

{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
// *********************************************************************//
// OLE Server Properties Proxy Class
// Server Object    : TInspectors
// (This object is used by the IDE's Property Inspector to allow editing
//  of the properties of this server)
// *********************************************************************//
 TInspectorsProperties = class(TPersistent)
  private
    FServer:    TInspectors;
    function    GetDefaultInterface: _Inspectors;
    constructor Create(AServer: TInspectors);
  protected
    function Get_Application: _Application;
    function Get_Class_: OlObjectClass;
    function Get_Session: _NameSpace;
    function Get_Parent: IDispatch;
    function Get_Count: Integer;
  public
    property DefaultInterface: _Inspectors read GetDefaultInterface;
  published
  end;
{$ENDIF}


// *********************************************************************//
// The Class CoFolders provides a Create and CreateRemote method to          
// create instances of the default interface _Folders exposed by              
// the CoClass Folders. The functions are intended to be used by             
// clients wishing to automate the CoClass objects exposed by the         
// server of this typelibrary.                                            
// *********************************************************************//
  CoFolders = class
    class function Create: _Folders;
    class function CreateRemote(const MachineName: string): _Folders;
  end;

  TFoldersFolderAdd = procedure(ASender: TObject; const Folder: MAPIFolder) of object;
  TFoldersFolderChange = procedure(ASender: TObject; const Folder: MAPIFolder) of object;


// *********************************************************************//
// OLE Server Proxy class declaration
// Server Object    : TFolders
// Help String      : 
// Default Interface: _Folders
// Def. Intf. DISP? : No
// Event   Interface: FoldersEvents
// TypeFlags        : (0)
// *********************************************************************//
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  TFoldersProperties= class;
{$ENDIF}
  TFolders = class(TOleServer)
  private
    FOnFolderAdd: TFoldersFolderAdd;
    FOnFolderChange: TFoldersFolderChange;
    FOnFolderRemove: TNotifyEvent;
    FIntf:        _Folders;
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
    FProps:       TFoldersProperties;
    function      GetServerProperties: TFoldersProperties;
{$ENDIF}
    function      GetDefaultInterface: _Folders;
  protected
    procedure InitServerData; override;
    procedure InvokeEvent(DispID: TDispID; var Params: TVariantArray); override;
    function Get_Application: _Application;
    function Get_Class_: OlObjectClass;
    function Get_Session: _NameSpace;
    function Get_Parent: IDispatch;
    function Get_Count: Integer;
    function Get_RawTable: IUnknown;
  public
    constructor Create(AOwner: TComponent); override;
    destructor  Destroy; override;
    procedure Connect; override;
    procedure ConnectTo(svrIntf: _Folders);
    procedure Disconnect; override;
    function Item(Index: OleVariant): MAPIFolder;
    function Add(const Name: WideString): MAPIFolder; overload;
    function Add(const Name: WideString; Type_: OleVariant): MAPIFolder; overload;
    function GetFirst: MAPIFolder;
    function GetLast: MAPIFolder;
    function GetNext: MAPIFolder;
    function GetPrevious: MAPIFolder;
    procedure Remove(Index: Integer);
    property DefaultInterface: _Folders read GetDefaultInterface;
    property Application: _Application read Get_Application;
    property Class_: OlObjectClass read Get_Class_;
    property Session: _NameSpace read Get_Session;
    property Parent: IDispatch read Get_Parent;
    property Count: Integer read Get_Count;
    property RawTable: IUnknown read Get_RawTable;
  published
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
    property Server: TFoldersProperties read GetServerProperties;
{$ENDIF}
    property OnFolderAdd: TFoldersFolderAdd read FOnFolderAdd write FOnFolderAdd;
    property OnFolderChange: TFoldersFolderChange read FOnFolderChange write FOnFolderChange;
    property OnFolderRemove: TNotifyEvent read FOnFolderRemove write FOnFolderRemove;
  end;

{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
// *********************************************************************//
// OLE Server Properties Proxy Class
// Server Object    : TFolders
// (This object is used by the IDE's Property Inspector to allow editing
//  of the properties of this server)
// *********************************************************************//
 TFoldersProperties = class(TPersistent)
  private
    FServer:    TFolders;
    function    GetDefaultInterface: _Folders;
    constructor Create(AServer: TFolders);
  protected
    function Get_Application: _Application;
    function Get_Class_: OlObjectClass;
    function Get_Session: _NameSpace;
    function Get_Parent: IDispatch;
    function Get_Count: Integer;
    function Get_RawTable: IUnknown;
  public
    property DefaultInterface: _Folders read GetDefaultInterface;
  published
  end;
{$ENDIF}


// *********************************************************************//
// The Class CoItems provides a Create and CreateRemote method to          
// create instances of the default interface _Items exposed by              
// the CoClass Items. The functions are intended to be used by             
// clients wishing to automate the CoClass objects exposed by the         
// server of this typelibrary.                                            
// *********************************************************************//
  CoItems = class
    class function Create: _Items;
    class function CreateRemote(const MachineName: string): _Items;
  end;

  TItemsItemAdd = procedure(ASender: TObject; const Item: IDispatch) of object;
  TItemsItemChange = procedure(ASender: TObject; const Item: IDispatch) of object;


// *********************************************************************//
// OLE Server Proxy class declaration
// Server Object    : TItems
// Help String      : 
// Default Interface: _Items
// Def. Intf. DISP? : No
// Event   Interface: ItemsEvents
// TypeFlags        : (0)
// *********************************************************************//
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  TItemsProperties= class;
{$ENDIF}
  TItems = class(TOleServer)
  private
    FOnItemAdd: TItemsItemAdd;
    FOnItemChange: TItemsItemChange;
    FOnItemRemove: TNotifyEvent;
    FIntf:        _Items;
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
    FProps:       TItemsProperties;
    function      GetServerProperties: TItemsProperties;
{$ENDIF}
    function      GetDefaultInterface: _Items;
  protected
    procedure InitServerData; override;
    procedure InvokeEvent(DispID: TDispID; var Params: TVariantArray); override;
    function Get_Application: _Application;
    function Get_Class_: OlObjectClass;
    function Get_Session: _NameSpace;
    function Get_Parent: IDispatch;
    function Get_Count: Integer;
    function Get_RawTable: IUnknown;
    function Get_IncludeRecurrences: WordBool;
    procedure Set_IncludeRecurrences(IncludeRecurrences: WordBool);
  public
    constructor Create(AOwner: TComponent); override;
    destructor  Destroy; override;
    procedure Connect; override;
    procedure ConnectTo(svrIntf: _Items);
    procedure Disconnect; override;
    function Item(Index: OleVariant): IDispatch;
    function Add: IDispatch; overload;
    function Add(Type_: OleVariant): IDispatch; overload;
    function Find(const Filter: WideString): IDispatch;
    function FindNext: IDispatch;
    function GetFirst: IDispatch;
    function GetLast: IDispatch;
    function GetNext: IDispatch;
    function GetPrevious: IDispatch;
    procedure Remove(Index: Integer);
    procedure ResetColumns;
    function Restrict(const Filter: WideString): _Items;
    procedure SetColumns(const Columns: WideString);
    procedure Sort(const Property_: WideString); overload;
    procedure Sort(const Property_: WideString; Descending: OleVariant); overload;
    property DefaultInterface: _Items read GetDefaultInterface;
    property Application: _Application read Get_Application;
    property Class_: OlObjectClass read Get_Class_;
    property Session: _NameSpace read Get_Session;
    property Parent: IDispatch read Get_Parent;
    property Count: Integer read Get_Count;
    property RawTable: IUnknown read Get_RawTable;
    property IncludeRecurrences: WordBool read Get_IncludeRecurrences write Set_IncludeRecurrences;
  published
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
    property Server: TItemsProperties read GetServerProperties;
{$ENDIF}
    property OnItemAdd: TItemsItemAdd read FOnItemAdd write FOnItemAdd;
    property OnItemChange: TItemsItemChange read FOnItemChange write FOnItemChange;
    property OnItemRemove: TNotifyEvent read FOnItemRemove write FOnItemRemove;
  end;

{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
// *********************************************************************//
// OLE Server Properties Proxy Class
// Server Object    : TItems
// (This object is used by the IDE's Property Inspector to allow editing
//  of the properties of this server)
// *********************************************************************//
 TItemsProperties = class(TPersistent)
  private
    FServer:    TItems;
    function    GetDefaultInterface: _Items;
    constructor Create(AServer: TItems);
  protected
    function Get_Application: _Application;
    function Get_Class_: OlObjectClass;
    function Get_Session: _NameSpace;
    function Get_Parent: IDispatch;
    function Get_Count: Integer;
    function Get_RawTable: IUnknown;
    function Get_IncludeRecurrences: WordBool;
    procedure Set_IncludeRecurrences(IncludeRecurrences: WordBool);
  public
    property DefaultInterface: _Items read GetDefaultInterface;
  published
    property IncludeRecurrences: WordBool read Get_IncludeRecurrences write Set_IncludeRecurrences;
  end;
{$ENDIF}


// *********************************************************************//
// The Class CoJournalItem provides a Create and CreateRemote method to          
// create instances of the default interface _JournalItem exposed by              
// the CoClass JournalItem. The functions are intended to be used by             
// clients wishing to automate the CoClass objects exposed by the         
// server of this typelibrary.                                            
// *********************************************************************//
  CoJournalItem = class
    class function Create: _JournalItem;
    class function CreateRemote(const MachineName: string): _JournalItem;
  end;

  TJournalItemOpen = procedure(ASender: TObject; var Cancel: WordBool) of object;
  TJournalItemCustomAction = procedure(ASender: TObject; const Action: IDispatch; 
                                                         const Response: IDispatch; 
                                                         var Cancel: WordBool) of object;
  TJournalItemCustomPropertyChange = procedure(ASender: TObject; const Name: WideString) of object;
  TJournalItemForward = procedure(ASender: TObject; const Forward: IDispatch; var Cancel: WordBool) of object;
  TJournalItemClose = procedure(ASender: TObject; var Cancel: WordBool) of object;
  TJournalItemPropertyChange = procedure(ASender: TObject; const Name: WideString) of object;
  TJournalItemReply = procedure(ASender: TObject; const Response: IDispatch; var Cancel: WordBool) of object;
  TJournalItemReplyAll = procedure(ASender: TObject; const Response: IDispatch; var Cancel: WordBool) of object;
  TJournalItemSend = procedure(ASender: TObject; var Cancel: WordBool) of object;
  TJournalItemWrite = procedure(ASender: TObject; var Cancel: WordBool) of object;
  TJournalItemBeforeCheckNames = procedure(ASender: TObject; var Cancel: WordBool) of object;
  TJournalItemAttachmentAdd = procedure(ASender: TObject; const Attachment: Attachment) of object;
  TJournalItemAttachmentRead = procedure(ASender: TObject; const Attachment: Attachment) of object;
  TJournalItemBeforeAttachmentSave = procedure(ASender: TObject; const Attachment: Attachment; 
                                                                 var Cancel: WordBool) of object;
  TJournalItemBeforeDelete = procedure(ASender: TObject; const Item: IDispatch; var Cancel: WordBool) of object;


// *********************************************************************//
// OLE Server Proxy class declaration
// Server Object    : TJournalItem
// Help String      : 
// Default Interface: _JournalItem
// Def. Intf. DISP? : No
// Event   Interface: ItemEvents_10
// TypeFlags        : (0)
// *********************************************************************//
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  TJournalItemProperties= class;
{$ENDIF}
  TJournalItem = class(TOleServer)
  private
    FOnOpen: TJournalItemOpen;
    FOnCustomAction: TJournalItemCustomAction;
    FOnCustomPropertyChange: TJournalItemCustomPropertyChange;
    FOnForward: TJournalItemForward;
    FOnClose: TJournalItemClose;
    FOnPropertyChange: TJournalItemPropertyChange;
    FOnRead: TNotifyEvent;
    FOnReply: TJournalItemReply;
    FOnReplyAll: TJournalItemReplyAll;
    FOnSend: TJournalItemSend;
    FOnWrite: TJournalItemWrite;
    FOnBeforeCheckNames: TJournalItemBeforeCheckNames;
    FOnAttachmentAdd: TJournalItemAttachmentAdd;
    FOnAttachmentRead: TJournalItemAttachmentRead;
    FOnBeforeAttachmentSave: TJournalItemBeforeAttachmentSave;
    FOnBeforeDelete: TJournalItemBeforeDelete;
    FIntf:        _JournalItem;
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
    FProps:       TJournalItemProperties;
    function      GetServerProperties: TJournalItemProperties;
{$ENDIF}
    function      GetDefaultInterface: _JournalItem;
  protected
    procedure InitServerData; override;
    procedure InvokeEvent(DispID: TDispID; var Params: TVariantArray); override;
    function Get_Application: _Application;
    function Get_Class_: OlObjectClass;
    function Get_Session: _NameSpace;
    function Get_Parent: IDispatch;
    function Get_Actions: Actions;
    function Get_Attachments: Attachments;
    function Get_BillingInformation: WideString;
    procedure Set_BillingInformation(const BillingInformation: WideString);
    function Get_Body: WideString;
    procedure Set_Body(const Body: WideString);
    function Get_Categories: WideString;
    procedure Set_Categories(const Categories: WideString);
    function Get_Companies: WideString;
    procedure Set_Companies(const Companies: WideString);
    function Get_ConversationIndex: WideString;
    function Get_ConversationTopic: WideString;
    function Get_CreationTime: TDateTime;
    function Get_EntryID: WideString;
    function Get_FormDescription: FormDescription;
    function Get_GetInspector: _Inspector;
    function Get_Importance: OlImportance;
    procedure Set_Importance(Importance: OlImportance);
    function Get_LastModificationTime: TDateTime;
    function Get_MAPIOBJECT: IUnknown;
    function Get_MessageClass: WideString;
    procedure Set_MessageClass(const MessageClass: WideString);
    function Get_Mileage: WideString;
    procedure Set_Mileage(const Mileage: WideString);
    function Get_NoAging: WordBool;
    procedure Set_NoAging(NoAging: WordBool);
    function Get_OutlookInternalVersion: Integer;
    function Get_OutlookVersion: WideString;
    function Get_Saved: WordBool;
    function Get_Sensitivity: OlSensitivity;
    procedure Set_Sensitivity(Sensitivity: OlSensitivity);
    function Get_Size: Integer;
    function Get_Subject: WideString;
    procedure Set_Subject(const Subject: WideString);
    function Get_UnRead: WordBool;
    procedure Set_UnRead(UnRead: WordBool);
    function Get_UserProperties: UserProperties;
    function Get_ContactNames: WideString;
    procedure Set_ContactNames(const ContactNames: WideString);
    function Get_DocPosted: WordBool;
    procedure Set_DocPosted(DocPosted: WordBool);
    function Get_DocPrinted: WordBool;
    procedure Set_DocPrinted(DocPrinted: WordBool);
    function Get_DocRouted: WordBool;
    procedure Set_DocRouted(DocRouted: WordBool);
    function Get_DocSaved: WordBool;
    procedure Set_DocSaved(DocSaved: WordBool);
    function Get_Duration: Integer;
    procedure Set_Duration(Duration: Integer);
    function Get_End_: TDateTime;
    procedure Set_End_(End_: TDateTime);
    function Get_type_: WideString;
    procedure Set_type_(const Type_: WideString);
    function Get_Recipients: Recipients;
    function Get_Start: TDateTime;
    procedure Set_Start(Start: TDateTime);
    function Get_Links: Links;
    function Get_DownloadState: OlDownloadState;
    function Get_ItemProperties: ItemProperties;
    function Get_MarkForDownload: OlRemoteStatus;
    procedure Set_MarkForDownload(MarkForDownload: OlRemoteStatus);
    function Get_IsConflict: WordBool;
  public
    constructor Create(AOwner: TComponent); override;
    destructor  Destroy; override;
    procedure Connect; override;
    procedure ConnectTo(svrIntf: _JournalItem);
    procedure Disconnect; override;
    procedure Close(SaveMode: OlInspectorClose);
    function Copy: IDispatch;
    procedure Delete;
    procedure Display; overload;
    procedure Display(Modal: OleVariant); overload;
    function Move(const DestFldr: MAPIFolder): IDispatch;
    procedure PrintOut;
    procedure Save;
    procedure SaveAs(const Path: WideString); overload;
    procedure SaveAs(const Path: WideString; Type_: OleVariant); overload;
    function Forward: MailItem;
    function Reply: MailItem;
    function ReplyAll: MailItem;
    procedure StartTimer;
    procedure StopTimer;
    procedure ShowCategoriesDialog;
    property DefaultInterface: _JournalItem read GetDefaultInterface;
    property Application: _Application read Get_Application;
    property Class_: OlObjectClass read Get_Class_;
    property Session: _NameSpace read Get_Session;
    property Parent: IDispatch read Get_Parent;
    property Actions: Actions read Get_Actions;
    property Attachments: Attachments read Get_Attachments;
    property ConversationIndex: WideString read Get_ConversationIndex;
    property ConversationTopic: WideString read Get_ConversationTopic;
    property CreationTime: TDateTime read Get_CreationTime;
    property EntryID: WideString read Get_EntryID;
    property FormDescription: FormDescription read Get_FormDescription;
    property GetInspector: _Inspector read Get_GetInspector;
    property LastModificationTime: TDateTime read Get_LastModificationTime;
    property MAPIOBJECT: IUnknown read Get_MAPIOBJECT;
    property OutlookInternalVersion: Integer read Get_OutlookInternalVersion;
    property OutlookVersion: WideString read Get_OutlookVersion;
    property Saved: WordBool read Get_Saved;
    property Size: Integer read Get_Size;
    property UserProperties: UserProperties read Get_UserProperties;
    property Recipients: Recipients read Get_Recipients;
    property Links: Links read Get_Links;
    property DownloadState: OlDownloadState read Get_DownloadState;
    property ItemProperties: ItemProperties read Get_ItemProperties;
    property IsConflict: WordBool read Get_IsConflict;
    property BillingInformation: WideString read Get_BillingInformation write Set_BillingInformation;
    property Body: WideString read Get_Body write Set_Body;
    property Categories: WideString read Get_Categories write Set_Categories;
    property Companies: WideString read Get_Companies write Set_Companies;
    property Importance: OlImportance read Get_Importance write Set_Importance;
    property MessageClass: WideString read Get_MessageClass write Set_MessageClass;
    property Mileage: WideString read Get_Mileage write Set_Mileage;
    property NoAging: WordBool read Get_NoAging write Set_NoAging;
    property Sensitivity: OlSensitivity read Get_Sensitivity write Set_Sensitivity;
    property Subject: WideString read Get_Subject write Set_Subject;
    property UnRead: WordBool read Get_UnRead write Set_UnRead;
    property ContactNames: WideString read Get_ContactNames write Set_ContactNames;
    property DocPosted: WordBool read Get_DocPosted write Set_DocPosted;
    property DocPrinted: WordBool read Get_DocPrinted write Set_DocPrinted;
    property DocRouted: WordBool read Get_DocRouted write Set_DocRouted;
    property DocSaved: WordBool read Get_DocSaved write Set_DocSaved;
    property Duration: Integer read Get_Duration write Set_Duration;
    property End_: TDateTime read Get_End_ write Set_End_;
    property type_: WideString read Get_type_ write Set_type_;
    property Start: TDateTime read Get_Start write Set_Start;
    property MarkForDownload: OlRemoteStatus read Get_MarkForDownload write Set_MarkForDownload;
  published
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
    property Server: TJournalItemProperties read GetServerProperties;
{$ENDIF}
    property OnOpen: TJournalItemOpen read FOnOpen write FOnOpen;
    property OnCustomAction: TJournalItemCustomAction read FOnCustomAction write FOnCustomAction;
    property OnCustomPropertyChange: TJournalItemCustomPropertyChange read FOnCustomPropertyChange write FOnCustomPropertyChange;
    property OnForward: TJournalItemForward read FOnForward write FOnForward;
    property OnClose: TJournalItemClose read FOnClose write FOnClose;
    property OnPropertyChange: TJournalItemPropertyChange read FOnPropertyChange write FOnPropertyChange;
    property OnRead: TNotifyEvent read FOnRead write FOnRead;
    property OnReply: TJournalItemReply read FOnReply write FOnReply;
    property OnReplyAll: TJournalItemReplyAll read FOnReplyAll write FOnReplyAll;
    property OnSend: TJournalItemSend read FOnSend write FOnSend;
    property OnWrite: TJournalItemWrite read FOnWrite write FOnWrite;
    property OnBeforeCheckNames: TJournalItemBeforeCheckNames read FOnBeforeCheckNames write FOnBeforeCheckNames;
    property OnAttachmentAdd: TJournalItemAttachmentAdd read FOnAttachmentAdd write FOnAttachmentAdd;
    property OnAttachmentRead: TJournalItemAttachmentRead read FOnAttachmentRead write FOnAttachmentRead;
    property OnBeforeAttachmentSave: TJournalItemBeforeAttachmentSave read FOnBeforeAttachmentSave write FOnBeforeAttachmentSave;
    property OnBeforeDelete: TJournalItemBeforeDelete read FOnBeforeDelete write FOnBeforeDelete;
  end;

{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
// *********************************************************************//
// OLE Server Properties Proxy Class
// Server Object    : TJournalItem
// (This object is used by the IDE's Property Inspector to allow editing
//  of the properties of this server)
// *********************************************************************//
 TJournalItemProperties = class(TPersistent)
  private
    FServer:    TJournalItem;
    function    GetDefaultInterface: _JournalItem;
    constructor Create(AServer: TJournalItem);
  protected
    function Get_Application: _Application;
    function Get_Class_: OlObjectClass;
    function Get_Session: _NameSpace;
    function Get_Parent: IDispatch;
    function Get_Actions: Actions;
    function Get_Attachments: Attachments;
    function Get_BillingInformation: WideString;
    procedure Set_BillingInformation(const BillingInformation: WideString);
    function Get_Body: WideString;
    procedure Set_Body(const Body: WideString);
    function Get_Categories: WideString;
    procedure Set_Categories(const Categories: WideString);
    function Get_Companies: WideString;
    procedure Set_Companies(const Companies: WideString);
    function Get_ConversationIndex: WideString;
    function Get_ConversationTopic: WideString;
    function Get_CreationTime: TDateTime;
    function Get_EntryID: WideString;
    function Get_FormDescription: FormDescription;
    function Get_GetInspector: _Inspector;
    function Get_Importance: OlImportance;
    procedure Set_Importance(Importance: OlImportance);
    function Get_LastModificationTime: TDateTime;
    function Get_MAPIOBJECT: IUnknown;
    function Get_MessageClass: WideString;
    procedure Set_MessageClass(const MessageClass: WideString);
    function Get_Mileage: WideString;
    procedure Set_Mileage(const Mileage: WideString);
    function Get_NoAging: WordBool;
    procedure Set_NoAging(NoAging: WordBool);
    function Get_OutlookInternalVersion: Integer;
    function Get_OutlookVersion: WideString;
    function Get_Saved: WordBool;
    function Get_Sensitivity: OlSensitivity;
    procedure Set_Sensitivity(Sensitivity: OlSensitivity);
    function Get_Size: Integer;
    function Get_Subject: WideString;
    procedure Set_Subject(const Subject: WideString);
    function Get_UnRead: WordBool;
    procedure Set_UnRead(UnRead: WordBool);
    function Get_UserProperties: UserProperties;
    function Get_ContactNames: WideString;
    procedure Set_ContactNames(const ContactNames: WideString);
    function Get_DocPosted: WordBool;
    procedure Set_DocPosted(DocPosted: WordBool);
    function Get_DocPrinted: WordBool;
    procedure Set_DocPrinted(DocPrinted: WordBool);
    function Get_DocRouted: WordBool;
    procedure Set_DocRouted(DocRouted: WordBool);
    function Get_DocSaved: WordBool;
    procedure Set_DocSaved(DocSaved: WordBool);
    function Get_Duration: Integer;
    procedure Set_Duration(Duration: Integer);
    function Get_End_: TDateTime;
    procedure Set_End_(End_: TDateTime);
    function Get_type_: WideString;
    procedure Set_type_(const Type_: WideString);
    function Get_Recipients: Recipients;
    function Get_Start: TDateTime;
    procedure Set_Start(Start: TDateTime);
    function Get_Links: Links;
    function Get_DownloadState: OlDownloadState;
    function Get_ItemProperties: ItemProperties;
    function Get_MarkForDownload: OlRemoteStatus;
    procedure Set_MarkForDownload(MarkForDownload: OlRemoteStatus);
    function Get_IsConflict: WordBool;
  public
    property DefaultInterface: _JournalItem read GetDefaultInterface;
  published
    property BillingInformation: WideString read Get_BillingInformation write Set_BillingInformation;
    property Body: WideString read Get_Body write Set_Body;
    property Categories: WideString read Get_Categories write Set_Categories;
    property Companies: WideString read Get_Companies write Set_Companies;
    property Importance: OlImportance read Get_Importance write Set_Importance;
    property MessageClass: WideString read Get_MessageClass write Set_MessageClass;
    property Mileage: WideString read Get_Mileage write Set_Mileage;
    property NoAging: WordBool read Get_NoAging write Set_NoAging;
    property Sensitivity: OlSensitivity read Get_Sensitivity write Set_Sensitivity;
    property Subject: WideString read Get_Subject write Set_Subject;
    property UnRead: WordBool read Get_UnRead write Set_UnRead;
    property ContactNames: WideString read Get_ContactNames write Set_ContactNames;
    property DocPosted: WordBool read Get_DocPosted write Set_DocPosted;
    property DocPrinted: WordBool read Get_DocPrinted write Set_DocPrinted;
    property DocRouted: WordBool read Get_DocRouted write Set_DocRouted;
    property DocSaved: WordBool read Get_DocSaved write Set_DocSaved;
    property Duration: Integer read Get_Duration write Set_Duration;
    property End_: TDateTime read Get_End_ write Set_End_;
    property type_: WideString read Get_type_ write Set_type_;
    property Start: TDateTime read Get_Start write Set_Start;
    property MarkForDownload: OlRemoteStatus read Get_MarkForDownload write Set_MarkForDownload;
  end;
{$ENDIF}


// *********************************************************************//
// The Class CoNameSpace provides a Create and CreateRemote method to          
// create instances of the default interface _NameSpace exposed by              
// the CoClass NameSpace. The functions are intended to be used by             
// clients wishing to automate the CoClass objects exposed by the         
// server of this typelibrary.                                            
// *********************************************************************//
  CoNameSpace = class
    class function Create: _NameSpace;
    class function CreateRemote(const MachineName: string): _NameSpace;
  end;

  TNameSpaceOptionsPagesAdd = procedure(ASender: TObject; const Pages: PropertyPages; 
                                                          const Folder: MAPIFolder) of object;


// *********************************************************************//
// OLE Server Proxy class declaration
// Server Object    : TNameSpace
// Help String      : 
// Default Interface: _NameSpace
// Def. Intf. DISP? : No
// Event   Interface: NameSpaceEvents
// TypeFlags        : (0)
// *********************************************************************//
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  TNameSpaceProperties= class;
{$ENDIF}
  TNameSpace = class(TOleServer)
  private
    FOnOptionsPagesAdd: TNameSpaceOptionsPagesAdd;
    FIntf:        _NameSpace;
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
    FProps:       TNameSpaceProperties;
    function      GetServerProperties: TNameSpaceProperties;
{$ENDIF}
    function      GetDefaultInterface: _NameSpace;
  protected
    procedure InitServerData; override;
    procedure InvokeEvent(DispID: TDispID; var Params: TVariantArray); override;
    function Get_Application: _Application;
    function Get_Class_: OlObjectClass;
    function Get_Session: _NameSpace;
    function Get_Parent: IDispatch;
    function Get_CurrentUser: Recipient;
    function Get_Folders: _Folders;
    function Get_type_: WideString;
    function Get_AddressLists: AddressLists;
    function Get_SyncObjects: SyncObjects;
    function Get_Offline: WordBool;
    function Get_MAPIOBJECT: IUnknown;
  public
    constructor Create(AOwner: TComponent); override;
    destructor  Destroy; override;
    procedure Connect; override;
    procedure ConnectTo(svrIntf: _NameSpace);
    procedure Disconnect; override;
    function CreateRecipient(const RecipientName: WideString): Recipient;
    function GetDefaultFolder(FolderType: OlDefaultFolders): MAPIFolder;
    function GetFolderFromID(const EntryIDFolder: WideString): MAPIFolder; overload;
    function GetFolderFromID(const EntryIDFolder: WideString; EntryIDStore: OleVariant): MAPIFolder; overload;
    function GetItemFromID(const EntryIDItem: WideString): IDispatch; overload;
    function GetItemFromID(const EntryIDItem: WideString; EntryIDStore: OleVariant): IDispatch; overload;
    function GetRecipientFromID(const EntryID: WideString): Recipient;
    function GetSharedDefaultFolder(const Recipient: Recipient; FolderType: OlDefaultFolders): MAPIFolder;
    procedure Logoff;
    procedure Logon; overload;
    procedure Logon(Profile: OleVariant); overload;
    procedure Logon(Profile: OleVariant; Password: OleVariant); overload;
    procedure Logon(Profile: OleVariant; Password: OleVariant; ShowDialog: OleVariant); overload;
    procedure Logon(Profile: OleVariant; Password: OleVariant; ShowDialog: OleVariant; 
                    NewSession: OleVariant); overload;
    function PickFolder: MAPIFolder;
    procedure RefreshRemoteHeaders;
    procedure AddStore(Store: OleVariant);
    procedure RemoveStore(const Folder: MAPIFolder);
    procedure Dial; overload;
    procedure Dial(ContactItem: OleVariant); overload;
    property DefaultInterface: _NameSpace read GetDefaultInterface;
    property Application: _Application read Get_Application;
    property Class_: OlObjectClass read Get_Class_;
    property Session: _NameSpace read Get_Session;
    property Parent: IDispatch read Get_Parent;
    property CurrentUser: Recipient read Get_CurrentUser;
    property Folders: _Folders read Get_Folders;
    property type_: WideString read Get_type_;
    property AddressLists: AddressLists read Get_AddressLists;
    property SyncObjects: SyncObjects read Get_SyncObjects;
    property Offline: WordBool read Get_Offline;
    property MAPIOBJECT: IUnknown read Get_MAPIOBJECT;
  published
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
    property Server: TNameSpaceProperties read GetServerProperties;
{$ENDIF}
    property OnOptionsPagesAdd: TNameSpaceOptionsPagesAdd read FOnOptionsPagesAdd write FOnOptionsPagesAdd;
  end;

{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
// *********************************************************************//
// OLE Server Properties Proxy Class
// Server Object    : TNameSpace
// (This object is used by the IDE's Property Inspector to allow editing
//  of the properties of this server)
// *********************************************************************//
 TNameSpaceProperties = class(TPersistent)
  private
    FServer:    TNameSpace;
    function    GetDefaultInterface: _NameSpace;
    constructor Create(AServer: TNameSpace);
  protected
    function Get_Application: _Application;
    function Get_Class_: OlObjectClass;
    function Get_Session: _NameSpace;
    function Get_Parent: IDispatch;
    function Get_CurrentUser: Recipient;
    function Get_Folders: _Folders;
    function Get_type_: WideString;
    function Get_AddressLists: AddressLists;
    function Get_SyncObjects: SyncObjects;
    function Get_Offline: WordBool;
    function Get_MAPIOBJECT: IUnknown;
  public
    property DefaultInterface: _NameSpace read GetDefaultInterface;
  published
  end;
{$ENDIF}


// *********************************************************************//
// The Class CoNoteItem provides a Create and CreateRemote method to          
// create instances of the default interface _NoteItem exposed by              
// the CoClass NoteItem. The functions are intended to be used by             
// clients wishing to automate the CoClass objects exposed by the         
// server of this typelibrary.                                            
// *********************************************************************//
  CoNoteItem = class
    class function Create: _NoteItem;
    class function CreateRemote(const MachineName: string): _NoteItem;
  end;


// *********************************************************************//
// OLE Server Proxy class declaration
// Server Object    : TNoteItem
// Help String      : 
// Default Interface: _NoteItem
// Def. Intf. DISP? : No
// Event   Interface: 
// TypeFlags        : (0)
// *********************************************************************//
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  TNoteItemProperties= class;
{$ENDIF}
  TNoteItem = class(TOleServer)
  private
    FIntf:        _NoteItem;
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
    FProps:       TNoteItemProperties;
    function      GetServerProperties: TNoteItemProperties;
{$ENDIF}
    function      GetDefaultInterface: _NoteItem;
  protected
    procedure InitServerData; override;
    function Get_Application: _Application;
    function Get_Class_: OlObjectClass;
    function Get_Session: _NameSpace;
    function Get_Parent: IDispatch;
    function Get_Body: WideString;
    procedure Set_Body(const Body: WideString);
    function Get_Categories: WideString;
    procedure Set_Categories(const Categories: WideString);
    function Get_Color: OlNoteColor;
    procedure Set_Color(Color: OlNoteColor);
    function Get_CreationTime: TDateTime;
    function Get_EntryID: WideString;
    function Get_GetInspector: _Inspector;
    function Get_Height: Integer;
    procedure Set_Height(Height: Integer);
    function Get_LastModificationTime: TDateTime;
    function Get_Left: Integer;
    procedure Set_Left(Left: Integer);
    function Get_MessageClass: WideString;
    procedure Set_MessageClass(const MessageClass: WideString);
    function Get_Saved: WordBool;
    function Get_Size: Integer;
    function Get_Subject: WideString;
    function Get_Top: Integer;
    procedure Set_Top(Top: Integer);
    function Get_Width: Integer;
    procedure Set_Width(Width: Integer);
    function Get_Links: Links;
    function Get_DownloadState: OlDownloadState;
    function Get_ItemProperties: ItemProperties;
    function Get_MarkForDownload: OlRemoteStatus;
    procedure Set_MarkForDownload(MarkForDownload: OlRemoteStatus);
    function Get_IsConflict: WordBool;
  public
    constructor Create(AOwner: TComponent); override;
    destructor  Destroy; override;
    procedure Connect; override;
    procedure ConnectTo(svrIntf: _NoteItem);
    procedure Disconnect; override;
    procedure Close(SaveMode: OlInspectorClose);
    function Copy: IDispatch;
    procedure Delete;
    procedure Display; overload;
    procedure Display(Modal: OleVariant); overload;
    function Move(const DestFldr: MAPIFolder): IDispatch;
    procedure PrintOut;
    procedure Save;
    procedure SaveAs(const Path: WideString); overload;
    procedure SaveAs(const Path: WideString; Type_: OleVariant); overload;
    property DefaultInterface: _NoteItem read GetDefaultInterface;
    property Application: _Application read Get_Application;
    property Class_: OlObjectClass read Get_Class_;
    property Session: _NameSpace read Get_Session;
    property Parent: IDispatch read Get_Parent;
    property CreationTime: TDateTime read Get_CreationTime;
    property EntryID: WideString read Get_EntryID;
    property GetInspector: _Inspector read Get_GetInspector;
    property LastModificationTime: TDateTime read Get_LastModificationTime;
    property Saved: WordBool read Get_Saved;
    property Size: Integer read Get_Size;
    property Subject: WideString read Get_Subject;
    property Links: Links read Get_Links;
    property DownloadState: OlDownloadState read Get_DownloadState;
    property ItemProperties: ItemProperties read Get_ItemProperties;
    property IsConflict: WordBool read Get_IsConflict;
    property Body: WideString read Get_Body write Set_Body;
    property Categories: WideString read Get_Categories write Set_Categories;
    property Color: OlNoteColor read Get_Color write Set_Color;
    property Height: Integer read Get_Height write Set_Height;
    property Left: Integer read Get_Left write Set_Left;
    property MessageClass: WideString read Get_MessageClass write Set_MessageClass;
    property Top: Integer read Get_Top write Set_Top;
    property Width: Integer read Get_Width write Set_Width;
    property MarkForDownload: OlRemoteStatus read Get_MarkForDownload write Set_MarkForDownload;
  published
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
    property Server: TNoteItemProperties read GetServerProperties;
{$ENDIF}
  end;

{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
// *********************************************************************//
// OLE Server Properties Proxy Class
// Server Object    : TNoteItem
// (This object is used by the IDE's Property Inspector to allow editing
//  of the properties of this server)
// *********************************************************************//
 TNoteItemProperties = class(TPersistent)
  private
    FServer:    TNoteItem;
    function    GetDefaultInterface: _NoteItem;
    constructor Create(AServer: TNoteItem);
  protected
    function Get_Application: _Application;
    function Get_Class_: OlObjectClass;
    function Get_Session: _NameSpace;
    function Get_Parent: IDispatch;
    function Get_Body: WideString;
    procedure Set_Body(const Body: WideString);
    function Get_Categories: WideString;
    procedure Set_Categories(const Categories: WideString);
    function Get_Color: OlNoteColor;
    procedure Set_Color(Color: OlNoteColor);
    function Get_CreationTime: TDateTime;
    function Get_EntryID: WideString;
    function Get_GetInspector: _Inspector;
    function Get_Height: Integer;
    procedure Set_Height(Height: Integer);
    function Get_LastModificationTime: TDateTime;
    function Get_Left: Integer;
    procedure Set_Left(Left: Integer);
    function Get_MessageClass: WideString;
    procedure Set_MessageClass(const MessageClass: WideString);
    function Get_Saved: WordBool;
    function Get_Size: Integer;
    function Get_Subject: WideString;
    function Get_Top: Integer;
    procedure Set_Top(Top: Integer);
    function Get_Width: Integer;
    procedure Set_Width(Width: Integer);
    function Get_Links: Links;
    function Get_DownloadState: OlDownloadState;
    function Get_ItemProperties: ItemProperties;
    function Get_MarkForDownload: OlRemoteStatus;
    procedure Set_MarkForDownload(MarkForDownload: OlRemoteStatus);
    function Get_IsConflict: WordBool;
  public
    property DefaultInterface: _NoteItem read GetDefaultInterface;
  published
    property Body: WideString read Get_Body write Set_Body;
    property Categories: WideString read Get_Categories write Set_Categories;
    property Color: OlNoteColor read Get_Color write Set_Color;
    property Height: Integer read Get_Height write Set_Height;
    property Left: Integer read Get_Left write Set_Left;
    property MessageClass: WideString read Get_MessageClass write Set_MessageClass;
    property Top: Integer read Get_Top write Set_Top;
    property Width: Integer read Get_Width write Set_Width;
    property MarkForDownload: OlRemoteStatus read Get_MarkForDownload write Set_MarkForDownload;
  end;
{$ENDIF}


// *********************************************************************//
// The Class CoOutlookBarGroups provides a Create and CreateRemote method to          
// create instances of the default interface _OutlookBarGroups exposed by              
// the CoClass OutlookBarGroups. The functions are intended to be used by             
// clients wishing to automate the CoClass objects exposed by the         
// server of this typelibrary.                                            
// *********************************************************************//
  CoOutlookBarGroups = class
    class function Create: _OutlookBarGroups;
    class function CreateRemote(const MachineName: string): _OutlookBarGroups;
  end;

  TOutlookBarGroupsGroupAdd = procedure(ASender: TObject; const NewGroup: OutlookBarGroup) of object;
  TOutlookBarGroupsBeforeGroupAdd = procedure(ASender: TObject; var Cancel: WordBool) of object;
  TOutlookBarGroupsBeforeGroupRemove = procedure(ASender: TObject; const Group: OutlookBarGroup; 
                                                                   var Cancel: WordBool) of object;


// *********************************************************************//
// OLE Server Proxy class declaration
// Server Object    : TOutlookBarGroups
// Help String      : 
// Default Interface: _OutlookBarGroups
// Def. Intf. DISP? : No
// Event   Interface: OutlookBarGroupsEvents
// TypeFlags        : (0)
// *********************************************************************//
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  TOutlookBarGroupsProperties= class;
{$ENDIF}
  TOutlookBarGroups = class(TOleServer)
  private
    FOnGroupAdd: TOutlookBarGroupsGroupAdd;
    FOnBeforeGroupAdd: TOutlookBarGroupsBeforeGroupAdd;
    FOnBeforeGroupRemove: TOutlookBarGroupsBeforeGroupRemove;
    FIntf:        _OutlookBarGroups;
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
    FProps:       TOutlookBarGroupsProperties;
    function      GetServerProperties: TOutlookBarGroupsProperties;
{$ENDIF}
    function      GetDefaultInterface: _OutlookBarGroups;
  protected
    procedure InitServerData; override;
    procedure InvokeEvent(DispID: TDispID; var Params: TVariantArray); override;
    function Get_Application: _Application;
    function Get_Class_: OlObjectClass;
    function Get_Session: _NameSpace;
    function Get_Parent: IDispatch;
    function Get_Count: Integer;
  public
    constructor Create(AOwner: TComponent); override;
    destructor  Destroy; override;
    procedure Connect; override;
    procedure ConnectTo(svrIntf: _OutlookBarGroups);
    procedure Disconnect; override;
    function Item(Index: OleVariant): OutlookBarGroup;
    function Add(const Name: WideString): OutlookBarGroup; overload;
    function Add(const Name: WideString; Index: OleVariant): OutlookBarGroup; overload;
    procedure Remove(Index: OleVariant);
    property DefaultInterface: _OutlookBarGroups read GetDefaultInterface;
    property Application: _Application read Get_Application;
    property Class_: OlObjectClass read Get_Class_;
    property Session: _NameSpace read Get_Session;
    property Parent: IDispatch read Get_Parent;
    property Count: Integer read Get_Count;
  published
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
    property Server: TOutlookBarGroupsProperties read GetServerProperties;
{$ENDIF}
    property OnGroupAdd: TOutlookBarGroupsGroupAdd read FOnGroupAdd write FOnGroupAdd;
    property OnBeforeGroupAdd: TOutlookBarGroupsBeforeGroupAdd read FOnBeforeGroupAdd write FOnBeforeGroupAdd;
    property OnBeforeGroupRemove: TOutlookBarGroupsBeforeGroupRemove read FOnBeforeGroupRemove write FOnBeforeGroupRemove;
  end;

{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
// *********************************************************************//
// OLE Server Properties Proxy Class
// Server Object    : TOutlookBarGroups
// (This object is used by the IDE's Property Inspector to allow editing
//  of the properties of this server)
// *********************************************************************//
 TOutlookBarGroupsProperties = class(TPersistent)
  private
    FServer:    TOutlookBarGroups;
    function    GetDefaultInterface: _OutlookBarGroups;
    constructor Create(AServer: TOutlookBarGroups);
  protected
    function Get_Application: _Application;
    function Get_Class_: OlObjectClass;
    function Get_Session: _NameSpace;
    function Get_Parent: IDispatch;
    function Get_Count: Integer;
  public
    property DefaultInterface: _OutlookBarGroups read GetDefaultInterface;
  published
  end;
{$ENDIF}


// *********************************************************************//
// The Class CoOutlookBarPane provides a Create and CreateRemote method to          
// create instances of the default interface _OutlookBarPane exposed by              
// the CoClass OutlookBarPane. The functions are intended to be used by             
// clients wishing to automate the CoClass objects exposed by the         
// server of this typelibrary.                                            
// *********************************************************************//
  CoOutlookBarPane = class
    class function Create: _OutlookBarPane;
    class function CreateRemote(const MachineName: string): _OutlookBarPane;
  end;

  TOutlookBarPaneBeforeNavigate = procedure(ASender: TObject; const Shortcut: OutlookBarShortcut; 
                                                              var Cancel: WordBool) of object;
  TOutlookBarPaneBeforeGroupSwitch = procedure(ASender: TObject; const ToGroup: OutlookBarGroup; 
                                                                 var Cancel: WordBool) of object;


// *********************************************************************//
// OLE Server Proxy class declaration
// Server Object    : TOutlookBarPane
// Help String      : 
// Default Interface: _OutlookBarPane
// Def. Intf. DISP? : No
// Event   Interface: OutlookBarPaneEvents
// TypeFlags        : (0)
// *********************************************************************//
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  TOutlookBarPaneProperties= class;
{$ENDIF}
  TOutlookBarPane = class(TOleServer)
  private
    FOnBeforeNavigate: TOutlookBarPaneBeforeNavigate;
    FOnBeforeGroupSwitch: TOutlookBarPaneBeforeGroupSwitch;
    FIntf:        _OutlookBarPane;
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
    FProps:       TOutlookBarPaneProperties;
    function      GetServerProperties: TOutlookBarPaneProperties;
{$ENDIF}
    function      GetDefaultInterface: _OutlookBarPane;
  protected
    procedure InitServerData; override;
    procedure InvokeEvent(DispID: TDispID; var Params: TVariantArray); override;
    function Get_Application: _Application;
    function Get_Class_: OlObjectClass;
    function Get_Session: _NameSpace;
    function Get_Parent: IDispatch;
    function Get_Contents: OutlookBarStorage;
    function Get_CurrentGroup: OutlookBarGroup;
    procedure _Set_CurrentGroup(const CurrentGroup: OutlookBarGroup);
    function Get_Name: WideString;
    function Get_Visible: WordBool;
    procedure Set_Visible(Visible: WordBool);
  public
    constructor Create(AOwner: TComponent); override;
    destructor  Destroy; override;
    procedure Connect; override;
    procedure ConnectTo(svrIntf: _OutlookBarPane);
    procedure Disconnect; override;
    property DefaultInterface: _OutlookBarPane read GetDefaultInterface;
    property Application: _Application read Get_Application;
    property Class_: OlObjectClass read Get_Class_;
    property Session: _NameSpace read Get_Session;
    property Parent: IDispatch read Get_Parent;
    property Contents: OutlookBarStorage read Get_Contents;
    property CurrentGroup: OutlookBarGroup read Get_CurrentGroup write _Set_CurrentGroup;
    property Name: WideString read Get_Name;
    property Visible: WordBool read Get_Visible write Set_Visible;
  published
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
    property Server: TOutlookBarPaneProperties read GetServerProperties;
{$ENDIF}
    property OnBeforeNavigate: TOutlookBarPaneBeforeNavigate read FOnBeforeNavigate write FOnBeforeNavigate;
    property OnBeforeGroupSwitch: TOutlookBarPaneBeforeGroupSwitch read FOnBeforeGroupSwitch write FOnBeforeGroupSwitch;
  end;

{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
// *********************************************************************//
// OLE Server Properties Proxy Class
// Server Object    : TOutlookBarPane
// (This object is used by the IDE's Property Inspector to allow editing
//  of the properties of this server)
// *********************************************************************//
 TOutlookBarPaneProperties = class(TPersistent)
  private
    FServer:    TOutlookBarPane;
    function    GetDefaultInterface: _OutlookBarPane;
    constructor Create(AServer: TOutlookBarPane);
  protected
    function Get_Application: _Application;
    function Get_Class_: OlObjectClass;
    function Get_Session: _NameSpace;
    function Get_Parent: IDispatch;
    function Get_Contents: OutlookBarStorage;
    function Get_CurrentGroup: OutlookBarGroup;
    procedure _Set_CurrentGroup(const CurrentGroup: OutlookBarGroup);
    function Get_Name: WideString;
    function Get_Visible: WordBool;
    procedure Set_Visible(Visible: WordBool);
  public
    property DefaultInterface: _OutlookBarPane read GetDefaultInterface;
  published
    property Visible: WordBool read Get_Visible write Set_Visible;
  end;
{$ENDIF}


// *********************************************************************//
// The Class CoOutlookBarShortcuts provides a Create and CreateRemote method to          
// create instances of the default interface _OutlookBarShortcuts exposed by              
// the CoClass OutlookBarShortcuts. The functions are intended to be used by             
// clients wishing to automate the CoClass objects exposed by the         
// server of this typelibrary.                                            
// *********************************************************************//
  CoOutlookBarShortcuts = class
    class function Create: _OutlookBarShortcuts;
    class function CreateRemote(const MachineName: string): _OutlookBarShortcuts;
  end;

  TOutlookBarShortcutsShortcutAdd = procedure(ASender: TObject; const NewShortcut: OutlookBarShortcut) of object;
  TOutlookBarShortcutsBeforeShortcutAdd = procedure(ASender: TObject; var Cancel: WordBool) of object;
  TOutlookBarShortcutsBeforeShortcutRemove = procedure(ASender: TObject; const Shortcut: OutlookBarShortcut; 
                                                                         var Cancel: WordBool) of object;


// *********************************************************************//
// OLE Server Proxy class declaration
// Server Object    : TOutlookBarShortcuts
// Help String      : 
// Default Interface: _OutlookBarShortcuts
// Def. Intf. DISP? : No
// Event   Interface: OutlookBarShortcutsEvents
// TypeFlags        : (0)
// *********************************************************************//
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  TOutlookBarShortcutsProperties= class;
{$ENDIF}
  TOutlookBarShortcuts = class(TOleServer)
  private
    FOnShortcutAdd: TOutlookBarShortcutsShortcutAdd;
    FOnBeforeShortcutAdd: TOutlookBarShortcutsBeforeShortcutAdd;
    FOnBeforeShortcutRemove: TOutlookBarShortcutsBeforeShortcutRemove;
    FIntf:        _OutlookBarShortcuts;
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
    FProps:       TOutlookBarShortcutsProperties;
    function      GetServerProperties: TOutlookBarShortcutsProperties;
{$ENDIF}
    function      GetDefaultInterface: _OutlookBarShortcuts;
  protected
    procedure InitServerData; override;
    procedure InvokeEvent(DispID: TDispID; var Params: TVariantArray); override;
    function Get_Application: _Application;
    function Get_Class_: OlObjectClass;
    function Get_Session: _NameSpace;
    function Get_Parent: IDispatch;
    function Get_Count: Integer;
  public
    constructor Create(AOwner: TComponent); override;
    destructor  Destroy; override;
    procedure Connect; override;
    procedure ConnectTo(svrIntf: _OutlookBarShortcuts);
    procedure Disconnect; override;
    function Item(Index: OleVariant): OutlookBarShortcut;
    function Add(Target: OleVariant; const Name: WideString): OutlookBarShortcut; overload;
    function Add(Target: OleVariant; const Name: WideString; Index: OleVariant): OutlookBarShortcut; overload;
    procedure Remove(Index: OleVariant);
    property DefaultInterface: _OutlookBarShortcuts read GetDefaultInterface;
    property Application: _Application read Get_Application;
    property Class_: OlObjectClass read Get_Class_;
    property Session: _NameSpace read Get_Session;
    property Parent: IDispatch read Get_Parent;
    property Count: Integer read Get_Count;
  published
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
    property Server: TOutlookBarShortcutsProperties read GetServerProperties;
{$ENDIF}
    property OnShortcutAdd: TOutlookBarShortcutsShortcutAdd read FOnShortcutAdd write FOnShortcutAdd;
    property OnBeforeShortcutAdd: TOutlookBarShortcutsBeforeShortcutAdd read FOnBeforeShortcutAdd write FOnBeforeShortcutAdd;
    property OnBeforeShortcutRemove: TOutlookBarShortcutsBeforeShortcutRemove read FOnBeforeShortcutRemove write FOnBeforeShortcutRemove;
  end;

{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
// *********************************************************************//
// OLE Server Properties Proxy Class
// Server Object    : TOutlookBarShortcuts
// (This object is used by the IDE's Property Inspector to allow editing
//  of the properties of this server)
// *********************************************************************//
 TOutlookBarShortcutsProperties = class(TPersistent)
  private
    FServer:    TOutlookBarShortcuts;
    function    GetDefaultInterface: _OutlookBarShortcuts;
    constructor Create(AServer: TOutlookBarShortcuts);
  protected
    function Get_Application: _Application;
    function Get_Class_: OlObjectClass;
    function Get_Session: _NameSpace;
    function Get_Parent: IDispatch;
    function Get_Count: Integer;
  public
    property DefaultInterface: _OutlookBarShortcuts read GetDefaultInterface;
  published
  end;
{$ENDIF}


// *********************************************************************//
// The Class CoPostItem provides a Create and CreateRemote method to          
// create instances of the default interface _PostItem exposed by              
// the CoClass PostItem. The functions are intended to be used by             
// clients wishing to automate the CoClass objects exposed by the         
// server of this typelibrary.                                            
// *********************************************************************//
  CoPostItem = class
    class function Create: _PostItem;
    class function CreateRemote(const MachineName: string): _PostItem;
  end;

  TPostItemOpen = procedure(ASender: TObject; var Cancel: WordBool) of object;
  TPostItemCustomAction = procedure(ASender: TObject; const Action: IDispatch; 
                                                      const Response: IDispatch; 
                                                      var Cancel: WordBool) of object;
  TPostItemCustomPropertyChange = procedure(ASender: TObject; const Name: WideString) of object;
  TPostItemForward = procedure(ASender: TObject; const Forward: IDispatch; var Cancel: WordBool) of object;
  TPostItemClose = procedure(ASender: TObject; var Cancel: WordBool) of object;
  TPostItemPropertyChange = procedure(ASender: TObject; const Name: WideString) of object;
  TPostItemReply = procedure(ASender: TObject; const Response: IDispatch; var Cancel: WordBool) of object;
  TPostItemReplyAll = procedure(ASender: TObject; const Response: IDispatch; var Cancel: WordBool) of object;
  TPostItemSend = procedure(ASender: TObject; var Cancel: WordBool) of object;
  TPostItemWrite = procedure(ASender: TObject; var Cancel: WordBool) of object;
  TPostItemBeforeCheckNames = procedure(ASender: TObject; var Cancel: WordBool) of object;
  TPostItemAttachmentAdd = procedure(ASender: TObject; const Attachment: Attachment) of object;
  TPostItemAttachmentRead = procedure(ASender: TObject; const Attachment: Attachment) of object;
  TPostItemBeforeAttachmentSave = procedure(ASender: TObject; const Attachment: Attachment; 
                                                              var Cancel: WordBool) of object;
  TPostItemBeforeDelete = procedure(ASender: TObject; const Item: IDispatch; var Cancel: WordBool) of object;


// *********************************************************************//
// OLE Server Proxy class declaration
// Server Object    : TPostItem
// Help String      : 
// Default Interface: _PostItem
// Def. Intf. DISP? : No
// Event   Interface: ItemEvents_10
// TypeFlags        : (0)
// *********************************************************************//
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  TPostItemProperties= class;
{$ENDIF}
  TPostItem = class(TOleServer)
  private
    FOnOpen: TPostItemOpen;
    FOnCustomAction: TPostItemCustomAction;
    FOnCustomPropertyChange: TPostItemCustomPropertyChange;
    FOnForward: TPostItemForward;
    FOnClose: TPostItemClose;
    FOnPropertyChange: TPostItemPropertyChange;
    FOnRead: TNotifyEvent;
    FOnReply: TPostItemReply;
    FOnReplyAll: TPostItemReplyAll;
    FOnSend: TPostItemSend;
    FOnWrite: TPostItemWrite;
    FOnBeforeCheckNames: TPostItemBeforeCheckNames;
    FOnAttachmentAdd: TPostItemAttachmentAdd;
    FOnAttachmentRead: TPostItemAttachmentRead;
    FOnBeforeAttachmentSave: TPostItemBeforeAttachmentSave;
    FOnBeforeDelete: TPostItemBeforeDelete;
    FIntf:        _PostItem;
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
    FProps:       TPostItemProperties;
    function      GetServerProperties: TPostItemProperties;
{$ENDIF}
    function      GetDefaultInterface: _PostItem;
  protected
    procedure InitServerData; override;
    procedure InvokeEvent(DispID: TDispID; var Params: TVariantArray); override;
    function Get_Application: _Application;
    function Get_Class_: OlObjectClass;
    function Get_Session: _NameSpace;
    function Get_Parent: IDispatch;
    function Get_Actions: Actions;
    function Get_Attachments: Attachments;
    function Get_BillingInformation: WideString;
    procedure Set_BillingInformation(const BillingInformation: WideString);
    function Get_Body: WideString;
    procedure Set_Body(const Body: WideString);
    function Get_Categories: WideString;
    procedure Set_Categories(const Categories: WideString);
    function Get_Companies: WideString;
    procedure Set_Companies(const Companies: WideString);
    function Get_ConversationIndex: WideString;
    function Get_ConversationTopic: WideString;
    function Get_CreationTime: TDateTime;
    function Get_EntryID: WideString;
    function Get_FormDescription: FormDescription;
    function Get_GetInspector: _Inspector;
    function Get_Importance: OlImportance;
    procedure Set_Importance(Importance: OlImportance);
    function Get_LastModificationTime: TDateTime;
    function Get_MAPIOBJECT: IUnknown;
    function Get_MessageClass: WideString;
    procedure Set_MessageClass(const MessageClass: WideString);
    function Get_Mileage: WideString;
    procedure Set_Mileage(const Mileage: WideString);
    function Get_NoAging: WordBool;
    procedure Set_NoAging(NoAging: WordBool);
    function Get_OutlookInternalVersion: Integer;
    function Get_OutlookVersion: WideString;
    function Get_Saved: WordBool;
    function Get_Sensitivity: OlSensitivity;
    procedure Set_Sensitivity(Sensitivity: OlSensitivity);
    function Get_Size: Integer;
    function Get_Subject: WideString;
    procedure Set_Subject(const Subject: WideString);
    function Get_UnRead: WordBool;
    procedure Set_UnRead(UnRead: WordBool);
    function Get_UserProperties: UserProperties;
    function Get_ExpiryTime: TDateTime;
    procedure Set_ExpiryTime(ExpiryTime: TDateTime);
    function Get_HTMLBody: WideString;
    procedure Set_HTMLBody(const HTMLBody: WideString);
    function Get_ReceivedTime: TDateTime;
    function Get_SenderName: WideString;
    function Get_SentOn: TDateTime;
    function Get_Links: Links;
    function Get_ItemProperties: ItemProperties;
    function Get_BodyFormat: OlBodyFormat;
    procedure Set_BodyFormat(BodyFormat: OlBodyFormat);
    function Get_DownloadState: OlDownloadState;
    function Get_InternetCodepage: Integer;
    procedure Set_InternetCodepage(InternetCodepage: Integer);
    function Get_MarkForDownload: OlRemoteStatus;
    procedure Set_MarkForDownload(MarkForDownload: OlRemoteStatus);
    function Get_IsConflict: WordBool;
  public
    constructor Create(AOwner: TComponent); override;
    destructor  Destroy; override;
    procedure Connect; override;
    procedure ConnectTo(svrIntf: _PostItem);
    procedure Disconnect; override;
    procedure Close(SaveMode: OlInspectorClose);
    function Copy: IDispatch;
    procedure Delete;
    procedure Display; overload;
    procedure Display(Modal: OleVariant); overload;
    function Move(const DestFldr: MAPIFolder): IDispatch;
    procedure PrintOut;
    procedure Save;
    procedure SaveAs(const Path: WideString); overload;
    procedure SaveAs(const Path: WideString; Type_: OleVariant); overload;
    procedure ClearConversationIndex;
    function Forward: MailItem;
    procedure Post;
    function Reply: MailItem;
    procedure ShowCategoriesDialog;
    function SetACLs: WordBool;
    property DefaultInterface: _PostItem read GetDefaultInterface;
    property Application: _Application read Get_Application;
    property Class_: OlObjectClass read Get_Class_;
    property Session: _NameSpace read Get_Session;
    property Parent: IDispatch read Get_Parent;
    property Actions: Actions read Get_Actions;
    property Attachments: Attachments read Get_Attachments;
    property ConversationIndex: WideString read Get_ConversationIndex;
    property ConversationTopic: WideString read Get_ConversationTopic;
    property CreationTime: TDateTime read Get_CreationTime;
    property EntryID: WideString read Get_EntryID;
    property FormDescription: FormDescription read Get_FormDescription;
    property GetInspector: _Inspector read Get_GetInspector;
    property LastModificationTime: TDateTime read Get_LastModificationTime;
    property MAPIOBJECT: IUnknown read Get_MAPIOBJECT;
    property OutlookInternalVersion: Integer read Get_OutlookInternalVersion;
    property OutlookVersion: WideString read Get_OutlookVersion;
    property Saved: WordBool read Get_Saved;
    property Size: Integer read Get_Size;
    property UserProperties: UserProperties read Get_UserProperties;
    property ReceivedTime: TDateTime read Get_ReceivedTime;
    property SenderName: WideString read Get_SenderName;
    property SentOn: TDateTime read Get_SentOn;
    property Links: Links read Get_Links;
    property ItemProperties: ItemProperties read Get_ItemProperties;
    property DownloadState: OlDownloadState read Get_DownloadState;
    property IsConflict: WordBool read Get_IsConflict;
    property BillingInformation: WideString read Get_BillingInformation write Set_BillingInformation;
    property Body: WideString read Get_Body write Set_Body;
    property Categories: WideString read Get_Categories write Set_Categories;
    property Companies: WideString read Get_Companies write Set_Companies;
    property Importance: OlImportance read Get_Importance write Set_Importance;
    property MessageClass: WideString read Get_MessageClass write Set_MessageClass;
    property Mileage: WideString read Get_Mileage write Set_Mileage;
    property NoAging: WordBool read Get_NoAging write Set_NoAging;
    property Sensitivity: OlSensitivity read Get_Sensitivity write Set_Sensitivity;
    property Subject: WideString read Get_Subject write Set_Subject;
    property UnRead: WordBool read Get_UnRead write Set_UnRead;
    property ExpiryTime: TDateTime read Get_ExpiryTime write Set_ExpiryTime;
    property HTMLBody: WideString read Get_HTMLBody write Set_HTMLBody;
    property BodyFormat: OlBodyFormat read Get_BodyFormat write Set_BodyFormat;
    property InternetCodepage: Integer read Get_InternetCodepage write Set_InternetCodepage;
    property MarkForDownload: OlRemoteStatus read Get_MarkForDownload write Set_MarkForDownload;
  published
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
    property Server: TPostItemProperties read GetServerProperties;
{$ENDIF}
    property OnOpen: TPostItemOpen read FOnOpen write FOnOpen;
    property OnCustomAction: TPostItemCustomAction read FOnCustomAction write FOnCustomAction;
    property OnCustomPropertyChange: TPostItemCustomPropertyChange read FOnCustomPropertyChange write FOnCustomPropertyChange;
    property OnForward: TPostItemForward read FOnForward write FOnForward;
    property OnClose: TPostItemClose read FOnClose write FOnClose;
    property OnPropertyChange: TPostItemPropertyChange read FOnPropertyChange write FOnPropertyChange;
    property OnRead: TNotifyEvent read FOnRead write FOnRead;
    property OnReply: TPostItemReply read FOnReply write FOnReply;
    property OnReplyAll: TPostItemReplyAll read FOnReplyAll write FOnReplyAll;
    property OnSend: TPostItemSend read FOnSend write FOnSend;
    property OnWrite: TPostItemWrite read FOnWrite write FOnWrite;
    property OnBeforeCheckNames: TPostItemBeforeCheckNames read FOnBeforeCheckNames write FOnBeforeCheckNames;
    property OnAttachmentAdd: TPostItemAttachmentAdd read FOnAttachmentAdd write FOnAttachmentAdd;
    property OnAttachmentRead: TPostItemAttachmentRead read FOnAttachmentRead write FOnAttachmentRead;
    property OnBeforeAttachmentSave: TPostItemBeforeAttachmentSave read FOnBeforeAttachmentSave write FOnBeforeAttachmentSave;
    property OnBeforeDelete: TPostItemBeforeDelete read FOnBeforeDelete write FOnBeforeDelete;
  end;

{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
// *********************************************************************//
// OLE Server Properties Proxy Class
// Server Object    : TPostItem
// (This object is used by the IDE's Property Inspector to allow editing
//  of the properties of this server)
// *********************************************************************//
 TPostItemProperties = class(TPersistent)
  private
    FServer:    TPostItem;
    function    GetDefaultInterface: _PostItem;
    constructor Create(AServer: TPostItem);
  protected
    function Get_Application: _Application;
    function Get_Class_: OlObjectClass;
    function Get_Session: _NameSpace;
    function Get_Parent: IDispatch;
    function Get_Actions: Actions;
    function Get_Attachments: Attachments;
    function Get_BillingInformation: WideString;
    procedure Set_BillingInformation(const BillingInformation: WideString);
    function Get_Body: WideString;
    procedure Set_Body(const Body: WideString);
    function Get_Categories: WideString;
    procedure Set_Categories(const Categories: WideString);
    function Get_Companies: WideString;
    procedure Set_Companies(const Companies: WideString);
    function Get_ConversationIndex: WideString;
    function Get_ConversationTopic: WideString;
    function Get_CreationTime: TDateTime;
    function Get_EntryID: WideString;
    function Get_FormDescription: FormDescription;
    function Get_GetInspector: _Inspector;
    function Get_Importance: OlImportance;
    procedure Set_Importance(Importance: OlImportance);
    function Get_LastModificationTime: TDateTime;
    function Get_MAPIOBJECT: IUnknown;
    function Get_MessageClass: WideString;
    procedure Set_MessageClass(const MessageClass: WideString);
    function Get_Mileage: WideString;
    procedure Set_Mileage(const Mileage: WideString);
    function Get_NoAging: WordBool;
    procedure Set_NoAging(NoAging: WordBool);
    function Get_OutlookInternalVersion: Integer;
    function Get_OutlookVersion: WideString;
    function Get_Saved: WordBool;
    function Get_Sensitivity: OlSensitivity;
    procedure Set_Sensitivity(Sensitivity: OlSensitivity);
    function Get_Size: Integer;
    function Get_Subject: WideString;
    procedure Set_Subject(const Subject: WideString);
    function Get_UnRead: WordBool;
    procedure Set_UnRead(UnRead: WordBool);
    function Get_UserProperties: UserProperties;
    function Get_ExpiryTime: TDateTime;
    procedure Set_ExpiryTime(ExpiryTime: TDateTime);
    function Get_HTMLBody: WideString;
    procedure Set_HTMLBody(const HTMLBody: WideString);
    function Get_ReceivedTime: TDateTime;
    function Get_SenderName: WideString;
    function Get_SentOn: TDateTime;
    function Get_Links: Links;
    function Get_ItemProperties: ItemProperties;
    function Get_BodyFormat: OlBodyFormat;
    procedure Set_BodyFormat(BodyFormat: OlBodyFormat);
    function Get_DownloadState: OlDownloadState;
    function Get_InternetCodepage: Integer;
    procedure Set_InternetCodepage(InternetCodepage: Integer);
    function Get_MarkForDownload: OlRemoteStatus;
    procedure Set_MarkForDownload(MarkForDownload: OlRemoteStatus);
    function Get_IsConflict: WordBool;
  public
    property DefaultInterface: _PostItem read GetDefaultInterface;
  published
    property BillingInformation: WideString read Get_BillingInformation write Set_BillingInformation;
    property Body: WideString read Get_Body write Set_Body;
    property Categories: WideString read Get_Categories write Set_Categories;
    property Companies: WideString read Get_Companies write Set_Companies;
    property Importance: OlImportance read Get_Importance write Set_Importance;
    property MessageClass: WideString read Get_MessageClass write Set_MessageClass;
    property Mileage: WideString read Get_Mileage write Set_Mileage;
    property NoAging: WordBool read Get_NoAging write Set_NoAging;
    property Sensitivity: OlSensitivity read Get_Sensitivity write Set_Sensitivity;
    property Subject: WideString read Get_Subject write Set_Subject;
    property UnRead: WordBool read Get_UnRead write Set_UnRead;
    property ExpiryTime: TDateTime read Get_ExpiryTime write Set_ExpiryTime;
    property HTMLBody: WideString read Get_HTMLBody write Set_HTMLBody;
    property BodyFormat: OlBodyFormat read Get_BodyFormat write Set_BodyFormat;
    property InternetCodepage: Integer read Get_InternetCodepage write Set_InternetCodepage;
    property MarkForDownload: OlRemoteStatus read Get_MarkForDownload write Set_MarkForDownload;
  end;
{$ENDIF}


// *********************************************************************//
// The Class CoRemoteItem provides a Create and CreateRemote method to          
// create instances of the default interface _RemoteItem exposed by              
// the CoClass RemoteItem. The functions are intended to be used by             
// clients wishing to automate the CoClass objects exposed by the         
// server of this typelibrary.                                            
// *********************************************************************//
  CoRemoteItem = class
    class function Create: _RemoteItem;
    class function CreateRemote(const MachineName: string): _RemoteItem;
  end;

  TRemoteItemOpen = procedure(ASender: TObject; var Cancel: WordBool) of object;
  TRemoteItemCustomAction = procedure(ASender: TObject; const Action: IDispatch; 
                                                        const Response: IDispatch; 
                                                        var Cancel: WordBool) of object;
  TRemoteItemCustomPropertyChange = procedure(ASender: TObject; const Name: WideString) of object;
  TRemoteItemForward = procedure(ASender: TObject; const Forward: IDispatch; var Cancel: WordBool) of object;
  TRemoteItemClose = procedure(ASender: TObject; var Cancel: WordBool) of object;
  TRemoteItemPropertyChange = procedure(ASender: TObject; const Name: WideString) of object;
  TRemoteItemReply = procedure(ASender: TObject; const Response: IDispatch; var Cancel: WordBool) of object;
  TRemoteItemReplyAll = procedure(ASender: TObject; const Response: IDispatch; var Cancel: WordBool) of object;
  TRemoteItemSend = procedure(ASender: TObject; var Cancel: WordBool) of object;
  TRemoteItemWrite = procedure(ASender: TObject; var Cancel: WordBool) of object;
  TRemoteItemBeforeCheckNames = procedure(ASender: TObject; var Cancel: WordBool) of object;
  TRemoteItemAttachmentAdd = procedure(ASender: TObject; const Attachment: Attachment) of object;
  TRemoteItemAttachmentRead = procedure(ASender: TObject; const Attachment: Attachment) of object;
  TRemoteItemBeforeAttachmentSave = procedure(ASender: TObject; const Attachment: Attachment; 
                                                                var Cancel: WordBool) of object;
  TRemoteItemBeforeDelete = procedure(ASender: TObject; const Item: IDispatch; var Cancel: WordBool) of object;


// *********************************************************************//
// OLE Server Proxy class declaration
// Server Object    : TRemoteItem
// Help String      : 
// Default Interface: _RemoteItem
// Def. Intf. DISP? : No
// Event   Interface: ItemEvents_10
// TypeFlags        : (0)
// *********************************************************************//
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  TRemoteItemProperties= class;
{$ENDIF}
  TRemoteItem = class(TOleServer)
  private
    FOnOpen: TRemoteItemOpen;
    FOnCustomAction: TRemoteItemCustomAction;
    FOnCustomPropertyChange: TRemoteItemCustomPropertyChange;
    FOnForward: TRemoteItemForward;
    FOnClose: TRemoteItemClose;
    FOnPropertyChange: TRemoteItemPropertyChange;
    FOnRead: TNotifyEvent;
    FOnReply: TRemoteItemReply;
    FOnReplyAll: TRemoteItemReplyAll;
    FOnSend: TRemoteItemSend;
    FOnWrite: TRemoteItemWrite;
    FOnBeforeCheckNames: TRemoteItemBeforeCheckNames;
    FOnAttachmentAdd: TRemoteItemAttachmentAdd;
    FOnAttachmentRead: TRemoteItemAttachmentRead;
    FOnBeforeAttachmentSave: TRemoteItemBeforeAttachmentSave;
    FOnBeforeDelete: TRemoteItemBeforeDelete;
    FIntf:        _RemoteItem;
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
    FProps:       TRemoteItemProperties;
    function      GetServerProperties: TRemoteItemProperties;
{$ENDIF}
    function      GetDefaultInterface: _RemoteItem;
  protected
    procedure InitServerData; override;
    procedure InvokeEvent(DispID: TDispID; var Params: TVariantArray); override;
    function Get_Application: _Application;
    function Get_Class_: OlObjectClass;
    function Get_Session: _NameSpace;
    function Get_Parent: IDispatch;
    function Get_Actions: Actions;
    function Get_Attachments: Attachments;
    function Get_BillingInformation: WideString;
    procedure Set_BillingInformation(const BillingInformation: WideString);
    function Get_Body: WideString;
    procedure Set_Body(const Body: WideString);
    function Get_Categories: WideString;
    procedure Set_Categories(const Categories: WideString);
    function Get_Companies: WideString;
    procedure Set_Companies(const Companies: WideString);
    function Get_ConversationIndex: WideString;
    function Get_ConversationTopic: WideString;
    function Get_CreationTime: TDateTime;
    function Get_EntryID: WideString;
    function Get_FormDescription: FormDescription;
    function Get_GetInspector: _Inspector;
    function Get_Importance: OlImportance;
    procedure Set_Importance(Importance: OlImportance);
    function Get_LastModificationTime: TDateTime;
    function Get_MAPIOBJECT: IUnknown;
    function Get_MessageClass: WideString;
    procedure Set_MessageClass(const MessageClass: WideString);
    function Get_Mileage: WideString;
    procedure Set_Mileage(const Mileage: WideString);
    function Get_NoAging: WordBool;
    procedure Set_NoAging(NoAging: WordBool);
    function Get_OutlookInternalVersion: Integer;
    function Get_OutlookVersion: WideString;
    function Get_Saved: WordBool;
    function Get_Sensitivity: OlSensitivity;
    procedure Set_Sensitivity(Sensitivity: OlSensitivity);
    function Get_Size: Integer;
    function Get_Subject: WideString;
    procedure Set_Subject(const Subject: WideString);
    function Get_UnRead: WordBool;
    procedure Set_UnRead(UnRead: WordBool);
    function Get_UserProperties: UserProperties;
    function Get_HasAttachment: WordBool;
    function Get_RemoteMessageClass: WideString;
    function Get_TransferSize: Integer;
    function Get_TransferTime: Integer;
    function Get_Links: Links;
    function Get_DownloadState: OlDownloadState;
    function Get_ItemProperties: ItemProperties;
    function Get_MarkForDownload: OlRemoteStatus;
    procedure Set_MarkForDownload(MarkForDownload: OlRemoteStatus);
    function Get_IsConflict: WordBool;
  public
    constructor Create(AOwner: TComponent); override;
    destructor  Destroy; override;
    procedure Connect; override;
    procedure ConnectTo(svrIntf: _RemoteItem);
    procedure Disconnect; override;
    procedure Close(SaveMode: OlInspectorClose);
    function Copy: IDispatch;
    procedure Delete;
    procedure Display; overload;
    procedure Display(Modal: OleVariant); overload;
    function Move(const DestFldr: MAPIFolder): IDispatch;
    procedure PrintOut;
    procedure Save;
    procedure SaveAs(const Path: WideString); overload;
    procedure SaveAs(const Path: WideString; Type_: OleVariant); overload;
    procedure ShowCategoriesDialog;
    property DefaultInterface: _RemoteItem read GetDefaultInterface;
    property Application: _Application read Get_Application;
    property Class_: OlObjectClass read Get_Class_;
    property Session: _NameSpace read Get_Session;
    property Parent: IDispatch read Get_Parent;
    property Actions: Actions read Get_Actions;
    property Attachments: Attachments read Get_Attachments;
    property ConversationIndex: WideString read Get_ConversationIndex;
    property ConversationTopic: WideString read Get_ConversationTopic;
    property CreationTime: TDateTime read Get_CreationTime;
    property EntryID: WideString read Get_EntryID;
    property FormDescription: FormDescription read Get_FormDescription;
    property GetInspector: _Inspector read Get_GetInspector;
    property LastModificationTime: TDateTime read Get_LastModificationTime;
    property MAPIOBJECT: IUnknown read Get_MAPIOBJECT;
    property OutlookInternalVersion: Integer read Get_OutlookInternalVersion;
    property OutlookVersion: WideString read Get_OutlookVersion;
    property Saved: WordBool read Get_Saved;
    property Size: Integer read Get_Size;
    property UserProperties: UserProperties read Get_UserProperties;
    property HasAttachment: WordBool read Get_HasAttachment;
    property RemoteMessageClass: WideString read Get_RemoteMessageClass;
    property TransferSize: Integer read Get_TransferSize;
    property TransferTime: Integer read Get_TransferTime;
    property Links: Links read Get_Links;
    property DownloadState: OlDownloadState read Get_DownloadState;
    property ItemProperties: ItemProperties read Get_ItemProperties;
    property IsConflict: WordBool read Get_IsConflict;
    property BillingInformation: WideString read Get_BillingInformation write Set_BillingInformation;
    property Body: WideString read Get_Body write Set_Body;
    property Categories: WideString read Get_Categories write Set_Categories;
    property Companies: WideString read Get_Companies write Set_Companies;
    property Importance: OlImportance read Get_Importance write Set_Importance;
    property MessageClass: WideString read Get_MessageClass write Set_MessageClass;
    property Mileage: WideString read Get_Mileage write Set_Mileage;
    property NoAging: WordBool read Get_NoAging write Set_NoAging;
    property Sensitivity: OlSensitivity read Get_Sensitivity write Set_Sensitivity;
    property Subject: WideString read Get_Subject write Set_Subject;
    property UnRead: WordBool read Get_UnRead write Set_UnRead;
    property MarkForDownload: OlRemoteStatus read Get_MarkForDownload write Set_MarkForDownload;
  published
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
    property Server: TRemoteItemProperties read GetServerProperties;
{$ENDIF}
    property OnOpen: TRemoteItemOpen read FOnOpen write FOnOpen;
    property OnCustomAction: TRemoteItemCustomAction read FOnCustomAction write FOnCustomAction;
    property OnCustomPropertyChange: TRemoteItemCustomPropertyChange read FOnCustomPropertyChange write FOnCustomPropertyChange;
    property OnForward: TRemoteItemForward read FOnForward write FOnForward;
    property OnClose: TRemoteItemClose read FOnClose write FOnClose;
    property OnPropertyChange: TRemoteItemPropertyChange read FOnPropertyChange write FOnPropertyChange;
    property OnRead: TNotifyEvent read FOnRead write FOnRead;
    property OnReply: TRemoteItemReply read FOnReply write FOnReply;
    property OnReplyAll: TRemoteItemReplyAll read FOnReplyAll write FOnReplyAll;
    property OnSend: TRemoteItemSend read FOnSend write FOnSend;
    property OnWrite: TRemoteItemWrite read FOnWrite write FOnWrite;
    property OnBeforeCheckNames: TRemoteItemBeforeCheckNames read FOnBeforeCheckNames write FOnBeforeCheckNames;
    property OnAttachmentAdd: TRemoteItemAttachmentAdd read FOnAttachmentAdd write FOnAttachmentAdd;
    property OnAttachmentRead: TRemoteItemAttachmentRead read FOnAttachmentRead write FOnAttachmentRead;
    property OnBeforeAttachmentSave: TRemoteItemBeforeAttachmentSave read FOnBeforeAttachmentSave write FOnBeforeAttachmentSave;
    property OnBeforeDelete: TRemoteItemBeforeDelete read FOnBeforeDelete write FOnBeforeDelete;
  end;

{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
// *********************************************************************//
// OLE Server Properties Proxy Class
// Server Object    : TRemoteItem
// (This object is used by the IDE's Property Inspector to allow editing
//  of the properties of this server)
// *********************************************************************//
 TRemoteItemProperties = class(TPersistent)
  private
    FServer:    TRemoteItem;
    function    GetDefaultInterface: _RemoteItem;
    constructor Create(AServer: TRemoteItem);
  protected
    function Get_Application: _Application;
    function Get_Class_: OlObjectClass;
    function Get_Session: _NameSpace;
    function Get_Parent: IDispatch;
    function Get_Actions: Actions;
    function Get_Attachments: Attachments;
    function Get_BillingInformation: WideString;
    procedure Set_BillingInformation(const BillingInformation: WideString);
    function Get_Body: WideString;
    procedure Set_Body(const Body: WideString);
    function Get_Categories: WideString;
    procedure Set_Categories(const Categories: WideString);
    function Get_Companies: WideString;
    procedure Set_Companies(const Companies: WideString);
    function Get_ConversationIndex: WideString;
    function Get_ConversationTopic: WideString;
    function Get_CreationTime: TDateTime;
    function Get_EntryID: WideString;
    function Get_FormDescription: FormDescription;
    function Get_GetInspector: _Inspector;
    function Get_Importance: OlImportance;
    procedure Set_Importance(Importance: OlImportance);
    function Get_LastModificationTime: TDateTime;
    function Get_MAPIOBJECT: IUnknown;
    function Get_MessageClass: WideString;
    procedure Set_MessageClass(const MessageClass: WideString);
    function Get_Mileage: WideString;
    procedure Set_Mileage(const Mileage: WideString);
    function Get_NoAging: WordBool;
    procedure Set_NoAging(NoAging: WordBool);
    function Get_OutlookInternalVersion: Integer;
    function Get_OutlookVersion: WideString;
    function Get_Saved: WordBool;
    function Get_Sensitivity: OlSensitivity;
    procedure Set_Sensitivity(Sensitivity: OlSensitivity);
    function Get_Size: Integer;
    function Get_Subject: WideString;
    procedure Set_Subject(const Subject: WideString);
    function Get_UnRead: WordBool;
    procedure Set_UnRead(UnRead: WordBool);
    function Get_UserProperties: UserProperties;
    function Get_HasAttachment: WordBool;
    function Get_RemoteMessageClass: WideString;
    function Get_TransferSize: Integer;
    function Get_TransferTime: Integer;
    function Get_Links: Links;
    function Get_DownloadState: OlDownloadState;
    function Get_ItemProperties: ItemProperties;
    function Get_MarkForDownload: OlRemoteStatus;
    procedure Set_MarkForDownload(MarkForDownload: OlRemoteStatus);
    function Get_IsConflict: WordBool;
  public
    property DefaultInterface: _RemoteItem read GetDefaultInterface;
  published
    property BillingInformation: WideString read Get_BillingInformation write Set_BillingInformation;
    property Body: WideString read Get_Body write Set_Body;
    property Categories: WideString read Get_Categories write Set_Categories;
    property Companies: WideString read Get_Companies write Set_Companies;
    property Importance: OlImportance read Get_Importance write Set_Importance;
    property MessageClass: WideString read Get_MessageClass write Set_MessageClass;
    property Mileage: WideString read Get_Mileage write Set_Mileage;
    property NoAging: WordBool read Get_NoAging write Set_NoAging;
    property Sensitivity: OlSensitivity read Get_Sensitivity write Set_Sensitivity;
    property Subject: WideString read Get_Subject write Set_Subject;
    property UnRead: WordBool read Get_UnRead write Set_UnRead;
    property MarkForDownload: OlRemoteStatus read Get_MarkForDownload write Set_MarkForDownload;
  end;
{$ENDIF}


// *********************************************************************//
// The Class CoReportItem provides a Create and CreateRemote method to          
// create instances of the default interface _ReportItem exposed by              
// the CoClass ReportItem. The functions are intended to be used by             
// clients wishing to automate the CoClass objects exposed by the         
// server of this typelibrary.                                            
// *********************************************************************//
  CoReportItem = class
    class function Create: _ReportItem;
    class function CreateRemote(const MachineName: string): _ReportItem;
  end;

  TReportItemOpen = procedure(ASender: TObject; var Cancel: WordBool) of object;
  TReportItemCustomAction = procedure(ASender: TObject; const Action: IDispatch; 
                                                        const Response: IDispatch; 
                                                        var Cancel: WordBool) of object;
  TReportItemCustomPropertyChange = procedure(ASender: TObject; const Name: WideString) of object;
  TReportItemForward = procedure(ASender: TObject; const Forward: IDispatch; var Cancel: WordBool) of object;
  TReportItemClose = procedure(ASender: TObject; var Cancel: WordBool) of object;
  TReportItemPropertyChange = procedure(ASender: TObject; const Name: WideString) of object;
  TReportItemReply = procedure(ASender: TObject; const Response: IDispatch; var Cancel: WordBool) of object;
  TReportItemReplyAll = procedure(ASender: TObject; const Response: IDispatch; var Cancel: WordBool) of object;
  TReportItemSend = procedure(ASender: TObject; var Cancel: WordBool) of object;
  TReportItemWrite = procedure(ASender: TObject; var Cancel: WordBool) of object;
  TReportItemBeforeCheckNames = procedure(ASender: TObject; var Cancel: WordBool) of object;
  TReportItemAttachmentAdd = procedure(ASender: TObject; const Attachment: Attachment) of object;
  TReportItemAttachmentRead = procedure(ASender: TObject; const Attachment: Attachment) of object;
  TReportItemBeforeAttachmentSave = procedure(ASender: TObject; const Attachment: Attachment; 
                                                                var Cancel: WordBool) of object;
  TReportItemBeforeDelete = procedure(ASender: TObject; const Item: IDispatch; var Cancel: WordBool) of object;


// *********************************************************************//
// OLE Server Proxy class declaration
// Server Object    : TReportItem
// Help String      : 
// Default Interface: _ReportItem
// Def. Intf. DISP? : No
// Event   Interface: ItemEvents_10
// TypeFlags        : (0)
// *********************************************************************//
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  TReportItemProperties= class;
{$ENDIF}
  TReportItem = class(TOleServer)
  private
    FOnOpen: TReportItemOpen;
    FOnCustomAction: TReportItemCustomAction;
    FOnCustomPropertyChange: TReportItemCustomPropertyChange;
    FOnForward: TReportItemForward;
    FOnClose: TReportItemClose;
    FOnPropertyChange: TReportItemPropertyChange;
    FOnRead: TNotifyEvent;
    FOnReply: TReportItemReply;
    FOnReplyAll: TReportItemReplyAll;
    FOnSend: TReportItemSend;
    FOnWrite: TReportItemWrite;
    FOnBeforeCheckNames: TReportItemBeforeCheckNames;
    FOnAttachmentAdd: TReportItemAttachmentAdd;
    FOnAttachmentRead: TReportItemAttachmentRead;
    FOnBeforeAttachmentSave: TReportItemBeforeAttachmentSave;
    FOnBeforeDelete: TReportItemBeforeDelete;
    FIntf:        _ReportItem;
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
    FProps:       TReportItemProperties;
    function      GetServerProperties: TReportItemProperties;
{$ENDIF}
    function      GetDefaultInterface: _ReportItem;
  protected
    procedure InitServerData; override;
    procedure InvokeEvent(DispID: TDispID; var Params: TVariantArray); override;
    function Get_Application: _Application;
    function Get_Class_: OlObjectClass;
    function Get_Session: _NameSpace;
    function Get_Parent: IDispatch;
    function Get_Actions: Actions;
    function Get_Attachments: Attachments;
    function Get_BillingInformation: WideString;
    procedure Set_BillingInformation(const BillingInformation: WideString);
    function Get_Body: WideString;
    procedure Set_Body(const Body: WideString);
    function Get_Categories: WideString;
    procedure Set_Categories(const Categories: WideString);
    function Get_Companies: WideString;
    procedure Set_Companies(const Companies: WideString);
    function Get_ConversationIndex: WideString;
    function Get_ConversationTopic: WideString;
    function Get_CreationTime: TDateTime;
    function Get_EntryID: WideString;
    function Get_FormDescription: FormDescription;
    function Get_GetInspector: _Inspector;
    function Get_Importance: OlImportance;
    procedure Set_Importance(Importance: OlImportance);
    function Get_LastModificationTime: TDateTime;
    function Get_MAPIOBJECT: IUnknown;
    function Get_MessageClass: WideString;
    procedure Set_MessageClass(const MessageClass: WideString);
    function Get_Mileage: WideString;
    procedure Set_Mileage(const Mileage: WideString);
    function Get_NoAging: WordBool;
    procedure Set_NoAging(NoAging: WordBool);
    function Get_OutlookInternalVersion: Integer;
    function Get_OutlookVersion: WideString;
    function Get_Saved: WordBool;
    function Get_Sensitivity: OlSensitivity;
    procedure Set_Sensitivity(Sensitivity: OlSensitivity);
    function Get_Size: Integer;
    function Get_Subject: WideString;
    procedure Set_Subject(const Subject: WideString);
    function Get_UnRead: WordBool;
    procedure Set_UnRead(UnRead: WordBool);
    function Get_UserProperties: UserProperties;
    function Get_Links: Links;
    function Get_DownloadState: OlDownloadState;
    function Get_ItemProperties: ItemProperties;
    function Get_MarkForDownload: OlRemoteStatus;
    procedure Set_MarkForDownload(MarkForDownload: OlRemoteStatus);
    function Get_IsConflict: WordBool;
  public
    constructor Create(AOwner: TComponent); override;
    destructor  Destroy; override;
    procedure Connect; override;
    procedure ConnectTo(svrIntf: _ReportItem);
    procedure Disconnect; override;
    procedure Close(SaveMode: OlInspectorClose);
    function Copy: IDispatch;
    procedure Delete;
    procedure Display; overload;
    procedure Display(Modal: OleVariant); overload;
    function Move(const DestFldr: MAPIFolder): IDispatch;
    procedure PrintOut;
    procedure Save;
    procedure SaveAs(const Path: WideString); overload;
    procedure SaveAs(const Path: WideString; Type_: OleVariant); overload;
    procedure ShowCategoriesDialog;
    property DefaultInterface: _ReportItem read GetDefaultInterface;
    property Application: _Application read Get_Application;
    property Class_: OlObjectClass read Get_Class_;
    property Session: _NameSpace read Get_Session;
    property Parent: IDispatch read Get_Parent;
    property Actions: Actions read Get_Actions;
    property Attachments: Attachments read Get_Attachments;
    property ConversationIndex: WideString read Get_ConversationIndex;
    property ConversationTopic: WideString read Get_ConversationTopic;
    property CreationTime: TDateTime read Get_CreationTime;
    property EntryID: WideString read Get_EntryID;
    property FormDescription: FormDescription read Get_FormDescription;
    property GetInspector: _Inspector read Get_GetInspector;
    property LastModificationTime: TDateTime read Get_LastModificationTime;
    property MAPIOBJECT: IUnknown read Get_MAPIOBJECT;
    property OutlookInternalVersion: Integer read Get_OutlookInternalVersion;
    property OutlookVersion: WideString read Get_OutlookVersion;
    property Saved: WordBool read Get_Saved;
    property Size: Integer read Get_Size;
    property UserProperties: UserProperties read Get_UserProperties;
    property Links: Links read Get_Links;
    property DownloadState: OlDownloadState read Get_DownloadState;
    property ItemProperties: ItemProperties read Get_ItemProperties;
    property IsConflict: WordBool read Get_IsConflict;
    property BillingInformation: WideString read Get_BillingInformation write Set_BillingInformation;
    property Body: WideString read Get_Body write Set_Body;
    property Categories: WideString read Get_Categories write Set_Categories;
    property Companies: WideString read Get_Companies write Set_Companies;
    property Importance: OlImportance read Get_Importance write Set_Importance;
    property MessageClass: WideString read Get_MessageClass write Set_MessageClass;
    property Mileage: WideString read Get_Mileage write Set_Mileage;
    property NoAging: WordBool read Get_NoAging write Set_NoAging;
    property Sensitivity: OlSensitivity read Get_Sensitivity write Set_Sensitivity;
    property Subject: WideString read Get_Subject write Set_Subject;
    property UnRead: WordBool read Get_UnRead write Set_UnRead;
    property MarkForDownload: OlRemoteStatus read Get_MarkForDownload write Set_MarkForDownload;
  published
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
    property Server: TReportItemProperties read GetServerProperties;
{$ENDIF}
    property OnOpen: TReportItemOpen read FOnOpen write FOnOpen;
    property OnCustomAction: TReportItemCustomAction read FOnCustomAction write FOnCustomAction;
    property OnCustomPropertyChange: TReportItemCustomPropertyChange read FOnCustomPropertyChange write FOnCustomPropertyChange;
    property OnForward: TReportItemForward read FOnForward write FOnForward;
    property OnClose: TReportItemClose read FOnClose write FOnClose;
    property OnPropertyChange: TReportItemPropertyChange read FOnPropertyChange write FOnPropertyChange;
    property OnRead: TNotifyEvent read FOnRead write FOnRead;
    property OnReply: TReportItemReply read FOnReply write FOnReply;
    property OnReplyAll: TReportItemReplyAll read FOnReplyAll write FOnReplyAll;
    property OnSend: TReportItemSend read FOnSend write FOnSend;
    property OnWrite: TReportItemWrite read FOnWrite write FOnWrite;
    property OnBeforeCheckNames: TReportItemBeforeCheckNames read FOnBeforeCheckNames write FOnBeforeCheckNames;
    property OnAttachmentAdd: TReportItemAttachmentAdd read FOnAttachmentAdd write FOnAttachmentAdd;
    property OnAttachmentRead: TReportItemAttachmentRead read FOnAttachmentRead write FOnAttachmentRead;
    property OnBeforeAttachmentSave: TReportItemBeforeAttachmentSave read FOnBeforeAttachmentSave write FOnBeforeAttachmentSave;
    property OnBeforeDelete: TReportItemBeforeDelete read FOnBeforeDelete write FOnBeforeDelete;
  end;

{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
// *********************************************************************//
// OLE Server Properties Proxy Class
// Server Object    : TReportItem
// (This object is used by the IDE's Property Inspector to allow editing
//  of the properties of this server)
// *********************************************************************//
 TReportItemProperties = class(TPersistent)
  private
    FServer:    TReportItem;
    function    GetDefaultInterface: _ReportItem;
    constructor Create(AServer: TReportItem);
  protected
    function Get_Application: _Application;
    function Get_Class_: OlObjectClass;
    function Get_Session: _NameSpace;
    function Get_Parent: IDispatch;
    function Get_Actions: Actions;
    function Get_Attachments: Attachments;
    function Get_BillingInformation: WideString;
    procedure Set_BillingInformation(const BillingInformation: WideString);
    function Get_Body: WideString;
    procedure Set_Body(const Body: WideString);
    function Get_Categories: WideString;
    procedure Set_Categories(const Categories: WideString);
    function Get_Companies: WideString;
    procedure Set_Companies(const Companies: WideString);
    function Get_ConversationIndex: WideString;
    function Get_ConversationTopic: WideString;
    function Get_CreationTime: TDateTime;
    function Get_EntryID: WideString;
    function Get_FormDescription: FormDescription;
    function Get_GetInspector: _Inspector;
    function Get_Importance: OlImportance;
    procedure Set_Importance(Importance: OlImportance);
    function Get_LastModificationTime: TDateTime;
    function Get_MAPIOBJECT: IUnknown;
    function Get_MessageClass: WideString;
    procedure Set_MessageClass(const MessageClass: WideString);
    function Get_Mileage: WideString;
    procedure Set_Mileage(const Mileage: WideString);
    function Get_NoAging: WordBool;
    procedure Set_NoAging(NoAging: WordBool);
    function Get_OutlookInternalVersion: Integer;
    function Get_OutlookVersion: WideString;
    function Get_Saved: WordBool;
    function Get_Sensitivity: OlSensitivity;
    procedure Set_Sensitivity(Sensitivity: OlSensitivity);
    function Get_Size: Integer;
    function Get_Subject: WideString;
    procedure Set_Subject(const Subject: WideString);
    function Get_UnRead: WordBool;
    procedure Set_UnRead(UnRead: WordBool);
    function Get_UserProperties: UserProperties;
    function Get_Links: Links;
    function Get_DownloadState: OlDownloadState;
    function Get_ItemProperties: ItemProperties;
    function Get_MarkForDownload: OlRemoteStatus;
    procedure Set_MarkForDownload(MarkForDownload: OlRemoteStatus);
    function Get_IsConflict: WordBool;
  public
    property DefaultInterface: _ReportItem read GetDefaultInterface;
  published
    property BillingInformation: WideString read Get_BillingInformation write Set_BillingInformation;
    property Body: WideString read Get_Body write Set_Body;
    property Categories: WideString read Get_Categories write Set_Categories;
    property Companies: WideString read Get_Companies write Set_Companies;
    property Importance: OlImportance read Get_Importance write Set_Importance;
    property MessageClass: WideString read Get_MessageClass write Set_MessageClass;
    property Mileage: WideString read Get_Mileage write Set_Mileage;
    property NoAging: WordBool read Get_NoAging write Set_NoAging;
    property Sensitivity: OlSensitivity read Get_Sensitivity write Set_Sensitivity;
    property Subject: WideString read Get_Subject write Set_Subject;
    property UnRead: WordBool read Get_UnRead write Set_UnRead;
    property MarkForDownload: OlRemoteStatus read Get_MarkForDownload write Set_MarkForDownload;
  end;
{$ENDIF}


// *********************************************************************//
// The Class CoTaskRequestAcceptItem provides a Create and CreateRemote method to          
// create instances of the default interface _TaskRequestAcceptItem exposed by              
// the CoClass TaskRequestAcceptItem. The functions are intended to be used by             
// clients wishing to automate the CoClass objects exposed by the         
// server of this typelibrary.                                            
// *********************************************************************//
  CoTaskRequestAcceptItem = class
    class function Create: _TaskRequestAcceptItem;
    class function CreateRemote(const MachineName: string): _TaskRequestAcceptItem;
  end;

  TTaskRequestAcceptItemOpen = procedure(ASender: TObject; var Cancel: WordBool) of object;
  TTaskRequestAcceptItemCustomAction = procedure(ASender: TObject; const Action: IDispatch; 
                                                                   const Response: IDispatch; 
                                                                   var Cancel: WordBool) of object;
  TTaskRequestAcceptItemCustomPropertyChange = procedure(ASender: TObject; const Name: WideString) of object;
  TTaskRequestAcceptItemForward = procedure(ASender: TObject; const Forward: IDispatch; 
                                                              var Cancel: WordBool) of object;
  TTaskRequestAcceptItemClose = procedure(ASender: TObject; var Cancel: WordBool) of object;
  TTaskRequestAcceptItemPropertyChange = procedure(ASender: TObject; const Name: WideString) of object;
  TTaskRequestAcceptItemReply = procedure(ASender: TObject; const Response: IDispatch; 
                                                            var Cancel: WordBool) of object;
  TTaskRequestAcceptItemReplyAll = procedure(ASender: TObject; const Response: IDispatch; 
                                                               var Cancel: WordBool) of object;
  TTaskRequestAcceptItemSend = procedure(ASender: TObject; var Cancel: WordBool) of object;
  TTaskRequestAcceptItemWrite = procedure(ASender: TObject; var Cancel: WordBool) of object;
  TTaskRequestAcceptItemBeforeCheckNames = procedure(ASender: TObject; var Cancel: WordBool) of object;
  TTaskRequestAcceptItemAttachmentAdd = procedure(ASender: TObject; const Attachment: Attachment) of object;
  TTaskRequestAcceptItemAttachmentRead = procedure(ASender: TObject; const Attachment: Attachment) of object;
  TTaskRequestAcceptItemBeforeAttachmentSave = procedure(ASender: TObject; const Attachment: Attachment; 
                                                                           var Cancel: WordBool) of object;
  TTaskRequestAcceptItemBeforeDelete = procedure(ASender: TObject; const Item: IDispatch; 
                                                                   var Cancel: WordBool) of object;


// *********************************************************************//
// OLE Server Proxy class declaration
// Server Object    : TTaskRequestAcceptItem
// Help String      : 
// Default Interface: _TaskRequestAcceptItem
// Def. Intf. DISP? : No
// Event   Interface: ItemEvents_10
// TypeFlags        : (0)
// *********************************************************************//
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  TTaskRequestAcceptItemProperties= class;
{$ENDIF}
  TTaskRequestAcceptItem = class(TOleServer)
  private
    FOnOpen: TTaskRequestAcceptItemOpen;
    FOnCustomAction: TTaskRequestAcceptItemCustomAction;
    FOnCustomPropertyChange: TTaskRequestAcceptItemCustomPropertyChange;
    FOnForward: TTaskRequestAcceptItemForward;
    FOnClose: TTaskRequestAcceptItemClose;
    FOnPropertyChange: TTaskRequestAcceptItemPropertyChange;
    FOnRead: TNotifyEvent;
    FOnReply: TTaskRequestAcceptItemReply;
    FOnReplyAll: TTaskRequestAcceptItemReplyAll;
    FOnSend: TTaskRequestAcceptItemSend;
    FOnWrite: TTaskRequestAcceptItemWrite;
    FOnBeforeCheckNames: TTaskRequestAcceptItemBeforeCheckNames;
    FOnAttachmentAdd: TTaskRequestAcceptItemAttachmentAdd;
    FOnAttachmentRead: TTaskRequestAcceptItemAttachmentRead;
    FOnBeforeAttachmentSave: TTaskRequestAcceptItemBeforeAttachmentSave;
    FOnBeforeDelete: TTaskRequestAcceptItemBeforeDelete;
    FIntf:        _TaskRequestAcceptItem;
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
    FProps:       TTaskRequestAcceptItemProperties;
    function      GetServerProperties: TTaskRequestAcceptItemProperties;
{$ENDIF}
    function      GetDefaultInterface: _TaskRequestAcceptItem;
  protected
    procedure InitServerData; override;
    procedure InvokeEvent(DispID: TDispID; var Params: TVariantArray); override;
    function Get_Application: _Application;
    function Get_Class_: OlObjectClass;
    function Get_Session: _NameSpace;
    function Get_Parent: IDispatch;
    function Get_Actions: Actions;
    function Get_Attachments: Attachments;
    function Get_BillingInformation: WideString;
    procedure Set_BillingInformation(const BillingInformation: WideString);
    function Get_Body: WideString;
    procedure Set_Body(const Body: WideString);
    function Get_Categories: WideString;
    procedure Set_Categories(const Categories: WideString);
    function Get_Companies: WideString;
    procedure Set_Companies(const Companies: WideString);
    function Get_ConversationIndex: WideString;
    function Get_ConversationTopic: WideString;
    function Get_CreationTime: TDateTime;
    function Get_EntryID: WideString;
    function Get_FormDescription: FormDescription;
    function Get_GetInspector: _Inspector;
    function Get_Importance: OlImportance;
    procedure Set_Importance(Importance: OlImportance);
    function Get_LastModificationTime: TDateTime;
    function Get_MAPIOBJECT: IUnknown;
    function Get_MessageClass: WideString;
    procedure Set_MessageClass(const MessageClass: WideString);
    function Get_Mileage: WideString;
    procedure Set_Mileage(const Mileage: WideString);
    function Get_NoAging: WordBool;
    procedure Set_NoAging(NoAging: WordBool);
    function Get_OutlookInternalVersion: Integer;
    function Get_OutlookVersion: WideString;
    function Get_Saved: WordBool;
    function Get_Sensitivity: OlSensitivity;
    procedure Set_Sensitivity(Sensitivity: OlSensitivity);
    function Get_Size: Integer;
    function Get_Subject: WideString;
    procedure Set_Subject(const Subject: WideString);
    function Get_UnRead: WordBool;
    procedure Set_UnRead(UnRead: WordBool);
    function Get_UserProperties: UserProperties;
    function Get_Links: Links;
    function Get_DownloadState: OlDownloadState;
    function Get_ItemProperties: ItemProperties;
    function Get_MarkForDownload: OlRemoteStatus;
    procedure Set_MarkForDownload(MarkForDownload: OlRemoteStatus);
    function Get_IsConflict: WordBool;
  public
    constructor Create(AOwner: TComponent); override;
    destructor  Destroy; override;
    procedure Connect; override;
    procedure ConnectTo(svrIntf: _TaskRequestAcceptItem);
    procedure Disconnect; override;
    procedure Close(SaveMode: OlInspectorClose);
    function Copy: IDispatch;
    procedure Delete;
    procedure Display; overload;
    procedure Display(Modal: OleVariant); overload;
    function Move(const DestFldr: MAPIFolder): IDispatch;
    procedure PrintOut;
    procedure Save;
    procedure SaveAs(const Path: WideString); overload;
    procedure SaveAs(const Path: WideString; Type_: OleVariant); overload;
    function GetAssociatedTask(AddToTaskList: WordBool): TaskItem;
    procedure ShowCategoriesDialog;
    property DefaultInterface: _TaskRequestAcceptItem read GetDefaultInterface;
    property Application: _Application read Get_Application;
    property Class_: OlObjectClass read Get_Class_;
    property Session: _NameSpace read Get_Session;
    property Parent: IDispatch read Get_Parent;
    property Actions: Actions read Get_Actions;
    property Attachments: Attachments read Get_Attachments;
    property ConversationIndex: WideString read Get_ConversationIndex;
    property ConversationTopic: WideString read Get_ConversationTopic;
    property CreationTime: TDateTime read Get_CreationTime;
    property EntryID: WideString read Get_EntryID;
    property FormDescription: FormDescription read Get_FormDescription;
    property GetInspector: _Inspector read Get_GetInspector;
    property LastModificationTime: TDateTime read Get_LastModificationTime;
    property MAPIOBJECT: IUnknown read Get_MAPIOBJECT;
    property OutlookInternalVersion: Integer read Get_OutlookInternalVersion;
    property OutlookVersion: WideString read Get_OutlookVersion;
    property Saved: WordBool read Get_Saved;
    property Size: Integer read Get_Size;
    property UserProperties: UserProperties read Get_UserProperties;
    property Links: Links read Get_Links;
    property DownloadState: OlDownloadState read Get_DownloadState;
    property ItemProperties: ItemProperties read Get_ItemProperties;
    property IsConflict: WordBool read Get_IsConflict;
    property BillingInformation: WideString read Get_BillingInformation write Set_BillingInformation;
    property Body: WideString read Get_Body write Set_Body;
    property Categories: WideString read Get_Categories write Set_Categories;
    property Companies: WideString read Get_Companies write Set_Companies;
    property Importance: OlImportance read Get_Importance write Set_Importance;
    property MessageClass: WideString read Get_MessageClass write Set_MessageClass;
    property Mileage: WideString read Get_Mileage write Set_Mileage;
    property NoAging: WordBool read Get_NoAging write Set_NoAging;
    property Sensitivity: OlSensitivity read Get_Sensitivity write Set_Sensitivity;
    property Subject: WideString read Get_Subject write Set_Subject;
    property UnRead: WordBool read Get_UnRead write Set_UnRead;
    property MarkForDownload: OlRemoteStatus read Get_MarkForDownload write Set_MarkForDownload;
  published
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
    property Server: TTaskRequestAcceptItemProperties read GetServerProperties;
{$ENDIF}
    property OnOpen: TTaskRequestAcceptItemOpen read FOnOpen write FOnOpen;
    property OnCustomAction: TTaskRequestAcceptItemCustomAction read FOnCustomAction write FOnCustomAction;
    property OnCustomPropertyChange: TTaskRequestAcceptItemCustomPropertyChange read FOnCustomPropertyChange write FOnCustomPropertyChange;
    property OnForward: TTaskRequestAcceptItemForward read FOnForward write FOnForward;
    property OnClose: TTaskRequestAcceptItemClose read FOnClose write FOnClose;
    property OnPropertyChange: TTaskRequestAcceptItemPropertyChange read FOnPropertyChange write FOnPropertyChange;
    property OnRead: TNotifyEvent read FOnRead write FOnRead;
    property OnReply: TTaskRequestAcceptItemReply read FOnReply write FOnReply;
    property OnReplyAll: TTaskRequestAcceptItemReplyAll read FOnReplyAll write FOnReplyAll;
    property OnSend: TTaskRequestAcceptItemSend read FOnSend write FOnSend;
    property OnWrite: TTaskRequestAcceptItemWrite read FOnWrite write FOnWrite;
    property OnBeforeCheckNames: TTaskRequestAcceptItemBeforeCheckNames read FOnBeforeCheckNames write FOnBeforeCheckNames;
    property OnAttachmentAdd: TTaskRequestAcceptItemAttachmentAdd read FOnAttachmentAdd write FOnAttachmentAdd;
    property OnAttachmentRead: TTaskRequestAcceptItemAttachmentRead read FOnAttachmentRead write FOnAttachmentRead;
    property OnBeforeAttachmentSave: TTaskRequestAcceptItemBeforeAttachmentSave read FOnBeforeAttachmentSave write FOnBeforeAttachmentSave;
    property OnBeforeDelete: TTaskRequestAcceptItemBeforeDelete read FOnBeforeDelete write FOnBeforeDelete;
  end;

{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
// *********************************************************************//
// OLE Server Properties Proxy Class
// Server Object    : TTaskRequestAcceptItem
// (This object is used by the IDE's Property Inspector to allow editing
//  of the properties of this server)
// *********************************************************************//
 TTaskRequestAcceptItemProperties = class(TPersistent)
  private
    FServer:    TTaskRequestAcceptItem;
    function    GetDefaultInterface: _TaskRequestAcceptItem;
    constructor Create(AServer: TTaskRequestAcceptItem);
  protected
    function Get_Application: _Application;
    function Get_Class_: OlObjectClass;
    function Get_Session: _NameSpace;
    function Get_Parent: IDispatch;
    function Get_Actions: Actions;
    function Get_Attachments: Attachments;
    function Get_BillingInformation: WideString;
    procedure Set_BillingInformation(const BillingInformation: WideString);
    function Get_Body: WideString;
    procedure Set_Body(const Body: WideString);
    function Get_Categories: WideString;
    procedure Set_Categories(const Categories: WideString);
    function Get_Companies: WideString;
    procedure Set_Companies(const Companies: WideString);
    function Get_ConversationIndex: WideString;
    function Get_ConversationTopic: WideString;
    function Get_CreationTime: TDateTime;
    function Get_EntryID: WideString;
    function Get_FormDescription: FormDescription;
    function Get_GetInspector: _Inspector;
    function Get_Importance: OlImportance;
    procedure Set_Importance(Importance: OlImportance);
    function Get_LastModificationTime: TDateTime;
    function Get_MAPIOBJECT: IUnknown;
    function Get_MessageClass: WideString;
    procedure Set_MessageClass(const MessageClass: WideString);
    function Get_Mileage: WideString;
    procedure Set_Mileage(const Mileage: WideString);
    function Get_NoAging: WordBool;
    procedure Set_NoAging(NoAging: WordBool);
    function Get_OutlookInternalVersion: Integer;
    function Get_OutlookVersion: WideString;
    function Get_Saved: WordBool;
    function Get_Sensitivity: OlSensitivity;
    procedure Set_Sensitivity(Sensitivity: OlSensitivity);
    function Get_Size: Integer;
    function Get_Subject: WideString;
    procedure Set_Subject(const Subject: WideString);
    function Get_UnRead: WordBool;
    procedure Set_UnRead(UnRead: WordBool);
    function Get_UserProperties: UserProperties;
    function Get_Links: Links;
    function Get_DownloadState: OlDownloadState;
    function Get_ItemProperties: ItemProperties;
    function Get_MarkForDownload: OlRemoteStatus;
    procedure Set_MarkForDownload(MarkForDownload: OlRemoteStatus);
    function Get_IsConflict: WordBool;
  public
    property DefaultInterface: _TaskRequestAcceptItem read GetDefaultInterface;
  published
    property BillingInformation: WideString read Get_BillingInformation write Set_BillingInformation;
    property Body: WideString read Get_Body write Set_Body;
    property Categories: WideString read Get_Categories write Set_Categories;
    property Companies: WideString read Get_Companies write Set_Companies;
    property Importance: OlImportance read Get_Importance write Set_Importance;
    property MessageClass: WideString read Get_MessageClass write Set_MessageClass;
    property Mileage: WideString read Get_Mileage write Set_Mileage;
    property NoAging: WordBool read Get_NoAging write Set_NoAging;
    property Sensitivity: OlSensitivity read Get_Sensitivity write Set_Sensitivity;
    property Subject: WideString read Get_Subject write Set_Subject;
    property UnRead: WordBool read Get_UnRead write Set_UnRead;
    property MarkForDownload: OlRemoteStatus read Get_MarkForDownload write Set_MarkForDownload;
  end;
{$ENDIF}


// *********************************************************************//
// The Class CoTaskRequestDeclineItem provides a Create and CreateRemote method to          
// create instances of the default interface _TaskRequestDeclineItem exposed by              
// the CoClass TaskRequestDeclineItem. The functions are intended to be used by             
// clients wishing to automate the CoClass objects exposed by the         
// server of this typelibrary.                                            
// *********************************************************************//
  CoTaskRequestDeclineItem = class
    class function Create: _TaskRequestDeclineItem;
    class function CreateRemote(const MachineName: string): _TaskRequestDeclineItem;
  end;

  TTaskRequestDeclineItemOpen = procedure(ASender: TObject; var Cancel: WordBool) of object;
  TTaskRequestDeclineItemCustomAction = procedure(ASender: TObject; const Action: IDispatch; 
                                                                    const Response: IDispatch; 
                                                                    var Cancel: WordBool) of object;
  TTaskRequestDeclineItemCustomPropertyChange = procedure(ASender: TObject; const Name: WideString) of object;
  TTaskRequestDeclineItemForward = procedure(ASender: TObject; const Forward: IDispatch; 
                                                               var Cancel: WordBool) of object;
  TTaskRequestDeclineItemClose = procedure(ASender: TObject; var Cancel: WordBool) of object;
  TTaskRequestDeclineItemPropertyChange = procedure(ASender: TObject; const Name: WideString) of object;
  TTaskRequestDeclineItemReply = procedure(ASender: TObject; const Response: IDispatch; 
                                                             var Cancel: WordBool) of object;
  TTaskRequestDeclineItemReplyAll = procedure(ASender: TObject; const Response: IDispatch; 
                                                                var Cancel: WordBool) of object;
  TTaskRequestDeclineItemSend = procedure(ASender: TObject; var Cancel: WordBool) of object;
  TTaskRequestDeclineItemWrite = procedure(ASender: TObject; var Cancel: WordBool) of object;
  TTaskRequestDeclineItemBeforeCheckNames = procedure(ASender: TObject; var Cancel: WordBool) of object;
  TTaskRequestDeclineItemAttachmentAdd = procedure(ASender: TObject; const Attachment: Attachment) of object;
  TTaskRequestDeclineItemAttachmentRead = procedure(ASender: TObject; const Attachment: Attachment) of object;
  TTaskRequestDeclineItemBeforeAttachmentSave = procedure(ASender: TObject; const Attachment: Attachment; 
                                                                            var Cancel: WordBool) of object;
  TTaskRequestDeclineItemBeforeDelete = procedure(ASender: TObject; const Item: IDispatch; 
                                                                    var Cancel: WordBool) of object;


// *********************************************************************//
// OLE Server Proxy class declaration
// Server Object    : TTaskRequestDeclineItem
// Help String      : 
// Default Interface: _TaskRequestDeclineItem
// Def. Intf. DISP? : No
// Event   Interface: ItemEvents_10
// TypeFlags        : (0)
// *********************************************************************//
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  TTaskRequestDeclineItemProperties= class;
{$ENDIF}
  TTaskRequestDeclineItem = class(TOleServer)
  private
    FOnOpen: TTaskRequestDeclineItemOpen;
    FOnCustomAction: TTaskRequestDeclineItemCustomAction;
    FOnCustomPropertyChange: TTaskRequestDeclineItemCustomPropertyChange;
    FOnForward: TTaskRequestDeclineItemForward;
    FOnClose: TTaskRequestDeclineItemClose;
    FOnPropertyChange: TTaskRequestDeclineItemPropertyChange;
    FOnRead: TNotifyEvent;
    FOnReply: TTaskRequestDeclineItemReply;
    FOnReplyAll: TTaskRequestDeclineItemReplyAll;
    FOnSend: TTaskRequestDeclineItemSend;
    FOnWrite: TTaskRequestDeclineItemWrite;
    FOnBeforeCheckNames: TTaskRequestDeclineItemBeforeCheckNames;
    FOnAttachmentAdd: TTaskRequestDeclineItemAttachmentAdd;
    FOnAttachmentRead: TTaskRequestDeclineItemAttachmentRead;
    FOnBeforeAttachmentSave: TTaskRequestDeclineItemBeforeAttachmentSave;
    FOnBeforeDelete: TTaskRequestDeclineItemBeforeDelete;
    FIntf:        _TaskRequestDeclineItem;
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
    FProps:       TTaskRequestDeclineItemProperties;
    function      GetServerProperties: TTaskRequestDeclineItemProperties;
{$ENDIF}
    function      GetDefaultInterface: _TaskRequestDeclineItem;
  protected
    procedure InitServerData; override;
    procedure InvokeEvent(DispID: TDispID; var Params: TVariantArray); override;
    function Get_Application: _Application;
    function Get_Class_: OlObjectClass;
    function Get_Session: _NameSpace;
    function Get_Parent: IDispatch;
    function Get_Actions: Actions;
    function Get_Attachments: Attachments;
    function Get_BillingInformation: WideString;
    procedure Set_BillingInformation(const BillingInformation: WideString);
    function Get_Body: WideString;
    procedure Set_Body(const Body: WideString);
    function Get_Categories: WideString;
    procedure Set_Categories(const Categories: WideString);
    function Get_Companies: WideString;
    procedure Set_Companies(const Companies: WideString);
    function Get_ConversationIndex: WideString;
    function Get_ConversationTopic: WideString;
    function Get_CreationTime: TDateTime;
    function Get_EntryID: WideString;
    function Get_FormDescription: FormDescription;
    function Get_GetInspector: _Inspector;
    function Get_Importance: OlImportance;
    procedure Set_Importance(Importance: OlImportance);
    function Get_LastModificationTime: TDateTime;
    function Get_MAPIOBJECT: IUnknown;
    function Get_MessageClass: WideString;
    procedure Set_MessageClass(const MessageClass: WideString);
    function Get_Mileage: WideString;
    procedure Set_Mileage(const Mileage: WideString);
    function Get_NoAging: WordBool;
    procedure Set_NoAging(NoAging: WordBool);
    function Get_OutlookInternalVersion: Integer;
    function Get_OutlookVersion: WideString;
    function Get_Saved: WordBool;
    function Get_Sensitivity: OlSensitivity;
    procedure Set_Sensitivity(Sensitivity: OlSensitivity);
    function Get_Size: Integer;
    function Get_Subject: WideString;
    procedure Set_Subject(const Subject: WideString);
    function Get_UnRead: WordBool;
    procedure Set_UnRead(UnRead: WordBool);
    function Get_UserProperties: UserProperties;
    function Get_Links: Links;
    function Get_DownloadState: OlDownloadState;
    function Get_ItemProperties: ItemProperties;
    function Get_MarkForDownload: OlRemoteStatus;
    procedure Set_MarkForDownload(MarkForDownload: OlRemoteStatus);
    function Get_IsConflict: WordBool;
  public
    constructor Create(AOwner: TComponent); override;
    destructor  Destroy; override;
    procedure Connect; override;
    procedure ConnectTo(svrIntf: _TaskRequestDeclineItem);
    procedure Disconnect; override;
    procedure Close(SaveMode: OlInspectorClose);
    function Copy: IDispatch;
    procedure Delete;
    procedure Display; overload;
    procedure Display(Modal: OleVariant); overload;
    function Move(const DestFldr: MAPIFolder): IDispatch;
    procedure PrintOut;
    procedure Save;
    procedure SaveAs(const Path: WideString); overload;
    procedure SaveAs(const Path: WideString; Type_: OleVariant); overload;
    function GetAssociatedTask(AddToTaskList: WordBool): TaskItem;
    procedure ShowCategoriesDialog;
    property DefaultInterface: _TaskRequestDeclineItem read GetDefaultInterface;
    property Application: _Application read Get_Application;
    property Class_: OlObjectClass read Get_Class_;
    property Session: _NameSpace read Get_Session;
    property Parent: IDispatch read Get_Parent;
    property Actions: Actions read Get_Actions;
    property Attachments: Attachments read Get_Attachments;
    property ConversationIndex: WideString read Get_ConversationIndex;
    property ConversationTopic: WideString read Get_ConversationTopic;
    property CreationTime: TDateTime read Get_CreationTime;
    property EntryID: WideString read Get_EntryID;
    property FormDescription: FormDescription read Get_FormDescription;
    property GetInspector: _Inspector read Get_GetInspector;
    property LastModificationTime: TDateTime read Get_LastModificationTime;
    property MAPIOBJECT: IUnknown read Get_MAPIOBJECT;
    property OutlookInternalVersion: Integer read Get_OutlookInternalVersion;
    property OutlookVersion: WideString read Get_OutlookVersion;
    property Saved: WordBool read Get_Saved;
    property Size: Integer read Get_Size;
    property UserProperties: UserProperties read Get_UserProperties;
    property Links: Links read Get_Links;
    property DownloadState: OlDownloadState read Get_DownloadState;
    property ItemProperties: ItemProperties read Get_ItemProperties;
    property IsConflict: WordBool read Get_IsConflict;
    property BillingInformation: WideString read Get_BillingInformation write Set_BillingInformation;
    property Body: WideString read Get_Body write Set_Body;
    property Categories: WideString read Get_Categories write Set_Categories;
    property Companies: WideString read Get_Companies write Set_Companies;
    property Importance: OlImportance read Get_Importance write Set_Importance;
    property MessageClass: WideString read Get_MessageClass write Set_MessageClass;
    property Mileage: WideString read Get_Mileage write Set_Mileage;
    property NoAging: WordBool read Get_NoAging write Set_NoAging;
    property Sensitivity: OlSensitivity read Get_Sensitivity write Set_Sensitivity;
    property Subject: WideString read Get_Subject write Set_Subject;
    property UnRead: WordBool read Get_UnRead write Set_UnRead;
    property MarkForDownload: OlRemoteStatus read Get_MarkForDownload write Set_MarkForDownload;
  published
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
    property Server: TTaskRequestDeclineItemProperties read GetServerProperties;
{$ENDIF}
    property OnOpen: TTaskRequestDeclineItemOpen read FOnOpen write FOnOpen;
    property OnCustomAction: TTaskRequestDeclineItemCustomAction read FOnCustomAction write FOnCustomAction;
    property OnCustomPropertyChange: TTaskRequestDeclineItemCustomPropertyChange read FOnCustomPropertyChange write FOnCustomPropertyChange;
    property OnForward: TTaskRequestDeclineItemForward read FOnForward write FOnForward;
    property OnClose: TTaskRequestDeclineItemClose read FOnClose write FOnClose;
    property OnPropertyChange: TTaskRequestDeclineItemPropertyChange read FOnPropertyChange write FOnPropertyChange;
    property OnRead: TNotifyEvent read FOnRead write FOnRead;
    property OnReply: TTaskRequestDeclineItemReply read FOnReply write FOnReply;
    property OnReplyAll: TTaskRequestDeclineItemReplyAll read FOnReplyAll write FOnReplyAll;
    property OnSend: TTaskRequestDeclineItemSend read FOnSend write FOnSend;
    property OnWrite: TTaskRequestDeclineItemWrite read FOnWrite write FOnWrite;
    property OnBeforeCheckNames: TTaskRequestDeclineItemBeforeCheckNames read FOnBeforeCheckNames write FOnBeforeCheckNames;
    property OnAttachmentAdd: TTaskRequestDeclineItemAttachmentAdd read FOnAttachmentAdd write FOnAttachmentAdd;
    property OnAttachmentRead: TTaskRequestDeclineItemAttachmentRead read FOnAttachmentRead write FOnAttachmentRead;
    property OnBeforeAttachmentSave: TTaskRequestDeclineItemBeforeAttachmentSave read FOnBeforeAttachmentSave write FOnBeforeAttachmentSave;
    property OnBeforeDelete: TTaskRequestDeclineItemBeforeDelete read FOnBeforeDelete write FOnBeforeDelete;
  end;

{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
// *********************************************************************//
// OLE Server Properties Proxy Class
// Server Object    : TTaskRequestDeclineItem
// (This object is used by the IDE's Property Inspector to allow editing
//  of the properties of this server)
// *********************************************************************//
 TTaskRequestDeclineItemProperties = class(TPersistent)
  private
    FServer:    TTaskRequestDeclineItem;
    function    GetDefaultInterface: _TaskRequestDeclineItem;
    constructor Create(AServer: TTaskRequestDeclineItem);
  protected
    function Get_Application: _Application;
    function Get_Class_: OlObjectClass;
    function Get_Session: _NameSpace;
    function Get_Parent: IDispatch;
    function Get_Actions: Actions;
    function Get_Attachments: Attachments;
    function Get_BillingInformation: WideString;
    procedure Set_BillingInformation(const BillingInformation: WideString);
    function Get_Body: WideString;
    procedure Set_Body(const Body: WideString);
    function Get_Categories: WideString;
    procedure Set_Categories(const Categories: WideString);
    function Get_Companies: WideString;
    procedure Set_Companies(const Companies: WideString);
    function Get_ConversationIndex: WideString;
    function Get_ConversationTopic: WideString;
    function Get_CreationTime: TDateTime;
    function Get_EntryID: WideString;
    function Get_FormDescription: FormDescription;
    function Get_GetInspector: _Inspector;
    function Get_Importance: OlImportance;
    procedure Set_Importance(Importance: OlImportance);
    function Get_LastModificationTime: TDateTime;
    function Get_MAPIOBJECT: IUnknown;
    function Get_MessageClass: WideString;
    procedure Set_MessageClass(const MessageClass: WideString);
    function Get_Mileage: WideString;
    procedure Set_Mileage(const Mileage: WideString);
    function Get_NoAging: WordBool;
    procedure Set_NoAging(NoAging: WordBool);
    function Get_OutlookInternalVersion: Integer;
    function Get_OutlookVersion: WideString;
    function Get_Saved: WordBool;
    function Get_Sensitivity: OlSensitivity;
    procedure Set_Sensitivity(Sensitivity: OlSensitivity);
    function Get_Size: Integer;
    function Get_Subject: WideString;
    procedure Set_Subject(const Subject: WideString);
    function Get_UnRead: WordBool;
    procedure Set_UnRead(UnRead: WordBool);
    function Get_UserProperties: UserProperties;
    function Get_Links: Links;
    function Get_DownloadState: OlDownloadState;
    function Get_ItemProperties: ItemProperties;
    function Get_MarkForDownload: OlRemoteStatus;
    procedure Set_MarkForDownload(MarkForDownload: OlRemoteStatus);
    function Get_IsConflict: WordBool;
  public
    property DefaultInterface: _TaskRequestDeclineItem read GetDefaultInterface;
  published
    property BillingInformation: WideString read Get_BillingInformation write Set_BillingInformation;
    property Body: WideString read Get_Body write Set_Body;
    property Categories: WideString read Get_Categories write Set_Categories;
    property Companies: WideString read Get_Companies write Set_Companies;
    property Importance: OlImportance read Get_Importance write Set_Importance;
    property MessageClass: WideString read Get_MessageClass write Set_MessageClass;
    property Mileage: WideString read Get_Mileage write Set_Mileage;
    property NoAging: WordBool read Get_NoAging write Set_NoAging;
    property Sensitivity: OlSensitivity read Get_Sensitivity write Set_Sensitivity;
    property Subject: WideString read Get_Subject write Set_Subject;
    property UnRead: WordBool read Get_UnRead write Set_UnRead;
    property MarkForDownload: OlRemoteStatus read Get_MarkForDownload write Set_MarkForDownload;
  end;
{$ENDIF}


// *********************************************************************//
// The Class CoTaskRequestItem provides a Create and CreateRemote method to          
// create instances of the default interface _TaskRequestItem exposed by              
// the CoClass TaskRequestItem. The functions are intended to be used by             
// clients wishing to automate the CoClass objects exposed by the         
// server of this typelibrary.                                            
// *********************************************************************//
  CoTaskRequestItem = class
    class function Create: _TaskRequestItem;
    class function CreateRemote(const MachineName: string): _TaskRequestItem;
  end;

  TTaskRequestItemOpen = procedure(ASender: TObject; var Cancel: WordBool) of object;
  TTaskRequestItemCustomAction = procedure(ASender: TObject; const Action: IDispatch; 
                                                             const Response: IDispatch; 
                                                             var Cancel: WordBool) of object;
  TTaskRequestItemCustomPropertyChange = procedure(ASender: TObject; const Name: WideString) of object;
  TTaskRequestItemForward = procedure(ASender: TObject; const Forward: IDispatch; 
                                                        var Cancel: WordBool) of object;
  TTaskRequestItemClose = procedure(ASender: TObject; var Cancel: WordBool) of object;
  TTaskRequestItemPropertyChange = procedure(ASender: TObject; const Name: WideString) of object;
  TTaskRequestItemReply = procedure(ASender: TObject; const Response: IDispatch; 
                                                      var Cancel: WordBool) of object;
  TTaskRequestItemReplyAll = procedure(ASender: TObject; const Response: IDispatch; 
                                                         var Cancel: WordBool) of object;
  TTaskRequestItemSend = procedure(ASender: TObject; var Cancel: WordBool) of object;
  TTaskRequestItemWrite = procedure(ASender: TObject; var Cancel: WordBool) of object;
  TTaskRequestItemBeforeCheckNames = procedure(ASender: TObject; var Cancel: WordBool) of object;
  TTaskRequestItemAttachmentAdd = procedure(ASender: TObject; const Attachment: Attachment) of object;
  TTaskRequestItemAttachmentRead = procedure(ASender: TObject; const Attachment: Attachment) of object;
  TTaskRequestItemBeforeAttachmentSave = procedure(ASender: TObject; const Attachment: Attachment; 
                                                                     var Cancel: WordBool) of object;
  TTaskRequestItemBeforeDelete = procedure(ASender: TObject; const Item: IDispatch; 
                                                             var Cancel: WordBool) of object;


// *********************************************************************//
// OLE Server Proxy class declaration
// Server Object    : TTaskRequestItem
// Help String      : 
// Default Interface: _TaskRequestItem
// Def. Intf. DISP? : No
// Event   Interface: ItemEvents_10
// TypeFlags        : (0)
// *********************************************************************//
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  TTaskRequestItemProperties= class;
{$ENDIF}
  TTaskRequestItem = class(TOleServer)
  private
    FOnOpen: TTaskRequestItemOpen;
    FOnCustomAction: TTaskRequestItemCustomAction;
    FOnCustomPropertyChange: TTaskRequestItemCustomPropertyChange;
    FOnForward: TTaskRequestItemForward;
    FOnClose: TTaskRequestItemClose;
    FOnPropertyChange: TTaskRequestItemPropertyChange;
    FOnRead: TNotifyEvent;
    FOnReply: TTaskRequestItemReply;
    FOnReplyAll: TTaskRequestItemReplyAll;
    FOnSend: TTaskRequestItemSend;
    FOnWrite: TTaskRequestItemWrite;
    FOnBeforeCheckNames: TTaskRequestItemBeforeCheckNames;
    FOnAttachmentAdd: TTaskRequestItemAttachmentAdd;
    FOnAttachmentRead: TTaskRequestItemAttachmentRead;
    FOnBeforeAttachmentSave: TTaskRequestItemBeforeAttachmentSave;
    FOnBeforeDelete: TTaskRequestItemBeforeDelete;
    FIntf:        _TaskRequestItem;
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
    FProps:       TTaskRequestItemProperties;
    function      GetServerProperties: TTaskRequestItemProperties;
{$ENDIF}
    function      GetDefaultInterface: _TaskRequestItem;
  protected
    procedure InitServerData; override;
    procedure InvokeEvent(DispID: TDispID; var Params: TVariantArray); override;
    function Get_Application: _Application;
    function Get_Class_: OlObjectClass;
    function Get_Session: _NameSpace;
    function Get_Parent: IDispatch;
    function Get_Actions: Actions;
    function Get_Attachments: Attachments;
    function Get_BillingInformation: WideString;
    procedure Set_BillingInformation(const BillingInformation: WideString);
    function Get_Body: WideString;
    procedure Set_Body(const Body: WideString);
    function Get_Categories: WideString;
    procedure Set_Categories(const Categories: WideString);
    function Get_Companies: WideString;
    procedure Set_Companies(const Companies: WideString);
    function Get_ConversationIndex: WideString;
    function Get_ConversationTopic: WideString;
    function Get_CreationTime: TDateTime;
    function Get_EntryID: WideString;
    function Get_FormDescription: FormDescription;
    function Get_GetInspector: _Inspector;
    function Get_Importance: OlImportance;
    procedure Set_Importance(Importance: OlImportance);
    function Get_LastModificationTime: TDateTime;
    function Get_MAPIOBJECT: IUnknown;
    function Get_MessageClass: WideString;
    procedure Set_MessageClass(const MessageClass: WideString);
    function Get_Mileage: WideString;
    procedure Set_Mileage(const Mileage: WideString);
    function Get_NoAging: WordBool;
    procedure Set_NoAging(NoAging: WordBool);
    function Get_OutlookInternalVersion: Integer;
    function Get_OutlookVersion: WideString;
    function Get_Saved: WordBool;
    function Get_Sensitivity: OlSensitivity;
    procedure Set_Sensitivity(Sensitivity: OlSensitivity);
    function Get_Size: Integer;
    function Get_Subject: WideString;
    procedure Set_Subject(const Subject: WideString);
    function Get_UnRead: WordBool;
    procedure Set_UnRead(UnRead: WordBool);
    function Get_UserProperties: UserProperties;
    function Get_Links: Links;
    function Get_DownloadState: OlDownloadState;
    function Get_ItemProperties: ItemProperties;
    function Get_MarkForDownload: OlRemoteStatus;
    procedure Set_MarkForDownload(MarkForDownload: OlRemoteStatus);
    function Get_IsConflict: WordBool;
  public
    constructor Create(AOwner: TComponent); override;
    destructor  Destroy; override;
    procedure Connect; override;
    procedure ConnectTo(svrIntf: _TaskRequestItem);
    procedure Disconnect; override;
    procedure Close(SaveMode: OlInspectorClose);
    function Copy: IDispatch;
    procedure Delete;
    procedure Display; overload;
    procedure Display(Modal: OleVariant); overload;
    function Move(const DestFldr: MAPIFolder): IDispatch;
    procedure PrintOut;
    procedure Save;
    procedure SaveAs(const Path: WideString); overload;
    procedure SaveAs(const Path: WideString; Type_: OleVariant); overload;
    function GetAssociatedTask(AddToTaskList: WordBool): TaskItem;
    procedure ShowCategoriesDialog;
    property DefaultInterface: _TaskRequestItem read GetDefaultInterface;
    property Application: _Application read Get_Application;
    property Class_: OlObjectClass read Get_Class_;
    property Session: _NameSpace read Get_Session;
    property Parent: IDispatch read Get_Parent;
    property Actions: Actions read Get_Actions;
    property Attachments: Attachments read Get_Attachments;
    property ConversationIndex: WideString read Get_ConversationIndex;
    property ConversationTopic: WideString read Get_ConversationTopic;
    property CreationTime: TDateTime read Get_CreationTime;
    property EntryID: WideString read Get_EntryID;
    property FormDescription: FormDescription read Get_FormDescription;
    property GetInspector: _Inspector read Get_GetInspector;
    property LastModificationTime: TDateTime read Get_LastModificationTime;
    property MAPIOBJECT: IUnknown read Get_MAPIOBJECT;
    property OutlookInternalVersion: Integer read Get_OutlookInternalVersion;
    property OutlookVersion: WideString read Get_OutlookVersion;
    property Saved: WordBool read Get_Saved;
    property Size: Integer read Get_Size;
    property UserProperties: UserProperties read Get_UserProperties;
    property Links: Links read Get_Links;
    property DownloadState: OlDownloadState read Get_DownloadState;
    property ItemProperties: ItemProperties read Get_ItemProperties;
    property IsConflict: WordBool read Get_IsConflict;
    property BillingInformation: WideString read Get_BillingInformation write Set_BillingInformation;
    property Body: WideString read Get_Body write Set_Body;
    property Categories: WideString read Get_Categories write Set_Categories;
    property Companies: WideString read Get_Companies write Set_Companies;
    property Importance: OlImportance read Get_Importance write Set_Importance;
    property MessageClass: WideString read Get_MessageClass write Set_MessageClass;
    property Mileage: WideString read Get_Mileage write Set_Mileage;
    property NoAging: WordBool read Get_NoAging write Set_NoAging;
    property Sensitivity: OlSensitivity read Get_Sensitivity write Set_Sensitivity;
    property Subject: WideString read Get_Subject write Set_Subject;
    property UnRead: WordBool read Get_UnRead write Set_UnRead;
    property MarkForDownload: OlRemoteStatus read Get_MarkForDownload write Set_MarkForDownload;
  published
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
    property Server: TTaskRequestItemProperties read GetServerProperties;
{$ENDIF}
    property OnOpen: TTaskRequestItemOpen read FOnOpen write FOnOpen;
    property OnCustomAction: TTaskRequestItemCustomAction read FOnCustomAction write FOnCustomAction;
    property OnCustomPropertyChange: TTaskRequestItemCustomPropertyChange read FOnCustomPropertyChange write FOnCustomPropertyChange;
    property OnForward: TTaskRequestItemForward read FOnForward write FOnForward;
    property OnClose: TTaskRequestItemClose read FOnClose write FOnClose;
    property OnPropertyChange: TTaskRequestItemPropertyChange read FOnPropertyChange write FOnPropertyChange;
    property OnRead: TNotifyEvent read FOnRead write FOnRead;
    property OnReply: TTaskRequestItemReply read FOnReply write FOnReply;
    property OnReplyAll: TTaskRequestItemReplyAll read FOnReplyAll write FOnReplyAll;
    property OnSend: TTaskRequestItemSend read FOnSend write FOnSend;
    property OnWrite: TTaskRequestItemWrite read FOnWrite write FOnWrite;
    property OnBeforeCheckNames: TTaskRequestItemBeforeCheckNames read FOnBeforeCheckNames write FOnBeforeCheckNames;
    property OnAttachmentAdd: TTaskRequestItemAttachmentAdd read FOnAttachmentAdd write FOnAttachmentAdd;
    property OnAttachmentRead: TTaskRequestItemAttachmentRead read FOnAttachmentRead write FOnAttachmentRead;
    property OnBeforeAttachmentSave: TTaskRequestItemBeforeAttachmentSave read FOnBeforeAttachmentSave write FOnBeforeAttachmentSave;
    property OnBeforeDelete: TTaskRequestItemBeforeDelete read FOnBeforeDelete write FOnBeforeDelete;
  end;

{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
// *********************************************************************//
// OLE Server Properties Proxy Class
// Server Object    : TTaskRequestItem
// (This object is used by the IDE's Property Inspector to allow editing
//  of the properties of this server)
// *********************************************************************//
 TTaskRequestItemProperties = class(TPersistent)
  private
    FServer:    TTaskRequestItem;
    function    GetDefaultInterface: _TaskRequestItem;
    constructor Create(AServer: TTaskRequestItem);
  protected
    function Get_Application: _Application;
    function Get_Class_: OlObjectClass;
    function Get_Session: _NameSpace;
    function Get_Parent: IDispatch;
    function Get_Actions: Actions;
    function Get_Attachments: Attachments;
    function Get_BillingInformation: WideString;
    procedure Set_BillingInformation(const BillingInformation: WideString);
    function Get_Body: WideString;
    procedure Set_Body(const Body: WideString);
    function Get_Categories: WideString;
    procedure Set_Categories(const Categories: WideString);
    function Get_Companies: WideString;
    procedure Set_Companies(const Companies: WideString);
    function Get_ConversationIndex: WideString;
    function Get_ConversationTopic: WideString;
    function Get_CreationTime: TDateTime;
    function Get_EntryID: WideString;
    function Get_FormDescription: FormDescription;
    function Get_GetInspector: _Inspector;
    function Get_Importance: OlImportance;
    procedure Set_Importance(Importance: OlImportance);
    function Get_LastModificationTime: TDateTime;
    function Get_MAPIOBJECT: IUnknown;
    function Get_MessageClass: WideString;
    procedure Set_MessageClass(const MessageClass: WideString);
    function Get_Mileage: WideString;
    procedure Set_Mileage(const Mileage: WideString);
    function Get_NoAging: WordBool;
    procedure Set_NoAging(NoAging: WordBool);
    function Get_OutlookInternalVersion: Integer;
    function Get_OutlookVersion: WideString;
    function Get_Saved: WordBool;
    function Get_Sensitivity: OlSensitivity;
    procedure Set_Sensitivity(Sensitivity: OlSensitivity);
    function Get_Size: Integer;
    function Get_Subject: WideString;
    procedure Set_Subject(const Subject: WideString);
    function Get_UnRead: WordBool;
    procedure Set_UnRead(UnRead: WordBool);
    function Get_UserProperties: UserProperties;
    function Get_Links: Links;
    function Get_DownloadState: OlDownloadState;
    function Get_ItemProperties: ItemProperties;
    function Get_MarkForDownload: OlRemoteStatus;
    procedure Set_MarkForDownload(MarkForDownload: OlRemoteStatus);
    function Get_IsConflict: WordBool;
  public
    property DefaultInterface: _TaskRequestItem read GetDefaultInterface;
  published
    property BillingInformation: WideString read Get_BillingInformation write Set_BillingInformation;
    property Body: WideString read Get_Body write Set_Body;
    property Categories: WideString read Get_Categories write Set_Categories;
    property Companies: WideString read Get_Companies write Set_Companies;
    property Importance: OlImportance read Get_Importance write Set_Importance;
    property MessageClass: WideString read Get_MessageClass write Set_MessageClass;
    property Mileage: WideString read Get_Mileage write Set_Mileage;
    property NoAging: WordBool read Get_NoAging write Set_NoAging;
    property Sensitivity: OlSensitivity read Get_Sensitivity write Set_Sensitivity;
    property Subject: WideString read Get_Subject write Set_Subject;
    property UnRead: WordBool read Get_UnRead write Set_UnRead;
    property MarkForDownload: OlRemoteStatus read Get_MarkForDownload write Set_MarkForDownload;
  end;
{$ENDIF}


// *********************************************************************//
// The Class CoTaskRequestUpdateItem provides a Create and CreateRemote method to          
// create instances of the default interface _TaskRequestUpdateItem exposed by              
// the CoClass TaskRequestUpdateItem. The functions are intended to be used by             
// clients wishing to automate the CoClass objects exposed by the         
// server of this typelibrary.                                            
// *********************************************************************//
  CoTaskRequestUpdateItem = class
    class function Create: _TaskRequestUpdateItem;
    class function CreateRemote(const MachineName: string): _TaskRequestUpdateItem;
  end;

  TTaskRequestUpdateItemOpen = procedure(ASender: TObject; var Cancel: WordBool) of object;
  TTaskRequestUpdateItemCustomAction = procedure(ASender: TObject; const Action: IDispatch; 
                                                                   const Response: IDispatch; 
                                                                   var Cancel: WordBool) of object;
  TTaskRequestUpdateItemCustomPropertyChange = procedure(ASender: TObject; const Name: WideString) of object;
  TTaskRequestUpdateItemForward = procedure(ASender: TObject; const Forward: IDispatch; 
                                                              var Cancel: WordBool) of object;
  TTaskRequestUpdateItemClose = procedure(ASender: TObject; var Cancel: WordBool) of object;
  TTaskRequestUpdateItemPropertyChange = procedure(ASender: TObject; const Name: WideString) of object;
  TTaskRequestUpdateItemReply = procedure(ASender: TObject; const Response: IDispatch; 
                                                            var Cancel: WordBool) of object;
  TTaskRequestUpdateItemReplyAll = procedure(ASender: TObject; const Response: IDispatch; 
                                                               var Cancel: WordBool) of object;
  TTaskRequestUpdateItemSend = procedure(ASender: TObject; var Cancel: WordBool) of object;
  TTaskRequestUpdateItemWrite = procedure(ASender: TObject; var Cancel: WordBool) of object;
  TTaskRequestUpdateItemBeforeCheckNames = procedure(ASender: TObject; var Cancel: WordBool) of object;
  TTaskRequestUpdateItemAttachmentAdd = procedure(ASender: TObject; const Attachment: Attachment) of object;
  TTaskRequestUpdateItemAttachmentRead = procedure(ASender: TObject; const Attachment: Attachment) of object;
  TTaskRequestUpdateItemBeforeAttachmentSave = procedure(ASender: TObject; const Attachment: Attachment; 
                                                                           var Cancel: WordBool) of object;
  TTaskRequestUpdateItemBeforeDelete = procedure(ASender: TObject; const Item: IDispatch; 
                                                                   var Cancel: WordBool) of object;


// *********************************************************************//
// OLE Server Proxy class declaration
// Server Object    : TTaskRequestUpdateItem
// Help String      : 
// Default Interface: _TaskRequestUpdateItem
// Def. Intf. DISP? : No
// Event   Interface: ItemEvents_10
// TypeFlags        : (0)
// *********************************************************************//
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  TTaskRequestUpdateItemProperties= class;
{$ENDIF}
  TTaskRequestUpdateItem = class(TOleServer)
  private
    FOnOpen: TTaskRequestUpdateItemOpen;
    FOnCustomAction: TTaskRequestUpdateItemCustomAction;
    FOnCustomPropertyChange: TTaskRequestUpdateItemCustomPropertyChange;
    FOnForward: TTaskRequestUpdateItemForward;
    FOnClose: TTaskRequestUpdateItemClose;
    FOnPropertyChange: TTaskRequestUpdateItemPropertyChange;
    FOnRead: TNotifyEvent;
    FOnReply: TTaskRequestUpdateItemReply;
    FOnReplyAll: TTaskRequestUpdateItemReplyAll;
    FOnSend: TTaskRequestUpdateItemSend;
    FOnWrite: TTaskRequestUpdateItemWrite;
    FOnBeforeCheckNames: TTaskRequestUpdateItemBeforeCheckNames;
    FOnAttachmentAdd: TTaskRequestUpdateItemAttachmentAdd;
    FOnAttachmentRead: TTaskRequestUpdateItemAttachmentRead;
    FOnBeforeAttachmentSave: TTaskRequestUpdateItemBeforeAttachmentSave;
    FOnBeforeDelete: TTaskRequestUpdateItemBeforeDelete;
    FIntf:        _TaskRequestUpdateItem;
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
    FProps:       TTaskRequestUpdateItemProperties;
    function      GetServerProperties: TTaskRequestUpdateItemProperties;
{$ENDIF}
    function      GetDefaultInterface: _TaskRequestUpdateItem;
  protected
    procedure InitServerData; override;
    procedure InvokeEvent(DispID: TDispID; var Params: TVariantArray); override;
    function Get_Application: _Application;
    function Get_Class_: OlObjectClass;
    function Get_Session: _NameSpace;
    function Get_Parent: IDispatch;
    function Get_Actions: Actions;
    function Get_Attachments: Attachments;
    function Get_BillingInformation: WideString;
    procedure Set_BillingInformation(const BillingInformation: WideString);
    function Get_Body: WideString;
    procedure Set_Body(const Body: WideString);
    function Get_Categories: WideString;
    procedure Set_Categories(const Categories: WideString);
    function Get_Companies: WideString;
    procedure Set_Companies(const Companies: WideString);
    function Get_ConversationIndex: WideString;
    function Get_ConversationTopic: WideString;
    function Get_CreationTime: TDateTime;
    function Get_EntryID: WideString;
    function Get_FormDescription: FormDescription;
    function Get_GetInspector: _Inspector;
    function Get_Importance: OlImportance;
    procedure Set_Importance(Importance: OlImportance);
    function Get_LastModificationTime: TDateTime;
    function Get_MAPIOBJECT: IUnknown;
    function Get_MessageClass: WideString;
    procedure Set_MessageClass(const MessageClass: WideString);
    function Get_Mileage: WideString;
    procedure Set_Mileage(const Mileage: WideString);
    function Get_NoAging: WordBool;
    procedure Set_NoAging(NoAging: WordBool);
    function Get_OutlookInternalVersion: Integer;
    function Get_OutlookVersion: WideString;
    function Get_Saved: WordBool;
    function Get_Sensitivity: OlSensitivity;
    procedure Set_Sensitivity(Sensitivity: OlSensitivity);
    function Get_Size: Integer;
    function Get_Subject: WideString;
    procedure Set_Subject(const Subject: WideString);
    function Get_UnRead: WordBool;
    procedure Set_UnRead(UnRead: WordBool);
    function Get_UserProperties: UserProperties;
    function Get_Links: Links;
    function Get_DownloadState: OlDownloadState;
    function Get_ItemProperties: ItemProperties;
    function Get_MarkForDownload: OlRemoteStatus;
    procedure Set_MarkForDownload(MarkForDownload: OlRemoteStatus);
    function Get_IsConflict: WordBool;
  public
    constructor Create(AOwner: TComponent); override;
    destructor  Destroy; override;
    procedure Connect; override;
    procedure ConnectTo(svrIntf: _TaskRequestUpdateItem);
    procedure Disconnect; override;
    procedure Close(SaveMode: OlInspectorClose);
    function Copy: IDispatch;
    procedure Delete;
    procedure Display; overload;
    procedure Display(Modal: OleVariant); overload;
    function Move(const DestFldr: MAPIFolder): IDispatch;
    procedure PrintOut;
    procedure Save;
    procedure SaveAs(const Path: WideString); overload;
    procedure SaveAs(const Path: WideString; Type_: OleVariant); overload;
    function GetAssociatedTask(AddToTaskList: WordBool): TaskItem;
    procedure ShowCategoriesDialog;
    property DefaultInterface: _TaskRequestUpdateItem read GetDefaultInterface;
    property Application: _Application read Get_Application;
    property Class_: OlObjectClass read Get_Class_;
    property Session: _NameSpace read Get_Session;
    property Parent: IDispatch read Get_Parent;
    property Actions: Actions read Get_Actions;
    property Attachments: Attachments read Get_Attachments;
    property ConversationIndex: WideString read Get_ConversationIndex;
    property ConversationTopic: WideString read Get_ConversationTopic;
    property CreationTime: TDateTime read Get_CreationTime;
    property EntryID: WideString read Get_EntryID;
    property FormDescription: FormDescription read Get_FormDescription;
    property GetInspector: _Inspector read Get_GetInspector;
    property LastModificationTime: TDateTime read Get_LastModificationTime;
    property MAPIOBJECT: IUnknown read Get_MAPIOBJECT;
    property OutlookInternalVersion: Integer read Get_OutlookInternalVersion;
    property OutlookVersion: WideString read Get_OutlookVersion;
    property Saved: WordBool read Get_Saved;
    property Size: Integer read Get_Size;
    property UserProperties: UserProperties read Get_UserProperties;
    property Links: Links read Get_Links;
    property DownloadState: OlDownloadState read Get_DownloadState;
    property ItemProperties: ItemProperties read Get_ItemProperties;
    property IsConflict: WordBool read Get_IsConflict;
    property BillingInformation: WideString read Get_BillingInformation write Set_BillingInformation;
    property Body: WideString read Get_Body write Set_Body;
    property Categories: WideString read Get_Categories write Set_Categories;
    property Companies: WideString read Get_Companies write Set_Companies;
    property Importance: OlImportance read Get_Importance write Set_Importance;
    property MessageClass: WideString read Get_MessageClass write Set_MessageClass;
    property Mileage: WideString read Get_Mileage write Set_Mileage;
    property NoAging: WordBool read Get_NoAging write Set_NoAging;
    property Sensitivity: OlSensitivity read Get_Sensitivity write Set_Sensitivity;
    property Subject: WideString read Get_Subject write Set_Subject;
    property UnRead: WordBool read Get_UnRead write Set_UnRead;
    property MarkForDownload: OlRemoteStatus read Get_MarkForDownload write Set_MarkForDownload;
  published
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
    property Server: TTaskRequestUpdateItemProperties read GetServerProperties;
{$ENDIF}
    property OnOpen: TTaskRequestUpdateItemOpen read FOnOpen write FOnOpen;
    property OnCustomAction: TTaskRequestUpdateItemCustomAction read FOnCustomAction write FOnCustomAction;
    property OnCustomPropertyChange: TTaskRequestUpdateItemCustomPropertyChange read FOnCustomPropertyChange write FOnCustomPropertyChange;
    property OnForward: TTaskRequestUpdateItemForward read FOnForward write FOnForward;
    property OnClose: TTaskRequestUpdateItemClose read FOnClose write FOnClose;
    property OnPropertyChange: TTaskRequestUpdateItemPropertyChange read FOnPropertyChange write FOnPropertyChange;
    property OnRead: TNotifyEvent read FOnRead write FOnRead;
    property OnReply: TTaskRequestUpdateItemReply read FOnReply write FOnReply;
    property OnReplyAll: TTaskRequestUpdateItemReplyAll read FOnReplyAll write FOnReplyAll;
    property OnSend: TTaskRequestUpdateItemSend read FOnSend write FOnSend;
    property OnWrite: TTaskRequestUpdateItemWrite read FOnWrite write FOnWrite;
    property OnBeforeCheckNames: TTaskRequestUpdateItemBeforeCheckNames read FOnBeforeCheckNames write FOnBeforeCheckNames;
    property OnAttachmentAdd: TTaskRequestUpdateItemAttachmentAdd read FOnAttachmentAdd write FOnAttachmentAdd;
    property OnAttachmentRead: TTaskRequestUpdateItemAttachmentRead read FOnAttachmentRead write FOnAttachmentRead;
    property OnBeforeAttachmentSave: TTaskRequestUpdateItemBeforeAttachmentSave read FOnBeforeAttachmentSave write FOnBeforeAttachmentSave;
    property OnBeforeDelete: TTaskRequestUpdateItemBeforeDelete read FOnBeforeDelete write FOnBeforeDelete;
  end;

{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
// *********************************************************************//
// OLE Server Properties Proxy Class
// Server Object    : TTaskRequestUpdateItem
// (This object is used by the IDE's Property Inspector to allow editing
//  of the properties of this server)
// *********************************************************************//
 TTaskRequestUpdateItemProperties = class(TPersistent)
  private
    FServer:    TTaskRequestUpdateItem;
    function    GetDefaultInterface: _TaskRequestUpdateItem;
    constructor Create(AServer: TTaskRequestUpdateItem);
  protected
    function Get_Application: _Application;
    function Get_Class_: OlObjectClass;
    function Get_Session: _NameSpace;
    function Get_Parent: IDispatch;
    function Get_Actions: Actions;
    function Get_Attachments: Attachments;
    function Get_BillingInformation: WideString;
    procedure Set_BillingInformation(const BillingInformation: WideString);
    function Get_Body: WideString;
    procedure Set_Body(const Body: WideString);
    function Get_Categories: WideString;
    procedure Set_Categories(const Categories: WideString);
    function Get_Companies: WideString;
    procedure Set_Companies(const Companies: WideString);
    function Get_ConversationIndex: WideString;
    function Get_ConversationTopic: WideString;
    function Get_CreationTime: TDateTime;
    function Get_EntryID: WideString;
    function Get_FormDescription: FormDescription;
    function Get_GetInspector: _Inspector;
    function Get_Importance: OlImportance;
    procedure Set_Importance(Importance: OlImportance);
    function Get_LastModificationTime: TDateTime;
    function Get_MAPIOBJECT: IUnknown;
    function Get_MessageClass: WideString;
    procedure Set_MessageClass(const MessageClass: WideString);
    function Get_Mileage: WideString;
    procedure Set_Mileage(const Mileage: WideString);
    function Get_NoAging: WordBool;
    procedure Set_NoAging(NoAging: WordBool);
    function Get_OutlookInternalVersion: Integer;
    function Get_OutlookVersion: WideString;
    function Get_Saved: WordBool;
    function Get_Sensitivity: OlSensitivity;
    procedure Set_Sensitivity(Sensitivity: OlSensitivity);
    function Get_Size: Integer;
    function Get_Subject: WideString;
    procedure Set_Subject(const Subject: WideString);
    function Get_UnRead: WordBool;
    procedure Set_UnRead(UnRead: WordBool);
    function Get_UserProperties: UserProperties;
    function Get_Links: Links;
    function Get_DownloadState: OlDownloadState;
    function Get_ItemProperties: ItemProperties;
    function Get_MarkForDownload: OlRemoteStatus;
    procedure Set_MarkForDownload(MarkForDownload: OlRemoteStatus);
    function Get_IsConflict: WordBool;
  public
    property DefaultInterface: _TaskRequestUpdateItem read GetDefaultInterface;
  published
    property BillingInformation: WideString read Get_BillingInformation write Set_BillingInformation;
    property Body: WideString read Get_Body write Set_Body;
    property Categories: WideString read Get_Categories write Set_Categories;
    property Companies: WideString read Get_Companies write Set_Companies;
    property Importance: OlImportance read Get_Importance write Set_Importance;
    property MessageClass: WideString read Get_MessageClass write Set_MessageClass;
    property Mileage: WideString read Get_Mileage write Set_Mileage;
    property NoAging: WordBool read Get_NoAging write Set_NoAging;
    property Sensitivity: OlSensitivity read Get_Sensitivity write Set_Sensitivity;
    property Subject: WideString read Get_Subject write Set_Subject;
    property UnRead: WordBool read Get_UnRead write Set_UnRead;
    property MarkForDownload: OlRemoteStatus read Get_MarkForDownload write Set_MarkForDownload;
  end;
{$ENDIF}



// *********************************************************************//
// OLE Control Proxy class declaration
// Control Name     : TDataSourceObject
// Help String      : 
// Default Interface: DDataSourceObject
// Def. Intf. DISP? : Yes
// Event   Interface: 
// TypeFlags        : (50) CanCreate Hidden Control
// *********************************************************************//
  TDataSourceObject = class(TOleControl)
  private
    FIntf: DDataSourceObject;
    function  GetControlInterface: DDataSourceObject;
  protected
    procedure CreateControl;
    procedure InitControlData; override;
    function Get_OutlookItem: IDispatch;
    procedure Set_OutlookItem(const Value: IDispatch);
  public
    property  ControlInterface: DDataSourceObject read GetControlInterface;
    property  DefaultInterface: DDataSourceObject read GetControlInterface;
    property OutlookItem: IDispatch index 64096 read GetIDispatchProp write SetIDispatchProp;
  published
  end;

// *********************************************************************//
// The Class CoResults provides a Create and CreateRemote method to          
// create instances of the default interface _Results exposed by              
// the CoClass Results. The functions are intended to be used by             
// clients wishing to automate the CoClass objects exposed by the         
// server of this typelibrary.                                            
// *********************************************************************//
  CoResults = class
    class function Create: _Results;
    class function CreateRemote(const MachineName: string): _Results;
  end;

  TResultsItemAdd = procedure(ASender: TObject; const Item: IDispatch) of object;
  TResultsItemChange = procedure(ASender: TObject; const Item: IDispatch) of object;


// *********************************************************************//
// OLE Server Proxy class declaration
// Server Object    : TResults
// Help String      : 
// Default Interface: _Results
// Def. Intf. DISP? : No
// Event   Interface: ResultsEvents
// TypeFlags        : (0)
// *********************************************************************//
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  TResultsProperties= class;
{$ENDIF}
  TResults = class(TOleServer)
  private
    FOnItemAdd: TResultsItemAdd;
    FOnItemChange: TResultsItemChange;
    FOnItemRemove: TNotifyEvent;
    FIntf:        _Results;
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
    FProps:       TResultsProperties;
    function      GetServerProperties: TResultsProperties;
{$ENDIF}
    function      GetDefaultInterface: _Results;
  protected
    procedure InitServerData; override;
    procedure InvokeEvent(DispID: TDispID; var Params: TVariantArray); override;
    function Get_Application: _Application;
    function Get_Class_: OlObjectClass;
    function Get_Session: _NameSpace;
    function Get_Parent: IDispatch;
    function Get_Count: Integer;
    function Get_RawTable: IUnknown;
    function Get_DefaultItemType: OlItemType;
    procedure Set_DefaultItemType(DefaultItemType: OlItemType);
  public
    constructor Create(AOwner: TComponent); override;
    destructor  Destroy; override;
    procedure Connect; override;
    procedure ConnectTo(svrIntf: _Results);
    procedure Disconnect; override;
    function Item(Index: OleVariant): IDispatch;
    function GetFirst: IDispatch;
    function GetLast: IDispatch;
    function GetNext: IDispatch;
    function GetPrevious: IDispatch;
    procedure ResetColumns;
    procedure SetColumns(const Columns: WideString);
    procedure Sort(const Property_: WideString); overload;
    procedure Sort(const Property_: WideString; Descending: OleVariant); overload;
    property DefaultInterface: _Results read GetDefaultInterface;
    property Application: _Application read Get_Application;
    property Class_: OlObjectClass read Get_Class_;
    property Session: _NameSpace read Get_Session;
    property Parent: IDispatch read Get_Parent;
    property Count: Integer read Get_Count;
    property RawTable: IUnknown read Get_RawTable;
    property DefaultItemType: OlItemType read Get_DefaultItemType write Set_DefaultItemType;
  published
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
    property Server: TResultsProperties read GetServerProperties;
{$ENDIF}
    property OnItemAdd: TResultsItemAdd read FOnItemAdd write FOnItemAdd;
    property OnItemChange: TResultsItemChange read FOnItemChange write FOnItemChange;
    property OnItemRemove: TNotifyEvent read FOnItemRemove write FOnItemRemove;
  end;

{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
// *********************************************************************//
// OLE Server Properties Proxy Class
// Server Object    : TResults
// (This object is used by the IDE's Property Inspector to allow editing
//  of the properties of this server)
// *********************************************************************//
 TResultsProperties = class(TPersistent)
  private
    FServer:    TResults;
    function    GetDefaultInterface: _Results;
    constructor Create(AServer: TResults);
  protected
    function Get_Application: _Application;
    function Get_Class_: OlObjectClass;
    function Get_Session: _NameSpace;
    function Get_Parent: IDispatch;
    function Get_Count: Integer;
    function Get_RawTable: IUnknown;
    function Get_DefaultItemType: OlItemType;
    procedure Set_DefaultItemType(DefaultItemType: OlItemType);
  public
    property DefaultInterface: _Results read GetDefaultInterface;
  published
    property DefaultItemType: OlItemType read Get_DefaultItemType write Set_DefaultItemType;
  end;
{$ENDIF}


// *********************************************************************//
// The Class CoViews provides a Create and CreateRemote method to          
// create instances of the default interface _Views exposed by              
// the CoClass Views. The functions are intended to be used by             
// clients wishing to automate the CoClass objects exposed by the         
// server of this typelibrary.                                            
// *********************************************************************//
  CoViews = class
    class function Create: _Views;
    class function CreateRemote(const MachineName: string): _Views;
  end;

  TViewsViewAdd = procedure(ASender: TObject; const View: View) of object;
  TViewsViewRemove = procedure(ASender: TObject; const View: View) of object;


// *********************************************************************//
// OLE Server Proxy class declaration
// Server Object    : TViews
// Help String      : 
// Default Interface: _Views
// Def. Intf. DISP? : No
// Event   Interface: _ViewsEvents
// TypeFlags        : (0)
// *********************************************************************//
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  TViewsProperties= class;
{$ENDIF}
  TViews = class(TOleServer)
  private
    FOnViewAdd: TViewsViewAdd;
    FOnViewRemove: TViewsViewRemove;
    FIntf:        _Views;
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
    FProps:       TViewsProperties;
    function      GetServerProperties: TViewsProperties;
{$ENDIF}
    function      GetDefaultInterface: _Views;
  protected
    procedure InitServerData; override;
    procedure InvokeEvent(DispID: TDispID; var Params: TVariantArray); override;
    function Get_Application: _Application;
    function Get_Class_: OlObjectClass;
    function Get_Session: _NameSpace;
    function Get_Parent: IDispatch;
    function Get_Count: Integer;
  public
    constructor Create(AOwner: TComponent); override;
    destructor  Destroy; override;
    procedure Connect; override;
    procedure ConnectTo(svrIntf: _Views);
    procedure Disconnect; override;
    function Item(Index: OleVariant): View;
    function Add(const Name: WideString; ViewType: OlViewType; SaveOption: OlViewSaveOption): View;
    procedure Remove(Index: OleVariant);
    function _NewEnum: IUnknown;
    property DefaultInterface: _Views read GetDefaultInterface;
    property Application: _Application read Get_Application;
    property Class_: OlObjectClass read Get_Class_;
    property Session: _NameSpace read Get_Session;
    property Parent: IDispatch read Get_Parent;
    property Count: Integer read Get_Count;
  published
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
    property Server: TViewsProperties read GetServerProperties;
{$ENDIF}
    property OnViewAdd: TViewsViewAdd read FOnViewAdd write FOnViewAdd;
    property OnViewRemove: TViewsViewRemove read FOnViewRemove write FOnViewRemove;
  end;

{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
// *********************************************************************//
// OLE Server Properties Proxy Class
// Server Object    : TViews
// (This object is used by the IDE's Property Inspector to allow editing
//  of the properties of this server)
// *********************************************************************//
 TViewsProperties = class(TPersistent)
  private
    FServer:    TViews;
    function    GetDefaultInterface: _Views;
    constructor Create(AServer: TViews);
  protected
    function Get_Application: _Application;
    function Get_Class_: OlObjectClass;
    function Get_Session: _NameSpace;
    function Get_Parent: IDispatch;
    function Get_Count: Integer;
  public
    property DefaultInterface: _Views read GetDefaultInterface;
  published
  end;
{$ENDIF}


// *********************************************************************//
// The Class CoReminder provides a Create and CreateRemote method to          
// create instances of the default interface _Reminder exposed by              
// the CoClass Reminder. The functions are intended to be used by             
// clients wishing to automate the CoClass objects exposed by the         
// server of this typelibrary.                                            
// *********************************************************************//
  CoReminder = class
    class function Create: _Reminder;
    class function CreateRemote(const MachineName: string): _Reminder;
  end;


// *********************************************************************//
// OLE Server Proxy class declaration
// Server Object    : TReminder
// Help String      : 
// Default Interface: _Reminder
// Def. Intf. DISP? : No
// Event   Interface: 
// TypeFlags        : (0)
// *********************************************************************//
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  TReminderProperties= class;
{$ENDIF}
  TReminder = class(TOleServer)
  private
    FIntf:        _Reminder;
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
    FProps:       TReminderProperties;
    function      GetServerProperties: TReminderProperties;
{$ENDIF}
    function      GetDefaultInterface: _Reminder;
  protected
    procedure InitServerData; override;
    function Get_Application: _Application;
    function Get_Class_: OlObjectClass;
    function Get_Session: _NameSpace;
    function Get_Parent: IDispatch;
    function Get_Caption: WideString;
    function Get_IsVisible: WordBool;
    function Get_Item: IDispatch;
    function Get_NextReminderDate: TDateTime;
    function Get_OriginalReminderDate: TDateTime;
  public
    constructor Create(AOwner: TComponent); override;
    destructor  Destroy; override;
    procedure Connect; override;
    procedure ConnectTo(svrIntf: _Reminder);
    procedure Disconnect; override;
    procedure Dismiss;
    procedure Snooze; overload;
    procedure Snooze(SnoozeTime: OleVariant); overload;
    property DefaultInterface: _Reminder read GetDefaultInterface;
    property Application: _Application read Get_Application;
    property Class_: OlObjectClass read Get_Class_;
    property Session: _NameSpace read Get_Session;
    property Parent: IDispatch read Get_Parent;
    property Caption: WideString read Get_Caption;
    property IsVisible: WordBool read Get_IsVisible;
    property Item: IDispatch read Get_Item;
    property NextReminderDate: TDateTime read Get_NextReminderDate;
    property OriginalReminderDate: TDateTime read Get_OriginalReminderDate;
  published
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
    property Server: TReminderProperties read GetServerProperties;
{$ENDIF}
  end;

{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
// *********************************************************************//
// OLE Server Properties Proxy Class
// Server Object    : TReminder
// (This object is used by the IDE's Property Inspector to allow editing
//  of the properties of this server)
// *********************************************************************//
 TReminderProperties = class(TPersistent)
  private
    FServer:    TReminder;
    function    GetDefaultInterface: _Reminder;
    constructor Create(AServer: TReminder);
  protected
    function Get_Application: _Application;
    function Get_Class_: OlObjectClass;
    function Get_Session: _NameSpace;
    function Get_Parent: IDispatch;
    function Get_Caption: WideString;
    function Get_IsVisible: WordBool;
    function Get_Item: IDispatch;
    function Get_NextReminderDate: TDateTime;
    function Get_OriginalReminderDate: TDateTime;
  public
    property DefaultInterface: _Reminder read GetDefaultInterface;
  published
  end;
{$ENDIF}


// *********************************************************************//
// The Class CoReminders provides a Create and CreateRemote method to          
// create instances of the default interface _Reminders exposed by              
// the CoClass Reminders. The functions are intended to be used by             
// clients wishing to automate the CoClass objects exposed by the         
// server of this typelibrary.                                            
// *********************************************************************//
  CoReminders = class
    class function Create: _Reminders;
    class function CreateRemote(const MachineName: string): _Reminders;
  end;

  TRemindersBeforeReminderShow = procedure(ASender: TObject; var Cancel: WordBool) of object;
  TRemindersReminderAdd = procedure(ASender: TObject; const ReminderObject: _Reminder) of object;
  TRemindersReminderChange = procedure(ASender: TObject; const ReminderObject: _Reminder) of object;
  TRemindersReminderFire = procedure(ASender: TObject; const ReminderObject: _Reminder) of object;
  TRemindersSnooze = procedure(ASender: TObject; const ReminderObject: _Reminder) of object;


// *********************************************************************//
// OLE Server Proxy class declaration
// Server Object    : TReminders
// Help String      : 
// Default Interface: _Reminders
// Def. Intf. DISP? : No
// Event   Interface: ReminderCollectionEvents
// TypeFlags        : (0)
// *********************************************************************//
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  TRemindersProperties= class;
{$ENDIF}
  TReminders = class(TOleServer)
  private
    FOnBeforeReminderShow: TRemindersBeforeReminderShow;
    FOnReminderAdd: TRemindersReminderAdd;
    FOnReminderChange: TRemindersReminderChange;
    FOnReminderFire: TRemindersReminderFire;
    FOnReminderRemove: TNotifyEvent;
    FOnSnooze: TRemindersSnooze;
    FIntf:        _Reminders;
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
    FProps:       TRemindersProperties;
    function      GetServerProperties: TRemindersProperties;
{$ENDIF}
    function      GetDefaultInterface: _Reminders;
  protected
    procedure InitServerData; override;
    procedure InvokeEvent(DispID: TDispID; var Params: TVariantArray); override;
    function Get_Application: _Application;
    function Get_Class_: OlObjectClass;
    function Get_Session: _NameSpace;
    function Get_Parent: IDispatch;
    function Get_Count: Integer;
  public
    constructor Create(AOwner: TComponent); override;
    destructor  Destroy; override;
    procedure Connect; override;
    procedure ConnectTo(svrIntf: _Reminders);
    procedure Disconnect; override;
    function Item(Index: OleVariant): _Reminder;
    procedure Remove(Index: OleVariant);
    function _NewEnum: IUnknown;
    property DefaultInterface: _Reminders read GetDefaultInterface;
    property Application: _Application read Get_Application;
    property Class_: OlObjectClass read Get_Class_;
    property Session: _NameSpace read Get_Session;
    property Parent: IDispatch read Get_Parent;
    property Count: Integer read Get_Count;
  published
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
    property Server: TRemindersProperties read GetServerProperties;
{$ENDIF}
    property OnBeforeReminderShow: TRemindersBeforeReminderShow read FOnBeforeReminderShow write FOnBeforeReminderShow;
    property OnReminderAdd: TRemindersReminderAdd read FOnReminderAdd write FOnReminderAdd;
    property OnReminderChange: TRemindersReminderChange read FOnReminderChange write FOnReminderChange;
    property OnReminderFire: TRemindersReminderFire read FOnReminderFire write FOnReminderFire;
    property OnReminderRemove: TNotifyEvent read FOnReminderRemove write FOnReminderRemove;
    property OnSnooze: TRemindersSnooze read FOnSnooze write FOnSnooze;
  end;

{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
// *********************************************************************//
// OLE Server Properties Proxy Class
// Server Object    : TReminders
// (This object is used by the IDE's Property Inspector to allow editing
//  of the properties of this server)
// *********************************************************************//
 TRemindersProperties = class(TPersistent)
  private
    FServer:    TReminders;
    function    GetDefaultInterface: _Reminders;
    constructor Create(AServer: TReminders);
  protected
    function Get_Application: _Application;
    function Get_Class_: OlObjectClass;
    function Get_Session: _NameSpace;
    function Get_Parent: IDispatch;
    function Get_Count: Integer;
  public
    property DefaultInterface: _Reminders read GetDefaultInterface;
  published
  end;
{$ENDIF}


implementation

uses ComObj;

class function CoSyncObject.Create: _SyncObject;
begin
  Result := CreateComObject(CLASS_SyncObject) as _SyncObject;
end;

class function CoSyncObject.CreateRemote(const MachineName: string): _SyncObject;
begin
  Result := CreateRemoteComObject(MachineName, CLASS_SyncObject) as _SyncObject;
end;

procedure TSyncObject.InitServerData;
const
  CServerData: TServerData = (
    ClassID:   '{00063084-0000-0000-C000-000000000046}';
    IntfIID:   '{00063083-0000-0000-C000-000000000046}';
    EventIID:  '{00063085-0000-0000-C000-000000000046}';
    LicenseKey: nil;
    Version: 500);
begin
  ServerData := @CServerData;
end;

procedure TSyncObject.Connect;
var
  punk: IUnknown;
begin
  if FIntf = nil then
  begin
    punk := GetServer;
    ConnectEvents(punk);
    Fintf:= punk as _SyncObject;
  end;
end;

procedure TSyncObject.ConnectTo(svrIntf: _SyncObject);
begin
  Disconnect;
  FIntf := svrIntf;
  ConnectEvents(FIntf);
end;

procedure TSyncObject.DisConnect;
begin
  if Fintf <> nil then
  begin
    DisconnectEvents(FIntf);
    FIntf := nil;
  end;
end;

function TSyncObject.GetDefaultInterface: _SyncObject;
begin
  if FIntf = nil then
    Connect;
  Assert(FIntf <> nil, 'DefaultInterface is NULL. Component is not connected to Server. You must call ''Connect'' or ''ConnectTo'' before this operation');
  Result := FIntf;
end;

constructor TSyncObject.Create(AOwner: TComponent);
begin
  inherited Create(AOwner);
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  FProps := TSyncObjectProperties.Create(Self);
{$ENDIF}
end;

destructor TSyncObject.Destroy;
begin
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  FProps.Free;
{$ENDIF}
  inherited Destroy;
end;

{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
function TSyncObject.GetServerProperties: TSyncObjectProperties;
begin
  Result := FProps;
end;
{$ENDIF}

procedure TSyncObject.InvokeEvent(DispID: TDispID; var Params: TVariantArray);
begin
  case DispID of
    -1: Exit;  // DISPID_UNKNOWN
    61441: if Assigned(FOnSyncStart) then
         FOnSyncStart(Self);
    61442: if Assigned(FOnProgress) then
         FOnProgress(Self,
                     Params[0] {OlSyncState},
                     Params[1] {const WideString},
                     Params[2] {Integer},
                     Params[3] {Integer});
    61443: if Assigned(FOnError) then
         FOnError(Self,
                  Params[0] {Integer},
                  Params[1] {const WideString});
    61444: if Assigned(FOnSyncEnd) then
         FOnSyncEnd(Self);
  end; {case DispID}
end;

function TSyncObject.Get_Application: _Application;
begin
    Result := DefaultInterface.Application;
end;

function TSyncObject.Get_Class_: OlObjectClass;
begin
    Result := DefaultInterface.Class_;
end;

function TSyncObject.Get_Session: _NameSpace;
begin
    Result := DefaultInterface.Session;
end;

function TSyncObject.Get_Parent: IDispatch;
begin
    Result := DefaultInterface.Parent;
end;

function TSyncObject.Get_Name: WideString;
begin
    Result := DefaultInterface.Name;
end;

procedure TSyncObject.Start;
begin
  DefaultInterface.Start;
end;

procedure TSyncObject.Stop;
begin
  DefaultInterface.Stop;
end;

{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
constructor TSyncObjectProperties.Create(AServer: TSyncObject);
begin
  inherited Create;
  FServer := AServer;
end;

function TSyncObjectProperties.GetDefaultInterface: _SyncObject;
begin
  Result := FServer.DefaultInterface;
end;

function TSyncObjectProperties.Get_Application: _Application;
begin
    Result := DefaultInterface.Application;
end;

function TSyncObjectProperties.Get_Class_: OlObjectClass;
begin
    Result := DefaultInterface.Class_;
end;

function TSyncObjectProperties.Get_Session: _NameSpace;
begin
    Result := DefaultInterface.Session;
end;

function TSyncObjectProperties.Get_Parent: IDispatch;
begin
    Result := DefaultInterface.Parent;
end;

function TSyncObjectProperties.Get_Name: WideString;
begin
    Result := DefaultInterface.Name;
end;

{$ENDIF}

class function CoExplorer.Create: _Explorer;
begin
  Result := CreateComObject(CLASS_Explorer) as _Explorer;
end;

class function CoExplorer.CreateRemote(const MachineName: string): _Explorer;
begin
  Result := CreateRemoteComObject(MachineName, CLASS_Explorer) as _Explorer;
end;

procedure TExplorer.InitServerData;
const
  CServerData: TServerData = (
    ClassID:   '{00063050-0000-0000-C000-000000000046}';
    IntfIID:   '{00063003-0000-0000-C000-000000000046}';
    EventIID:  '{0006300F-0000-0000-C000-000000000046}';
    LicenseKey: nil;
    Version: 500);
begin
  ServerData := @CServerData;
end;

procedure TExplorer.Connect;
var
  punk: IUnknown;
begin
  if FIntf = nil then
  begin
    punk := GetServer;
    ConnectEvents(punk);
    Fintf:= punk as _Explorer;
  end;
end;

procedure TExplorer.ConnectTo(svrIntf: _Explorer);
begin
  Disconnect;
  FIntf := svrIntf;
  ConnectEvents(FIntf);
end;

procedure TExplorer.DisConnect;
begin
  if Fintf <> nil then
  begin
    DisconnectEvents(FIntf);
    FIntf := nil;
  end;
end;

function TExplorer.GetDefaultInterface: _Explorer;
begin
  if FIntf = nil then
    Connect;
  Assert(FIntf <> nil, 'DefaultInterface is NULL. Component is not connected to Server. You must call ''Connect'' or ''ConnectTo'' before this operation');
  Result := FIntf;
end;

constructor TExplorer.Create(AOwner: TComponent);
begin
  inherited Create(AOwner);
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  FProps := TExplorerProperties.Create(Self);
{$ENDIF}
end;

destructor TExplorer.Destroy;
begin
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  FProps.Free;
{$ENDIF}
  inherited Destroy;
end;

{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
function TExplorer.GetServerProperties: TExplorerProperties;
begin
  Result := FProps;
end;
{$ENDIF}

procedure TExplorer.InvokeEvent(DispID: TDispID; var Params: TVariantArray);
begin
  case DispID of
    -1: Exit;  // DISPID_UNKNOWN
    61441: if Assigned(FOnActivate) then
         FOnActivate(Self);
    61442: if Assigned(FOnFolderSwitch) then
         FOnFolderSwitch(Self);
    61443: if Assigned(FOnBeforeFolderSwitch) then
         FOnBeforeFolderSwitch(Self,
                               Params[0] {const IDispatch},
                               WordBool((TVarData(Params[1]).VPointer)^) {var WordBool});
    61444: if Assigned(FOnViewSwitch) then
         FOnViewSwitch(Self);
    61445: if Assigned(FOnBeforeViewSwitch) then
         FOnBeforeViewSwitch(Self,
                             Params[0] {OleVariant},
                             WordBool((TVarData(Params[1]).VPointer)^) {var WordBool});
    61446: if Assigned(FOnDeactivate) then
         FOnDeactivate(Self);
    61447: if Assigned(FOnSelectionChange) then
         FOnSelectionChange(Self);
    61448: if Assigned(FOnClose) then
         FOnClose(Self);
    64017: if Assigned(FOnBeforeMaximize) then
         FOnBeforeMaximize(Self, WordBool((TVarData(Params[0]).VPointer)^) {var WordBool});
    64018: if Assigned(FOnBeforeMinimize) then
         FOnBeforeMinimize(Self, WordBool((TVarData(Params[0]).VPointer)^) {var WordBool});
    64019: if Assigned(FOnBeforeMove) then
         FOnBeforeMove(Self, WordBool((TVarData(Params[0]).VPointer)^) {var WordBool});
    64020: if Assigned(FOnBeforeSize) then
         FOnBeforeSize(Self, WordBool((TVarData(Params[0]).VPointer)^) {var WordBool});
    64014: if Assigned(FOnBeforeItemCopy) then
         FOnBeforeItemCopy(Self, WordBool((TVarData(Params[0]).VPointer)^) {var WordBool});
    64015: if Assigned(FOnBeforeItemCut) then
         FOnBeforeItemCut(Self, WordBool((TVarData(Params[0]).VPointer)^) {var WordBool});
    64016: if Assigned(FOnBeforeItemPaste) then
         FOnBeforeItemPaste(Self,
                            OleVariant((TVarData(Params[0]).VPointer)^) {var OleVariant},
                            IUnknown(TVarData(Params[1]).VPointer) as MAPIFolder {const MAPIFolder},
                            WordBool((TVarData(Params[2]).VPointer)^) {var WordBool});
  end; {case DispID}
end;

function TExplorer.Get_Application: _Application;
begin
    Result := DefaultInterface.Application;
end;

function TExplorer.Get_Class_: OlObjectClass;
begin
    Result := DefaultInterface.Class_;
end;

function TExplorer.Get_Session: _NameSpace;
begin
    Result := DefaultInterface.Session;
end;

function TExplorer.Get_Parent: IDispatch;
begin
    Result := DefaultInterface.Parent;
end;

function TExplorer.Get_CommandBars: CommandBars;
begin
    Result := DefaultInterface.CommandBars;
end;

function TExplorer.Get_CurrentFolder: MAPIFolder;
begin
    Result := DefaultInterface.CurrentFolder;
end;

procedure TExplorer._Set_CurrentFolder(const CurrentFolder: MAPIFolder);
  { Warning: The property CurrentFolder has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.CurrentFolder := CurrentFolder;
end;

function TExplorer.Get_Caption: WideString;
begin
    Result := DefaultInterface.Caption;
end;

function TExplorer.Get_CurrentView: OleVariant;
var
  InterfaceVariant : OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  Result := InterfaceVariant.CurrentView;
end;

procedure TExplorer.Set_CurrentView(CurrentView: OleVariant);
begin
  DefaultInterface.Set_CurrentView(CurrentView);
end;

function TExplorer.Get_Height: Integer;
begin
    Result := DefaultInterface.Height;
end;

procedure TExplorer.Set_Height(Height: Integer);
begin
  DefaultInterface.Set_Height(Height);
end;

function TExplorer.Get_Left: Integer;
begin
    Result := DefaultInterface.Left;
end;

procedure TExplorer.Set_Left(Left: Integer);
begin
  DefaultInterface.Set_Left(Left);
end;

function TExplorer.Get_Panes: Panes;
begin
    Result := DefaultInterface.Panes;
end;

function TExplorer.Get_Selection: Selection;
begin
    Result := DefaultInterface.Selection;
end;

function TExplorer.Get_Top: Integer;
begin
    Result := DefaultInterface.Top;
end;

procedure TExplorer.Set_Top(Top: Integer);
begin
  DefaultInterface.Set_Top(Top);
end;

function TExplorer.Get_Width: Integer;
begin
    Result := DefaultInterface.Width;
end;

procedure TExplorer.Set_Width(Width: Integer);
begin
  DefaultInterface.Set_Width(Width);
end;

function TExplorer.Get_WindowState: OlWindowState;
begin
    Result := DefaultInterface.WindowState;
end;

procedure TExplorer.Set_WindowState(WindowState: OlWindowState);
begin
  DefaultInterface.Set_WindowState(WindowState);
end;

function TExplorer.Get_Views: IDispatch;
begin
    Result := DefaultInterface.Views;
end;

function TExplorer.Get_HTMLDocument: IDispatch;
begin
    Result := DefaultInterface.HTMLDocument;
end;

procedure TExplorer.Close;
begin
  DefaultInterface.Close;
end;

procedure TExplorer.Display;
begin
  DefaultInterface.Display;
end;

procedure TExplorer.Activate;
begin
  DefaultInterface.Activate;
end;

function TExplorer.IsPaneVisible(Pane: OlPane): WordBool;
begin
  Result := DefaultInterface.IsPaneVisible(Pane);
end;

procedure TExplorer.ShowPane(Pane: OlPane; Visible: WordBool);
begin
  DefaultInterface.ShowPane(Pane, Visible);
end;

{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
constructor TExplorerProperties.Create(AServer: TExplorer);
begin
  inherited Create;
  FServer := AServer;
end;

function TExplorerProperties.GetDefaultInterface: _Explorer;
begin
  Result := FServer.DefaultInterface;
end;

function TExplorerProperties.Get_Application: _Application;
begin
    Result := DefaultInterface.Application;
end;

function TExplorerProperties.Get_Class_: OlObjectClass;
begin
    Result := DefaultInterface.Class_;
end;

function TExplorerProperties.Get_Session: _NameSpace;
begin
    Result := DefaultInterface.Session;
end;

function TExplorerProperties.Get_Parent: IDispatch;
begin
    Result := DefaultInterface.Parent;
end;

function TExplorerProperties.Get_CommandBars: CommandBars;
begin
    Result := DefaultInterface.CommandBars;
end;

function TExplorerProperties.Get_CurrentFolder: MAPIFolder;
begin
    Result := DefaultInterface.CurrentFolder;
end;

procedure TExplorerProperties._Set_CurrentFolder(const CurrentFolder: MAPIFolder);
  { Warning: The property CurrentFolder has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.CurrentFolder := CurrentFolder;
end;

function TExplorerProperties.Get_Caption: WideString;
begin
    Result := DefaultInterface.Caption;
end;

function TExplorerProperties.Get_CurrentView: OleVariant;
var
  InterfaceVariant : OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  Result := InterfaceVariant.CurrentView;
end;

procedure TExplorerProperties.Set_CurrentView(CurrentView: OleVariant);
begin
  DefaultInterface.Set_CurrentView(CurrentView);
end;

function TExplorerProperties.Get_Height: Integer;
begin
    Result := DefaultInterface.Height;
end;

procedure TExplorerProperties.Set_Height(Height: Integer);
begin
  DefaultInterface.Set_Height(Height);
end;

function TExplorerProperties.Get_Left: Integer;
begin
    Result := DefaultInterface.Left;
end;

procedure TExplorerProperties.Set_Left(Left: Integer);
begin
  DefaultInterface.Set_Left(Left);
end;

function TExplorerProperties.Get_Panes: Panes;
begin
    Result := DefaultInterface.Panes;
end;

function TExplorerProperties.Get_Selection: Selection;
begin
    Result := DefaultInterface.Selection;
end;

function TExplorerProperties.Get_Top: Integer;
begin
    Result := DefaultInterface.Top;
end;

procedure TExplorerProperties.Set_Top(Top: Integer);
begin
  DefaultInterface.Set_Top(Top);
end;

function TExplorerProperties.Get_Width: Integer;
begin
    Result := DefaultInterface.Width;
end;

procedure TExplorerProperties.Set_Width(Width: Integer);
begin
  DefaultInterface.Set_Width(Width);
end;

function TExplorerProperties.Get_WindowState: OlWindowState;
begin
    Result := DefaultInterface.WindowState;
end;

procedure TExplorerProperties.Set_WindowState(WindowState: OlWindowState);
begin
  DefaultInterface.Set_WindowState(WindowState);
end;

function TExplorerProperties.Get_Views: IDispatch;
begin
    Result := DefaultInterface.Views;
end;

function TExplorerProperties.Get_HTMLDocument: IDispatch;
begin
    Result := DefaultInterface.HTMLDocument;
end;

{$ENDIF}

class function CoInspector.Create: _Inspector;
begin
  Result := CreateComObject(CLASS_Inspector) as _Inspector;
end;

class function CoInspector.CreateRemote(const MachineName: string): _Inspector;
begin
  Result := CreateRemoteComObject(MachineName, CLASS_Inspector) as _Inspector;
end;

procedure TInspector.InitServerData;
const
  CServerData: TServerData = (
    ClassID:   '{00063058-0000-0000-C000-000000000046}';
    IntfIID:   '{00063005-0000-0000-C000-000000000046}';
    EventIID:  '{0006302A-0000-0000-C000-000000000046}';
    LicenseKey: nil;
    Version: 500);
begin
  ServerData := @CServerData;
end;

procedure TInspector.Connect;
var
  punk: IUnknown;
begin
  if FIntf = nil then
  begin
    punk := GetServer;
    ConnectEvents(punk);
    Fintf:= punk as _Inspector;
  end;
end;

procedure TInspector.ConnectTo(svrIntf: _Inspector);
begin
  Disconnect;
  FIntf := svrIntf;
  ConnectEvents(FIntf);
end;

procedure TInspector.DisConnect;
begin
  if Fintf <> nil then
  begin
    DisconnectEvents(FIntf);
    FIntf := nil;
  end;
end;

function TInspector.GetDefaultInterface: _Inspector;
begin
  if FIntf = nil then
    Connect;
  Assert(FIntf <> nil, 'DefaultInterface is NULL. Component is not connected to Server. You must call ''Connect'' or ''ConnectTo'' before this operation');
  Result := FIntf;
end;

constructor TInspector.Create(AOwner: TComponent);
begin
  inherited Create(AOwner);
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  FProps := TInspectorProperties.Create(Self);
{$ENDIF}
end;

destructor TInspector.Destroy;
begin
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  FProps.Free;
{$ENDIF}
  inherited Destroy;
end;

{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
function TInspector.GetServerProperties: TInspectorProperties;
begin
  Result := FProps;
end;
{$ENDIF}

procedure TInspector.InvokeEvent(DispID: TDispID; var Params: TVariantArray);
begin
  case DispID of
    -1: Exit;  // DISPID_UNKNOWN
    61441: if Assigned(FOnActivate) then
         FOnActivate(Self);
    61446: if Assigned(FOnDeactivate) then
         FOnDeactivate(Self);
    61448: if Assigned(FOnClose) then
         FOnClose(Self);
    64017: if Assigned(FOnBeforeMaximize) then
         FOnBeforeMaximize(Self, WordBool((TVarData(Params[0]).VPointer)^) {var WordBool});
    64018: if Assigned(FOnBeforeMinimize) then
         FOnBeforeMinimize(Self, WordBool((TVarData(Params[0]).VPointer)^) {var WordBool});
    64019: if Assigned(FOnBeforeMove) then
         FOnBeforeMove(Self, WordBool((TVarData(Params[0]).VPointer)^) {var WordBool});
    64020: if Assigned(FOnBeforeSize) then
         FOnBeforeSize(Self, WordBool((TVarData(Params[0]).VPointer)^) {var WordBool});
  end; {case DispID}
end;

function TInspector.Get_Application: _Application;
begin
    Result := DefaultInterface.Application;
end;

function TInspector.Get_Class_: OlObjectClass;
begin
    Result := DefaultInterface.Class_;
end;

function TInspector.Get_Session: _NameSpace;
begin
    Result := DefaultInterface.Session;
end;

function TInspector.Get_Parent: IDispatch;
begin
    Result := DefaultInterface.Parent;
end;

function TInspector.Get_CommandBars: CommandBars;
begin
    Result := DefaultInterface.CommandBars;
end;

function TInspector.Get_CurrentItem: IDispatch;
begin
    Result := DefaultInterface.CurrentItem;
end;

function TInspector.Get_EditorType: OlEditorType;
begin
    Result := DefaultInterface.EditorType;
end;

function TInspector.Get_ModifiedFormPages: IDispatch;
begin
    Result := DefaultInterface.ModifiedFormPages;
end;

function TInspector.Get_HTMLEditor: IDispatch;
begin
    Result := DefaultInterface.HTMLEditor;
end;

function TInspector.Get_WordEditor: IDispatch;
begin
    Result := DefaultInterface.WordEditor;
end;

function TInspector.Get_Caption: WideString;
begin
    Result := DefaultInterface.Caption;
end;

function TInspector.Get_Height: Integer;
begin
    Result := DefaultInterface.Height;
end;

procedure TInspector.Set_Height(Height: Integer);
begin
  DefaultInterface.Set_Height(Height);
end;

function TInspector.Get_Left: Integer;
begin
    Result := DefaultInterface.Left;
end;

procedure TInspector.Set_Left(Left: Integer);
begin
  DefaultInterface.Set_Left(Left);
end;

function TInspector.Get_Top: Integer;
begin
    Result := DefaultInterface.Top;
end;

procedure TInspector.Set_Top(Top: Integer);
begin
  DefaultInterface.Set_Top(Top);
end;

function TInspector.Get_Width: Integer;
begin
    Result := DefaultInterface.Width;
end;

procedure TInspector.Set_Width(Width: Integer);
begin
  DefaultInterface.Set_Width(Width);
end;

function TInspector.Get_WindowState: OlWindowState;
begin
    Result := DefaultInterface.WindowState;
end;

procedure TInspector.Set_WindowState(WindowState: OlWindowState);
begin
  DefaultInterface.Set_WindowState(WindowState);
end;

procedure TInspector.Close(SaveMode: OlInspectorClose);
begin
  DefaultInterface.Close(SaveMode);
end;

procedure TInspector.Display;
begin
  DefaultInterface.Display(EmptyParam);
end;

procedure TInspector.Display(Modal: OleVariant);
begin
  DefaultInterface.Display(Modal);
end;

procedure TInspector.HideFormPage(const PageName: WideString);
begin
  DefaultInterface.HideFormPage(PageName);
end;

function TInspector.IsWordMail: WordBool;
begin
  Result := DefaultInterface.IsWordMail;
end;

procedure TInspector.SetCurrentFormPage(const PageName: WideString);
begin
  DefaultInterface.SetCurrentFormPage(PageName);
end;

procedure TInspector.ShowFormPage(const PageName: WideString);
begin
  DefaultInterface.ShowFormPage(PageName);
end;

procedure TInspector.Activate;
begin
  DefaultInterface.Activate;
end;

{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
constructor TInspectorProperties.Create(AServer: TInspector);
begin
  inherited Create;
  FServer := AServer;
end;

function TInspectorProperties.GetDefaultInterface: _Inspector;
begin
  Result := FServer.DefaultInterface;
end;

function TInspectorProperties.Get_Application: _Application;
begin
    Result := DefaultInterface.Application;
end;

function TInspectorProperties.Get_Class_: OlObjectClass;
begin
    Result := DefaultInterface.Class_;
end;

function TInspectorProperties.Get_Session: _NameSpace;
begin
    Result := DefaultInterface.Session;
end;

function TInspectorProperties.Get_Parent: IDispatch;
begin
    Result := DefaultInterface.Parent;
end;

function TInspectorProperties.Get_CommandBars: CommandBars;
begin
    Result := DefaultInterface.CommandBars;
end;

function TInspectorProperties.Get_CurrentItem: IDispatch;
begin
    Result := DefaultInterface.CurrentItem;
end;

function TInspectorProperties.Get_EditorType: OlEditorType;
begin
    Result := DefaultInterface.EditorType;
end;

function TInspectorProperties.Get_ModifiedFormPages: IDispatch;
begin
    Result := DefaultInterface.ModifiedFormPages;
end;

function TInspectorProperties.Get_HTMLEditor: IDispatch;
begin
    Result := DefaultInterface.HTMLEditor;
end;

function TInspectorProperties.Get_WordEditor: IDispatch;
begin
    Result := DefaultInterface.WordEditor;
end;

function TInspectorProperties.Get_Caption: WideString;
begin
    Result := DefaultInterface.Caption;
end;

function TInspectorProperties.Get_Height: Integer;
begin
    Result := DefaultInterface.Height;
end;

procedure TInspectorProperties.Set_Height(Height: Integer);
begin
  DefaultInterface.Set_Height(Height);
end;

function TInspectorProperties.Get_Left: Integer;
begin
    Result := DefaultInterface.Left;
end;

procedure TInspectorProperties.Set_Left(Left: Integer);
begin
  DefaultInterface.Set_Left(Left);
end;

function TInspectorProperties.Get_Top: Integer;
begin
    Result := DefaultInterface.Top;
end;

procedure TInspectorProperties.Set_Top(Top: Integer);
begin
  DefaultInterface.Set_Top(Top);
end;

function TInspectorProperties.Get_Width: Integer;
begin
    Result := DefaultInterface.Width;
end;

procedure TInspectorProperties.Set_Width(Width: Integer);
begin
  DefaultInterface.Set_Width(Width);
end;

function TInspectorProperties.Get_WindowState: OlWindowState;
begin
    Result := DefaultInterface.WindowState;
end;

procedure TInspectorProperties.Set_WindowState(WindowState: OlWindowState);
begin
  DefaultInterface.Set_WindowState(WindowState);
end;

{$ENDIF}

class function CoMailItem.Create: _MailItem;
begin
  Result := CreateComObject(CLASS_MailItem) as _MailItem;
end;

class function CoMailItem.CreateRemote(const MachineName: string): _MailItem;
begin
  Result := CreateRemoteComObject(MachineName, CLASS_MailItem) as _MailItem;
end;

procedure TMailItem.InitServerData;
const
  CServerData: TServerData = (
    ClassID:   '{00061033-0000-0000-C000-000000000046}';
    IntfIID:   '{00063034-0000-0000-C000-000000000046}';
    EventIID:  '{0006302B-0000-0000-C000-000000000046}';
    LicenseKey: nil;
    Version: 500);
begin
  ServerData := @CServerData;
end;

procedure TMailItem.Connect;
var
  punk: IUnknown;
begin
  if FIntf = nil then
  begin
    punk := GetServer;
    ConnectEvents(punk);
    Fintf:= punk as _MailItem;
  end;
end;

procedure TMailItem.ConnectTo(svrIntf: _MailItem);
begin
  Disconnect;
  FIntf := svrIntf;
  ConnectEvents(FIntf);
end;

procedure TMailItem.DisConnect;
begin
  if Fintf <> nil then
  begin
    DisconnectEvents(FIntf);
    FIntf := nil;
  end;
end;

function TMailItem.GetDefaultInterface: _MailItem;
begin
  if FIntf = nil then
    Connect;
  Assert(FIntf <> nil, 'DefaultInterface is NULL. Component is not connected to Server. You must call ''Connect'' or ''ConnectTo'' before this operation');
  Result := FIntf;
end;

constructor TMailItem.Create(AOwner: TComponent);
begin
  inherited Create(AOwner);
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  FProps := TMailItemProperties.Create(Self);
{$ENDIF}
end;

destructor TMailItem.Destroy;
begin
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  FProps.Free;
{$ENDIF}
  inherited Destroy;
end;

{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
function TMailItem.GetServerProperties: TMailItemProperties;
begin
  Result := FProps;
end;
{$ENDIF}

procedure TMailItem.InvokeEvent(DispID: TDispID; var Params: TVariantArray);
begin
  case DispID of
    -1: Exit;  // DISPID_UNKNOWN
    61443: if Assigned(FOnOpen) then
         FOnOpen(Self, WordBool((TVarData(Params[0]).VPointer)^) {var WordBool});
    61446: if Assigned(FOnCustomAction) then
         FOnCustomAction(Self,
                         Params[0] {const IDispatch},
                         Params[1] {const IDispatch},
                         WordBool((TVarData(Params[2]).VPointer)^) {var WordBool});
    61448: if Assigned(FOnCustomPropertyChange) then
         FOnCustomPropertyChange(Self, Params[0] {const WideString});
    62568: if Assigned(FOnForward) then
         FOnForward(Self,
                    Params[0] {const IDispatch},
                    WordBool((TVarData(Params[1]).VPointer)^) {var WordBool});
    61444: if Assigned(FOnClose) then
         FOnClose(Self, WordBool((TVarData(Params[0]).VPointer)^) {var WordBool});
    61449: if Assigned(FOnPropertyChange) then
         FOnPropertyChange(Self, Params[0] {const WideString});
    61441: if Assigned(FOnRead) then
         FOnRead(Self);
    62566: if Assigned(FOnReply) then
         FOnReply(Self,
                  Params[0] {const IDispatch},
                  WordBool((TVarData(Params[1]).VPointer)^) {var WordBool});
    62567: if Assigned(FOnReplyAll) then
         FOnReplyAll(Self,
                     Params[0] {const IDispatch},
                     WordBool((TVarData(Params[1]).VPointer)^) {var WordBool});
    61445: if Assigned(FOnSend) then
         FOnSend(Self, WordBool((TVarData(Params[0]).VPointer)^) {var WordBool});
    61442: if Assigned(FOnWrite) then
         FOnWrite(Self, WordBool((TVarData(Params[0]).VPointer)^) {var WordBool});
    61450: if Assigned(FOnBeforeCheckNames) then
         FOnBeforeCheckNames(Self, WordBool((TVarData(Params[0]).VPointer)^) {var WordBool});
    61451: if Assigned(FOnAttachmentAdd) then
         FOnAttachmentAdd(Self, IUnknown(TVarData(Params[0]).VPointer) as Attachment {const Attachment});
    61452: if Assigned(FOnAttachmentRead) then
         FOnAttachmentRead(Self, IUnknown(TVarData(Params[0]).VPointer) as Attachment {const Attachment});
    61453: if Assigned(FOnBeforeAttachmentSave) then
         FOnBeforeAttachmentSave(Self,
                                 IUnknown(TVarData(Params[0]).VPointer) as Attachment {const Attachment},
                                 WordBool((TVarData(Params[1]).VPointer)^) {var WordBool});
    64117: if Assigned(FOnBeforeDelete) then
         FOnBeforeDelete(Self,
                         Params[0] {const IDispatch},
                         WordBool((TVarData(Params[1]).VPointer)^) {var WordBool});
  end; {case DispID}
end;

function TMailItem.Get_Application: _Application;
begin
    Result := DefaultInterface.Application;
end;

function TMailItem.Get_Class_: OlObjectClass;
begin
    Result := DefaultInterface.Class_;
end;

function TMailItem.Get_Session: _NameSpace;
begin
    Result := DefaultInterface.Session;
end;

function TMailItem.Get_Parent: IDispatch;
begin
    Result := DefaultInterface.Parent;
end;

function TMailItem.Get_Actions: Actions;
begin
    Result := DefaultInterface.Actions;
end;

function TMailItem.Get_Attachments: Attachments;
begin
    Result := DefaultInterface.Attachments;
end;

function TMailItem.Get_BillingInformation: WideString;
begin
    Result := DefaultInterface.BillingInformation;
end;

procedure TMailItem.Set_BillingInformation(const BillingInformation: WideString);
  { Warning: The property BillingInformation has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.BillingInformation := BillingInformation;
end;

function TMailItem.Get_Body: WideString;
begin
    Result := DefaultInterface.Body;
end;

procedure TMailItem.Set_Body(const Body: WideString);
  { Warning: The property Body has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Body := Body;
end;

function TMailItem.Get_Categories: WideString;
begin
    Result := DefaultInterface.Categories;
end;

procedure TMailItem.Set_Categories(const Categories: WideString);
  { Warning: The property Categories has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Categories := Categories;
end;

function TMailItem.Get_Companies: WideString;
begin
    Result := DefaultInterface.Companies;
end;

procedure TMailItem.Set_Companies(const Companies: WideString);
  { Warning: The property Companies has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Companies := Companies;
end;

function TMailItem.Get_ConversationIndex: WideString;
begin
    Result := DefaultInterface.ConversationIndex;
end;

function TMailItem.Get_ConversationTopic: WideString;
begin
    Result := DefaultInterface.ConversationTopic;
end;

function TMailItem.Get_CreationTime: TDateTime;
begin
    Result := DefaultInterface.CreationTime;
end;

function TMailItem.Get_EntryID: WideString;
begin
    Result := DefaultInterface.EntryID;
end;

function TMailItem.Get_FormDescription: FormDescription;
begin
    Result := DefaultInterface.FormDescription;
end;

function TMailItem.Get_GetInspector: _Inspector;
begin
    Result := DefaultInterface.GetInspector;
end;

function TMailItem.Get_Importance: OlImportance;
begin
    Result := DefaultInterface.Importance;
end;

procedure TMailItem.Set_Importance(Importance: OlImportance);
begin
  DefaultInterface.Set_Importance(Importance);
end;

function TMailItem.Get_LastModificationTime: TDateTime;
begin
    Result := DefaultInterface.LastModificationTime;
end;

function TMailItem.Get_MAPIOBJECT: IUnknown;
begin
    Result := DefaultInterface.MAPIOBJECT;
end;

function TMailItem.Get_MessageClass: WideString;
begin
    Result := DefaultInterface.MessageClass;
end;

procedure TMailItem.Set_MessageClass(const MessageClass: WideString);
  { Warning: The property MessageClass has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.MessageClass := MessageClass;
end;

function TMailItem.Get_Mileage: WideString;
begin
    Result := DefaultInterface.Mileage;
end;

procedure TMailItem.Set_Mileage(const Mileage: WideString);
  { Warning: The property Mileage has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Mileage := Mileage;
end;

function TMailItem.Get_NoAging: WordBool;
begin
    Result := DefaultInterface.NoAging;
end;

procedure TMailItem.Set_NoAging(NoAging: WordBool);
begin
  DefaultInterface.Set_NoAging(NoAging);
end;

function TMailItem.Get_OutlookInternalVersion: Integer;
begin
    Result := DefaultInterface.OutlookInternalVersion;
end;

function TMailItem.Get_OutlookVersion: WideString;
begin
    Result := DefaultInterface.OutlookVersion;
end;

function TMailItem.Get_Saved: WordBool;
begin
    Result := DefaultInterface.Saved;
end;

function TMailItem.Get_Sensitivity: OlSensitivity;
begin
    Result := DefaultInterface.Sensitivity;
end;

procedure TMailItem.Set_Sensitivity(Sensitivity: OlSensitivity);
begin
  DefaultInterface.Set_Sensitivity(Sensitivity);
end;

function TMailItem.Get_Size: Integer;
begin
    Result := DefaultInterface.Size;
end;

function TMailItem.Get_Subject: WideString;
begin
    Result := DefaultInterface.Subject;
end;

procedure TMailItem.Set_Subject(const Subject: WideString);
  { Warning: The property Subject has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Subject := Subject;
end;

function TMailItem.Get_UnRead: WordBool;
begin
    Result := DefaultInterface.UnRead;
end;

procedure TMailItem.Set_UnRead(UnRead: WordBool);
begin
  DefaultInterface.Set_UnRead(UnRead);
end;

function TMailItem.Get_UserProperties: UserProperties;
begin
    Result := DefaultInterface.UserProperties;
end;

function TMailItem.Get_AlternateRecipientAllowed: WordBool;
begin
    Result := DefaultInterface.AlternateRecipientAllowed;
end;

procedure TMailItem.Set_AlternateRecipientAllowed(AlternateRecipientAllowed: WordBool);
begin
  DefaultInterface.Set_AlternateRecipientAllowed(AlternateRecipientAllowed);
end;

function TMailItem.Get_AutoForwarded: WordBool;
begin
    Result := DefaultInterface.AutoForwarded;
end;

procedure TMailItem.Set_AutoForwarded(AutoForwarded: WordBool);
begin
  DefaultInterface.Set_AutoForwarded(AutoForwarded);
end;

function TMailItem.Get_BCC: WideString;
begin
    Result := DefaultInterface.BCC;
end;

procedure TMailItem.Set_BCC(const BCC: WideString);
  { Warning: The property BCC has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.BCC := BCC;
end;

function TMailItem.Get_CC: WideString;
begin
    Result := DefaultInterface.CC;
end;

procedure TMailItem.Set_CC(const CC: WideString);
  { Warning: The property CC has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.CC := CC;
end;

function TMailItem.Get_DeferredDeliveryTime: TDateTime;
begin
    Result := DefaultInterface.DeferredDeliveryTime;
end;

procedure TMailItem.Set_DeferredDeliveryTime(DeferredDeliveryTime: TDateTime);
begin
  DefaultInterface.Set_DeferredDeliveryTime(DeferredDeliveryTime);
end;

function TMailItem.Get_DeleteAfterSubmit: WordBool;
begin
    Result := DefaultInterface.DeleteAfterSubmit;
end;

procedure TMailItem.Set_DeleteAfterSubmit(DeleteAfterSubmit: WordBool);
begin
  DefaultInterface.Set_DeleteAfterSubmit(DeleteAfterSubmit);
end;

function TMailItem.Get_ExpiryTime: TDateTime;
begin
    Result := DefaultInterface.ExpiryTime;
end;

procedure TMailItem.Set_ExpiryTime(ExpiryTime: TDateTime);
begin
  DefaultInterface.Set_ExpiryTime(ExpiryTime);
end;

function TMailItem.Get_FlagDueBy: TDateTime;
begin
    Result := DefaultInterface.FlagDueBy;
end;

procedure TMailItem.Set_FlagDueBy(FlagDueBy: TDateTime);
begin
  DefaultInterface.Set_FlagDueBy(FlagDueBy);
end;

function TMailItem.Get_FlagRequest: WideString;
begin
    Result := DefaultInterface.FlagRequest;
end;

procedure TMailItem.Set_FlagRequest(const FlagRequest: WideString);
  { Warning: The property FlagRequest has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.FlagRequest := FlagRequest;
end;

function TMailItem.Get_FlagStatus: OlFlagStatus;
begin
    Result := DefaultInterface.FlagStatus;
end;

procedure TMailItem.Set_FlagStatus(FlagStatus: OlFlagStatus);
begin
  DefaultInterface.Set_FlagStatus(FlagStatus);
end;

function TMailItem.Get_HTMLBody: WideString;
begin
    Result := DefaultInterface.HTMLBody;
end;

procedure TMailItem.Set_HTMLBody(const HTMLBody: WideString);
  { Warning: The property HTMLBody has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.HTMLBody := HTMLBody;
end;

function TMailItem.Get_OriginatorDeliveryReportRequested: WordBool;
begin
    Result := DefaultInterface.OriginatorDeliveryReportRequested;
end;

procedure TMailItem.Set_OriginatorDeliveryReportRequested(OriginatorDeliveryReportRequested: WordBool);
begin
  DefaultInterface.Set_OriginatorDeliveryReportRequested(OriginatorDeliveryReportRequested);
end;

function TMailItem.Get_ReadReceiptRequested: WordBool;
begin
    Result := DefaultInterface.ReadReceiptRequested;
end;

procedure TMailItem.Set_ReadReceiptRequested(ReadReceiptRequested: WordBool);
begin
  DefaultInterface.Set_ReadReceiptRequested(ReadReceiptRequested);
end;

function TMailItem.Get_ReceivedByEntryID: WideString;
begin
    Result := DefaultInterface.ReceivedByEntryID;
end;

function TMailItem.Get_ReceivedByName: WideString;
begin
    Result := DefaultInterface.ReceivedByName;
end;

function TMailItem.Get_ReceivedOnBehalfOfEntryID: WideString;
begin
    Result := DefaultInterface.ReceivedOnBehalfOfEntryID;
end;

function TMailItem.Get_ReceivedOnBehalfOfName: WideString;
begin
    Result := DefaultInterface.ReceivedOnBehalfOfName;
end;

function TMailItem.Get_ReceivedTime: TDateTime;
begin
    Result := DefaultInterface.ReceivedTime;
end;

function TMailItem.Get_RecipientReassignmentProhibited: WordBool;
begin
    Result := DefaultInterface.RecipientReassignmentProhibited;
end;

procedure TMailItem.Set_RecipientReassignmentProhibited(RecipientReassignmentProhibited: WordBool);
begin
  DefaultInterface.Set_RecipientReassignmentProhibited(RecipientReassignmentProhibited);
end;

function TMailItem.Get_Recipients: Recipients;
begin
    Result := DefaultInterface.Recipients;
end;

function TMailItem.Get_ReminderOverrideDefault: WordBool;
begin
    Result := DefaultInterface.ReminderOverrideDefault;
end;

procedure TMailItem.Set_ReminderOverrideDefault(ReminderOverrideDefault: WordBool);
begin
  DefaultInterface.Set_ReminderOverrideDefault(ReminderOverrideDefault);
end;

function TMailItem.Get_ReminderPlaySound: WordBool;
begin
    Result := DefaultInterface.ReminderPlaySound;
end;

procedure TMailItem.Set_ReminderPlaySound(ReminderPlaySound: WordBool);
begin
  DefaultInterface.Set_ReminderPlaySound(ReminderPlaySound);
end;

function TMailItem.Get_ReminderSet: WordBool;
begin
    Result := DefaultInterface.ReminderSet;
end;

procedure TMailItem.Set_ReminderSet(ReminderSet: WordBool);
begin
  DefaultInterface.Set_ReminderSet(ReminderSet);
end;

function TMailItem.Get_ReminderSoundFile: WideString;
begin
    Result := DefaultInterface.ReminderSoundFile;
end;

procedure TMailItem.Set_ReminderSoundFile(const ReminderSoundFile: WideString);
  { Warning: The property ReminderSoundFile has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.ReminderSoundFile := ReminderSoundFile;
end;

function TMailItem.Get_ReminderTime: TDateTime;
begin
    Result := DefaultInterface.ReminderTime;
end;

procedure TMailItem.Set_ReminderTime(ReminderTime: TDateTime);
begin
  DefaultInterface.Set_ReminderTime(ReminderTime);
end;

function TMailItem.Get_RemoteStatus: OlRemoteStatus;
begin
    Result := DefaultInterface.RemoteStatus;
end;

procedure TMailItem.Set_RemoteStatus(RemoteStatus: OlRemoteStatus);
begin
  DefaultInterface.Set_RemoteStatus(RemoteStatus);
end;

function TMailItem.Get_ReplyRecipientNames: WideString;
begin
    Result := DefaultInterface.ReplyRecipientNames;
end;

function TMailItem.Get_ReplyRecipients: Recipients;
begin
    Result := DefaultInterface.ReplyRecipients;
end;

function TMailItem.Get_SaveSentMessageFolder: MAPIFolder;
begin
    Result := DefaultInterface.SaveSentMessageFolder;
end;

procedure TMailItem._Set_SaveSentMessageFolder(const SaveSentMessageFolder: MAPIFolder);
  { Warning: The property SaveSentMessageFolder has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.SaveSentMessageFolder := SaveSentMessageFolder;
end;

function TMailItem.Get_SenderName: WideString;
begin
    Result := DefaultInterface.SenderName;
end;

function TMailItem.Get_Sent: WordBool;
begin
    Result := DefaultInterface.Sent;
end;

function TMailItem.Get_SentOn: TDateTime;
begin
    Result := DefaultInterface.SentOn;
end;

function TMailItem.Get_SentOnBehalfOfName: WideString;
begin
    Result := DefaultInterface.SentOnBehalfOfName;
end;

procedure TMailItem.Set_SentOnBehalfOfName(const SentOnBehalfOfName: WideString);
  { Warning: The property SentOnBehalfOfName has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.SentOnBehalfOfName := SentOnBehalfOfName;
end;

function TMailItem.Get_Submitted: WordBool;
begin
    Result := DefaultInterface.Submitted;
end;

function TMailItem.Get_To_: WideString;
begin
    Result := DefaultInterface.To_;
end;

procedure TMailItem.Set_To_(const To_: WideString);
  { Warning: The property To_ has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.To_ := To_;
end;

function TMailItem.Get_VotingOptions: WideString;
begin
    Result := DefaultInterface.VotingOptions;
end;

procedure TMailItem.Set_VotingOptions(const VotingOptions: WideString);
  { Warning: The property VotingOptions has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.VotingOptions := VotingOptions;
end;

function TMailItem.Get_VotingResponse: WideString;
begin
    Result := DefaultInterface.VotingResponse;
end;

procedure TMailItem.Set_VotingResponse(const VotingResponse: WideString);
  { Warning: The property VotingResponse has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.VotingResponse := VotingResponse;
end;

function TMailItem.Get_Links: Links;
begin
    Result := DefaultInterface.Links;
end;

function TMailItem.Get_ItemProperties: ItemProperties;
begin
    Result := DefaultInterface.ItemProperties;
end;

function TMailItem.Get_BodyFormat: OlBodyFormat;
begin
    Result := DefaultInterface.BodyFormat;
end;

procedure TMailItem.Set_BodyFormat(BodyFormat: OlBodyFormat);
begin
  DefaultInterface.Set_BodyFormat(BodyFormat);
end;

function TMailItem.Get_DownloadState: OlDownloadState;
begin
    Result := DefaultInterface.DownloadState;
end;

function TMailItem.Get_InternetCodepage: Integer;
begin
    Result := DefaultInterface.InternetCodepage;
end;

procedure TMailItem.Set_InternetCodepage(InternetCodepage: Integer);
begin
  DefaultInterface.Set_InternetCodepage(InternetCodepage);
end;

function TMailItem.Get_MarkForDownload: OlRemoteStatus;
begin
    Result := DefaultInterface.MarkForDownload;
end;

procedure TMailItem.Set_MarkForDownload(MarkForDownload: OlRemoteStatus);
begin
  DefaultInterface.Set_MarkForDownload(MarkForDownload);
end;

function TMailItem.Get_IsConflict: WordBool;
begin
    Result := DefaultInterface.IsConflict;
end;

procedure TMailItem.Close(SaveMode: OlInspectorClose);
begin
  DefaultInterface.Close(SaveMode);
end;

function TMailItem.Copy: IDispatch;
begin
  Result := DefaultInterface.Copy;
end;

procedure TMailItem.Delete;
begin
  DefaultInterface.Delete;
end;

procedure TMailItem.Display;
begin
  DefaultInterface.Display(EmptyParam);
end;

procedure TMailItem.Display(Modal: OleVariant);
begin
  DefaultInterface.Display(Modal);
end;

function TMailItem.Move(const DestFldr: MAPIFolder): IDispatch;
begin
  Result := DefaultInterface.Move(DestFldr);
end;

procedure TMailItem.PrintOut;
begin
  DefaultInterface.PrintOut;
end;

procedure TMailItem.Save;
begin
  DefaultInterface.Save;
end;

procedure TMailItem.SaveAs(const Path: WideString);
begin
  DefaultInterface.SaveAs(Path, EmptyParam);
end;

procedure TMailItem.SaveAs(const Path: WideString; Type_: OleVariant);
begin
  DefaultInterface.SaveAs(Path, Type_);
end;

procedure TMailItem.ClearConversationIndex;
begin
  DefaultInterface.ClearConversationIndex;
end;

function TMailItem.Forward: MailItem;
begin
  Result := DefaultInterface.Forward;
end;

function TMailItem.Reply: MailItem;
begin
  Result := DefaultInterface.Reply;
end;

function TMailItem.ReplyAll: MailItem;
begin
  Result := DefaultInterface.ReplyAll;
end;

procedure TMailItem.Send;
begin
  DefaultInterface.Send;
end;

procedure TMailItem.ShowCategoriesDialog;
begin
  DefaultInterface.ShowCategoriesDialog;
end;

{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
constructor TMailItemProperties.Create(AServer: TMailItem);
begin
  inherited Create;
  FServer := AServer;
end;

function TMailItemProperties.GetDefaultInterface: _MailItem;
begin
  Result := FServer.DefaultInterface;
end;

function TMailItemProperties.Get_Application: _Application;
begin
    Result := DefaultInterface.Application;
end;

function TMailItemProperties.Get_Class_: OlObjectClass;
begin
    Result := DefaultInterface.Class_;
end;

function TMailItemProperties.Get_Session: _NameSpace;
begin
    Result := DefaultInterface.Session;
end;

function TMailItemProperties.Get_Parent: IDispatch;
begin
    Result := DefaultInterface.Parent;
end;

function TMailItemProperties.Get_Actions: Actions;
begin
    Result := DefaultInterface.Actions;
end;

function TMailItemProperties.Get_Attachments: Attachments;
begin
    Result := DefaultInterface.Attachments;
end;

function TMailItemProperties.Get_BillingInformation: WideString;
begin
    Result := DefaultInterface.BillingInformation;
end;

procedure TMailItemProperties.Set_BillingInformation(const BillingInformation: WideString);
  { Warning: The property BillingInformation has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.BillingInformation := BillingInformation;
end;

function TMailItemProperties.Get_Body: WideString;
begin
    Result := DefaultInterface.Body;
end;

procedure TMailItemProperties.Set_Body(const Body: WideString);
  { Warning: The property Body has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Body := Body;
end;

function TMailItemProperties.Get_Categories: WideString;
begin
    Result := DefaultInterface.Categories;
end;

procedure TMailItemProperties.Set_Categories(const Categories: WideString);
  { Warning: The property Categories has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Categories := Categories;
end;

function TMailItemProperties.Get_Companies: WideString;
begin
    Result := DefaultInterface.Companies;
end;

procedure TMailItemProperties.Set_Companies(const Companies: WideString);
  { Warning: The property Companies has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Companies := Companies;
end;

function TMailItemProperties.Get_ConversationIndex: WideString;
begin
    Result := DefaultInterface.ConversationIndex;
end;

function TMailItemProperties.Get_ConversationTopic: WideString;
begin
    Result := DefaultInterface.ConversationTopic;
end;

function TMailItemProperties.Get_CreationTime: TDateTime;
begin
    Result := DefaultInterface.CreationTime;
end;

function TMailItemProperties.Get_EntryID: WideString;
begin
    Result := DefaultInterface.EntryID;
end;

function TMailItemProperties.Get_FormDescription: FormDescription;
begin
    Result := DefaultInterface.FormDescription;
end;

function TMailItemProperties.Get_GetInspector: _Inspector;
begin
    Result := DefaultInterface.GetInspector;
end;

function TMailItemProperties.Get_Importance: OlImportance;
begin
    Result := DefaultInterface.Importance;
end;

procedure TMailItemProperties.Set_Importance(Importance: OlImportance);
begin
  DefaultInterface.Set_Importance(Importance);
end;

function TMailItemProperties.Get_LastModificationTime: TDateTime;
begin
    Result := DefaultInterface.LastModificationTime;
end;

function TMailItemProperties.Get_MAPIOBJECT: IUnknown;
begin
    Result := DefaultInterface.MAPIOBJECT;
end;

function TMailItemProperties.Get_MessageClass: WideString;
begin
    Result := DefaultInterface.MessageClass;
end;

procedure TMailItemProperties.Set_MessageClass(const MessageClass: WideString);
  { Warning: The property MessageClass has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.MessageClass := MessageClass;
end;

function TMailItemProperties.Get_Mileage: WideString;
begin
    Result := DefaultInterface.Mileage;
end;

procedure TMailItemProperties.Set_Mileage(const Mileage: WideString);
  { Warning: The property Mileage has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Mileage := Mileage;
end;

function TMailItemProperties.Get_NoAging: WordBool;
begin
    Result := DefaultInterface.NoAging;
end;

procedure TMailItemProperties.Set_NoAging(NoAging: WordBool);
begin
  DefaultInterface.Set_NoAging(NoAging);
end;

function TMailItemProperties.Get_OutlookInternalVersion: Integer;
begin
    Result := DefaultInterface.OutlookInternalVersion;
end;

function TMailItemProperties.Get_OutlookVersion: WideString;
begin
    Result := DefaultInterface.OutlookVersion;
end;

function TMailItemProperties.Get_Saved: WordBool;
begin
    Result := DefaultInterface.Saved;
end;

function TMailItemProperties.Get_Sensitivity: OlSensitivity;
begin
    Result := DefaultInterface.Sensitivity;
end;

procedure TMailItemProperties.Set_Sensitivity(Sensitivity: OlSensitivity);
begin
  DefaultInterface.Set_Sensitivity(Sensitivity);
end;

function TMailItemProperties.Get_Size: Integer;
begin
    Result := DefaultInterface.Size;
end;

function TMailItemProperties.Get_Subject: WideString;
begin
    Result := DefaultInterface.Subject;
end;

procedure TMailItemProperties.Set_Subject(const Subject: WideString);
  { Warning: The property Subject has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Subject := Subject;
end;

function TMailItemProperties.Get_UnRead: WordBool;
begin
    Result := DefaultInterface.UnRead;
end;

procedure TMailItemProperties.Set_UnRead(UnRead: WordBool);
begin
  DefaultInterface.Set_UnRead(UnRead);
end;

function TMailItemProperties.Get_UserProperties: UserProperties;
begin
    Result := DefaultInterface.UserProperties;
end;

function TMailItemProperties.Get_AlternateRecipientAllowed: WordBool;
begin
    Result := DefaultInterface.AlternateRecipientAllowed;
end;

procedure TMailItemProperties.Set_AlternateRecipientAllowed(AlternateRecipientAllowed: WordBool);
begin
  DefaultInterface.Set_AlternateRecipientAllowed(AlternateRecipientAllowed);
end;

function TMailItemProperties.Get_AutoForwarded: WordBool;
begin
    Result := DefaultInterface.AutoForwarded;
end;

procedure TMailItemProperties.Set_AutoForwarded(AutoForwarded: WordBool);
begin
  DefaultInterface.Set_AutoForwarded(AutoForwarded);
end;

function TMailItemProperties.Get_BCC: WideString;
begin
    Result := DefaultInterface.BCC;
end;

procedure TMailItemProperties.Set_BCC(const BCC: WideString);
  { Warning: The property BCC has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.BCC := BCC;
end;

function TMailItemProperties.Get_CC: WideString;
begin
    Result := DefaultInterface.CC;
end;

procedure TMailItemProperties.Set_CC(const CC: WideString);
  { Warning: The property CC has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.CC := CC;
end;

function TMailItemProperties.Get_DeferredDeliveryTime: TDateTime;
begin
    Result := DefaultInterface.DeferredDeliveryTime;
end;

procedure TMailItemProperties.Set_DeferredDeliveryTime(DeferredDeliveryTime: TDateTime);
begin
  DefaultInterface.Set_DeferredDeliveryTime(DeferredDeliveryTime);
end;

function TMailItemProperties.Get_DeleteAfterSubmit: WordBool;
begin
    Result := DefaultInterface.DeleteAfterSubmit;
end;

procedure TMailItemProperties.Set_DeleteAfterSubmit(DeleteAfterSubmit: WordBool);
begin
  DefaultInterface.Set_DeleteAfterSubmit(DeleteAfterSubmit);
end;

function TMailItemProperties.Get_ExpiryTime: TDateTime;
begin
    Result := DefaultInterface.ExpiryTime;
end;

procedure TMailItemProperties.Set_ExpiryTime(ExpiryTime: TDateTime);
begin
  DefaultInterface.Set_ExpiryTime(ExpiryTime);
end;

function TMailItemProperties.Get_FlagDueBy: TDateTime;
begin
    Result := DefaultInterface.FlagDueBy;
end;

procedure TMailItemProperties.Set_FlagDueBy(FlagDueBy: TDateTime);
begin
  DefaultInterface.Set_FlagDueBy(FlagDueBy);
end;

function TMailItemProperties.Get_FlagRequest: WideString;
begin
    Result := DefaultInterface.FlagRequest;
end;

procedure TMailItemProperties.Set_FlagRequest(const FlagRequest: WideString);
  { Warning: The property FlagRequest has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.FlagRequest := FlagRequest;
end;

function TMailItemProperties.Get_FlagStatus: OlFlagStatus;
begin
    Result := DefaultInterface.FlagStatus;
end;

procedure TMailItemProperties.Set_FlagStatus(FlagStatus: OlFlagStatus);
begin
  DefaultInterface.Set_FlagStatus(FlagStatus);
end;

function TMailItemProperties.Get_HTMLBody: WideString;
begin
    Result := DefaultInterface.HTMLBody;
end;

procedure TMailItemProperties.Set_HTMLBody(const HTMLBody: WideString);
  { Warning: The property HTMLBody has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.HTMLBody := HTMLBody;
end;

function TMailItemProperties.Get_OriginatorDeliveryReportRequested: WordBool;
begin
    Result := DefaultInterface.OriginatorDeliveryReportRequested;
end;

procedure TMailItemProperties.Set_OriginatorDeliveryReportRequested(OriginatorDeliveryReportRequested: WordBool);
begin
  DefaultInterface.Set_OriginatorDeliveryReportRequested(OriginatorDeliveryReportRequested);
end;

function TMailItemProperties.Get_ReadReceiptRequested: WordBool;
begin
    Result := DefaultInterface.ReadReceiptRequested;
end;

procedure TMailItemProperties.Set_ReadReceiptRequested(ReadReceiptRequested: WordBool);
begin
  DefaultInterface.Set_ReadReceiptRequested(ReadReceiptRequested);
end;

function TMailItemProperties.Get_ReceivedByEntryID: WideString;
begin
    Result := DefaultInterface.ReceivedByEntryID;
end;

function TMailItemProperties.Get_ReceivedByName: WideString;
begin
    Result := DefaultInterface.ReceivedByName;
end;

function TMailItemProperties.Get_ReceivedOnBehalfOfEntryID: WideString;
begin
    Result := DefaultInterface.ReceivedOnBehalfOfEntryID;
end;

function TMailItemProperties.Get_ReceivedOnBehalfOfName: WideString;
begin
    Result := DefaultInterface.ReceivedOnBehalfOfName;
end;

function TMailItemProperties.Get_ReceivedTime: TDateTime;
begin
    Result := DefaultInterface.ReceivedTime;
end;

function TMailItemProperties.Get_RecipientReassignmentProhibited: WordBool;
begin
    Result := DefaultInterface.RecipientReassignmentProhibited;
end;

procedure TMailItemProperties.Set_RecipientReassignmentProhibited(RecipientReassignmentProhibited: WordBool);
begin
  DefaultInterface.Set_RecipientReassignmentProhibited(RecipientReassignmentProhibited);
end;

function TMailItemProperties.Get_Recipients: Recipients;
begin
    Result := DefaultInterface.Recipients;
end;

function TMailItemProperties.Get_ReminderOverrideDefault: WordBool;
begin
    Result := DefaultInterface.ReminderOverrideDefault;
end;

procedure TMailItemProperties.Set_ReminderOverrideDefault(ReminderOverrideDefault: WordBool);
begin
  DefaultInterface.Set_ReminderOverrideDefault(ReminderOverrideDefault);
end;

function TMailItemProperties.Get_ReminderPlaySound: WordBool;
begin
    Result := DefaultInterface.ReminderPlaySound;
end;

procedure TMailItemProperties.Set_ReminderPlaySound(ReminderPlaySound: WordBool);
begin
  DefaultInterface.Set_ReminderPlaySound(ReminderPlaySound);
end;

function TMailItemProperties.Get_ReminderSet: WordBool;
begin
    Result := DefaultInterface.ReminderSet;
end;

procedure TMailItemProperties.Set_ReminderSet(ReminderSet: WordBool);
begin
  DefaultInterface.Set_ReminderSet(ReminderSet);
end;

function TMailItemProperties.Get_ReminderSoundFile: WideString;
begin
    Result := DefaultInterface.ReminderSoundFile;
end;

procedure TMailItemProperties.Set_ReminderSoundFile(const ReminderSoundFile: WideString);
  { Warning: The property ReminderSoundFile has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.ReminderSoundFile := ReminderSoundFile;
end;

function TMailItemProperties.Get_ReminderTime: TDateTime;
begin
    Result := DefaultInterface.ReminderTime;
end;

procedure TMailItemProperties.Set_ReminderTime(ReminderTime: TDateTime);
begin
  DefaultInterface.Set_ReminderTime(ReminderTime);
end;

function TMailItemProperties.Get_RemoteStatus: OlRemoteStatus;
begin
    Result := DefaultInterface.RemoteStatus;
end;

procedure TMailItemProperties.Set_RemoteStatus(RemoteStatus: OlRemoteStatus);
begin
  DefaultInterface.Set_RemoteStatus(RemoteStatus);
end;

function TMailItemProperties.Get_ReplyRecipientNames: WideString;
begin
    Result := DefaultInterface.ReplyRecipientNames;
end;

function TMailItemProperties.Get_ReplyRecipients: Recipients;
begin
    Result := DefaultInterface.ReplyRecipients;
end;

function TMailItemProperties.Get_SaveSentMessageFolder: MAPIFolder;
begin
    Result := DefaultInterface.SaveSentMessageFolder;
end;

procedure TMailItemProperties._Set_SaveSentMessageFolder(const SaveSentMessageFolder: MAPIFolder);
  { Warning: The property SaveSentMessageFolder has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.SaveSentMessageFolder := SaveSentMessageFolder;
end;

function TMailItemProperties.Get_SenderName: WideString;
begin
    Result := DefaultInterface.SenderName;
end;

function TMailItemProperties.Get_Sent: WordBool;
begin
    Result := DefaultInterface.Sent;
end;

function TMailItemProperties.Get_SentOn: TDateTime;
begin
    Result := DefaultInterface.SentOn;
end;

function TMailItemProperties.Get_SentOnBehalfOfName: WideString;
begin
    Result := DefaultInterface.SentOnBehalfOfName;
end;

procedure TMailItemProperties.Set_SentOnBehalfOfName(const SentOnBehalfOfName: WideString);
  { Warning: The property SentOnBehalfOfName has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.SentOnBehalfOfName := SentOnBehalfOfName;
end;

function TMailItemProperties.Get_Submitted: WordBool;
begin
    Result := DefaultInterface.Submitted;
end;

function TMailItemProperties.Get_To_: WideString;
begin
    Result := DefaultInterface.To_;
end;

procedure TMailItemProperties.Set_To_(const To_: WideString);
  { Warning: The property To_ has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.To_ := To_;
end;

function TMailItemProperties.Get_VotingOptions: WideString;
begin
    Result := DefaultInterface.VotingOptions;
end;

procedure TMailItemProperties.Set_VotingOptions(const VotingOptions: WideString);
  { Warning: The property VotingOptions has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.VotingOptions := VotingOptions;
end;

function TMailItemProperties.Get_VotingResponse: WideString;
begin
    Result := DefaultInterface.VotingResponse;
end;

procedure TMailItemProperties.Set_VotingResponse(const VotingResponse: WideString);
  { Warning: The property VotingResponse has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.VotingResponse := VotingResponse;
end;

function TMailItemProperties.Get_Links: Links;
begin
    Result := DefaultInterface.Links;
end;

function TMailItemProperties.Get_ItemProperties: ItemProperties;
begin
    Result := DefaultInterface.ItemProperties;
end;

function TMailItemProperties.Get_BodyFormat: OlBodyFormat;
begin
    Result := DefaultInterface.BodyFormat;
end;

procedure TMailItemProperties.Set_BodyFormat(BodyFormat: OlBodyFormat);
begin
  DefaultInterface.Set_BodyFormat(BodyFormat);
end;

function TMailItemProperties.Get_DownloadState: OlDownloadState;
begin
    Result := DefaultInterface.DownloadState;
end;

function TMailItemProperties.Get_InternetCodepage: Integer;
begin
    Result := DefaultInterface.InternetCodepage;
end;

procedure TMailItemProperties.Set_InternetCodepage(InternetCodepage: Integer);
begin
  DefaultInterface.Set_InternetCodepage(InternetCodepage);
end;

function TMailItemProperties.Get_MarkForDownload: OlRemoteStatus;
begin
    Result := DefaultInterface.MarkForDownload;
end;

procedure TMailItemProperties.Set_MarkForDownload(MarkForDownload: OlRemoteStatus);
begin
  DefaultInterface.Set_MarkForDownload(MarkForDownload);
end;

function TMailItemProperties.Get_IsConflict: WordBool;
begin
    Result := DefaultInterface.IsConflict;
end;

{$ENDIF}

class function CoAppointmentItem.Create: _AppointmentItem;
begin
  Result := CreateComObject(CLASS_AppointmentItem) as _AppointmentItem;
end;

class function CoAppointmentItem.CreateRemote(const MachineName: string): _AppointmentItem;
begin
  Result := CreateRemoteComObject(MachineName, CLASS_AppointmentItem) as _AppointmentItem;
end;

procedure TAppointmentItem.InitServerData;
const
  CServerData: TServerData = (
    ClassID:   '{00061030-0000-0000-C000-000000000046}';
    IntfIID:   '{00063033-0000-0000-C000-000000000046}';
    EventIID:  '{0006302B-0000-0000-C000-000000000046}';
    LicenseKey: nil;
    Version: 500);
begin
  ServerData := @CServerData;
end;

procedure TAppointmentItem.Connect;
var
  punk: IUnknown;
begin
  if FIntf = nil then
  begin
    punk := GetServer;
    ConnectEvents(punk);
    Fintf:= punk as _AppointmentItem;
  end;
end;

procedure TAppointmentItem.ConnectTo(svrIntf: _AppointmentItem);
begin
  Disconnect;
  FIntf := svrIntf;
  ConnectEvents(FIntf);
end;

procedure TAppointmentItem.DisConnect;
begin
  if Fintf <> nil then
  begin
    DisconnectEvents(FIntf);
    FIntf := nil;
  end;
end;

function TAppointmentItem.GetDefaultInterface: _AppointmentItem;
begin
  if FIntf = nil then
    Connect;
  Assert(FIntf <> nil, 'DefaultInterface is NULL. Component is not connected to Server. You must call ''Connect'' or ''ConnectTo'' before this operation');
  Result := FIntf;
end;

constructor TAppointmentItem.Create(AOwner: TComponent);
begin
  inherited Create(AOwner);
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  FProps := TAppointmentItemProperties.Create(Self);
{$ENDIF}
end;

destructor TAppointmentItem.Destroy;
begin
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  FProps.Free;
{$ENDIF}
  inherited Destroy;
end;

{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
function TAppointmentItem.GetServerProperties: TAppointmentItemProperties;
begin
  Result := FProps;
end;
{$ENDIF}

procedure TAppointmentItem.InvokeEvent(DispID: TDispID; var Params: TVariantArray);
begin
  case DispID of
    -1: Exit;  // DISPID_UNKNOWN
    61443: if Assigned(FOnOpen) then
         FOnOpen(Self, WordBool((TVarData(Params[0]).VPointer)^) {var WordBool});
    61446: if Assigned(FOnCustomAction) then
         FOnCustomAction(Self,
                         Params[0] {const IDispatch},
                         Params[1] {const IDispatch},
                         WordBool((TVarData(Params[2]).VPointer)^) {var WordBool});
    61448: if Assigned(FOnCustomPropertyChange) then
         FOnCustomPropertyChange(Self, Params[0] {const WideString});
    62568: if Assigned(FOnForward) then
         FOnForward(Self,
                    Params[0] {const IDispatch},
                    WordBool((TVarData(Params[1]).VPointer)^) {var WordBool});
    61444: if Assigned(FOnClose) then
         FOnClose(Self, WordBool((TVarData(Params[0]).VPointer)^) {var WordBool});
    61449: if Assigned(FOnPropertyChange) then
         FOnPropertyChange(Self, Params[0] {const WideString});
    61441: if Assigned(FOnRead) then
         FOnRead(Self);
    62566: if Assigned(FOnReply) then
         FOnReply(Self,
                  Params[0] {const IDispatch},
                  WordBool((TVarData(Params[1]).VPointer)^) {var WordBool});
    62567: if Assigned(FOnReplyAll) then
         FOnReplyAll(Self,
                     Params[0] {const IDispatch},
                     WordBool((TVarData(Params[1]).VPointer)^) {var WordBool});
    61445: if Assigned(FOnSend) then
         FOnSend(Self, WordBool((TVarData(Params[0]).VPointer)^) {var WordBool});
    61442: if Assigned(FOnWrite) then
         FOnWrite(Self, WordBool((TVarData(Params[0]).VPointer)^) {var WordBool});
    61450: if Assigned(FOnBeforeCheckNames) then
         FOnBeforeCheckNames(Self, WordBool((TVarData(Params[0]).VPointer)^) {var WordBool});
    61451: if Assigned(FOnAttachmentAdd) then
         FOnAttachmentAdd(Self, IUnknown(TVarData(Params[0]).VPointer) as Attachment {const Attachment});
    61452: if Assigned(FOnAttachmentRead) then
         FOnAttachmentRead(Self, IUnknown(TVarData(Params[0]).VPointer) as Attachment {const Attachment});
    61453: if Assigned(FOnBeforeAttachmentSave) then
         FOnBeforeAttachmentSave(Self,
                                 IUnknown(TVarData(Params[0]).VPointer) as Attachment {const Attachment},
                                 WordBool((TVarData(Params[1]).VPointer)^) {var WordBool});
    64117: if Assigned(FOnBeforeDelete) then
         FOnBeforeDelete(Self,
                         Params[0] {const IDispatch},
                         WordBool((TVarData(Params[1]).VPointer)^) {var WordBool});
  end; {case DispID}
end;

function TAppointmentItem.Get_Application: _Application;
begin
    Result := DefaultInterface.Application;
end;

function TAppointmentItem.Get_Class_: OlObjectClass;
begin
    Result := DefaultInterface.Class_;
end;

function TAppointmentItem.Get_Session: _NameSpace;
begin
    Result := DefaultInterface.Session;
end;

function TAppointmentItem.Get_Parent: IDispatch;
begin
    Result := DefaultInterface.Parent;
end;

function TAppointmentItem.Get_Actions: Actions;
begin
    Result := DefaultInterface.Actions;
end;

function TAppointmentItem.Get_Attachments: Attachments;
begin
    Result := DefaultInterface.Attachments;
end;

function TAppointmentItem.Get_BillingInformation: WideString;
begin
    Result := DefaultInterface.BillingInformation;
end;

procedure TAppointmentItem.Set_BillingInformation(const BillingInformation: WideString);
  { Warning: The property BillingInformation has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.BillingInformation := BillingInformation;
end;

function TAppointmentItem.Get_Body: WideString;
begin
    Result := DefaultInterface.Body;
end;

procedure TAppointmentItem.Set_Body(const Body: WideString);
  { Warning: The property Body has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Body := Body;
end;

function TAppointmentItem.Get_Categories: WideString;
begin
    Result := DefaultInterface.Categories;
end;

procedure TAppointmentItem.Set_Categories(const Categories: WideString);
  { Warning: The property Categories has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Categories := Categories;
end;

function TAppointmentItem.Get_Companies: WideString;
begin
    Result := DefaultInterface.Companies;
end;

procedure TAppointmentItem.Set_Companies(const Companies: WideString);
  { Warning: The property Companies has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Companies := Companies;
end;

function TAppointmentItem.Get_ConversationIndex: WideString;
begin
    Result := DefaultInterface.ConversationIndex;
end;

function TAppointmentItem.Get_ConversationTopic: WideString;
begin
    Result := DefaultInterface.ConversationTopic;
end;

function TAppointmentItem.Get_CreationTime: TDateTime;
begin
    Result := DefaultInterface.CreationTime;
end;

function TAppointmentItem.Get_EntryID: WideString;
begin
    Result := DefaultInterface.EntryID;
end;

function TAppointmentItem.Get_FormDescription: FormDescription;
begin
    Result := DefaultInterface.FormDescription;
end;

function TAppointmentItem.Get_GetInspector: _Inspector;
begin
    Result := DefaultInterface.GetInspector;
end;

function TAppointmentItem.Get_Importance: OlImportance;
begin
    Result := DefaultInterface.Importance;
end;

procedure TAppointmentItem.Set_Importance(Importance: OlImportance);
begin
  DefaultInterface.Set_Importance(Importance);
end;

function TAppointmentItem.Get_LastModificationTime: TDateTime;
begin
    Result := DefaultInterface.LastModificationTime;
end;

function TAppointmentItem.Get_MAPIOBJECT: IUnknown;
begin
    Result := DefaultInterface.MAPIOBJECT;
end;

function TAppointmentItem.Get_MessageClass: WideString;
begin
    Result := DefaultInterface.MessageClass;
end;

procedure TAppointmentItem.Set_MessageClass(const MessageClass: WideString);
  { Warning: The property MessageClass has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.MessageClass := MessageClass;
end;

function TAppointmentItem.Get_Mileage: WideString;
begin
    Result := DefaultInterface.Mileage;
end;

procedure TAppointmentItem.Set_Mileage(const Mileage: WideString);
  { Warning: The property Mileage has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Mileage := Mileage;
end;

function TAppointmentItem.Get_NoAging: WordBool;
begin
    Result := DefaultInterface.NoAging;
end;

procedure TAppointmentItem.Set_NoAging(NoAging: WordBool);
begin
  DefaultInterface.Set_NoAging(NoAging);
end;

function TAppointmentItem.Get_OutlookInternalVersion: Integer;
begin
    Result := DefaultInterface.OutlookInternalVersion;
end;

function TAppointmentItem.Get_OutlookVersion: WideString;
begin
    Result := DefaultInterface.OutlookVersion;
end;

function TAppointmentItem.Get_Saved: WordBool;
begin
    Result := DefaultInterface.Saved;
end;

function TAppointmentItem.Get_Sensitivity: OlSensitivity;
begin
    Result := DefaultInterface.Sensitivity;
end;

procedure TAppointmentItem.Set_Sensitivity(Sensitivity: OlSensitivity);
begin
  DefaultInterface.Set_Sensitivity(Sensitivity);
end;

function TAppointmentItem.Get_Size: Integer;
begin
    Result := DefaultInterface.Size;
end;

function TAppointmentItem.Get_Subject: WideString;
begin
    Result := DefaultInterface.Subject;
end;

procedure TAppointmentItem.Set_Subject(const Subject: WideString);
  { Warning: The property Subject has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Subject := Subject;
end;

function TAppointmentItem.Get_UnRead: WordBool;
begin
    Result := DefaultInterface.UnRead;
end;

procedure TAppointmentItem.Set_UnRead(UnRead: WordBool);
begin
  DefaultInterface.Set_UnRead(UnRead);
end;

function TAppointmentItem.Get_UserProperties: UserProperties;
begin
    Result := DefaultInterface.UserProperties;
end;

function TAppointmentItem.Get_AllDayEvent: WordBool;
begin
    Result := DefaultInterface.AllDayEvent;
end;

procedure TAppointmentItem.Set_AllDayEvent(AllDayEvent: WordBool);
begin
  DefaultInterface.Set_AllDayEvent(AllDayEvent);
end;

function TAppointmentItem.Get_BusyStatus: OlBusyStatus;
begin
    Result := DefaultInterface.BusyStatus;
end;

procedure TAppointmentItem.Set_BusyStatus(BusyStatus: OlBusyStatus);
begin
  DefaultInterface.Set_BusyStatus(BusyStatus);
end;

function TAppointmentItem.Get_Duration: Integer;
begin
    Result := DefaultInterface.Duration;
end;

procedure TAppointmentItem.Set_Duration(Duration: Integer);
begin
  DefaultInterface.Set_Duration(Duration);
end;

function TAppointmentItem.Get_End_: TDateTime;
begin
    Result := DefaultInterface.End_;
end;

procedure TAppointmentItem.Set_End_(End_: TDateTime);
begin
  DefaultInterface.Set_End_(End_);
end;

function TAppointmentItem.Get_IsOnlineMeeting: WordBool;
begin
    Result := DefaultInterface.IsOnlineMeeting;
end;

procedure TAppointmentItem.Set_IsOnlineMeeting(IsOnlineMeeting: WordBool);
begin
  DefaultInterface.Set_IsOnlineMeeting(IsOnlineMeeting);
end;

function TAppointmentItem.Get_IsRecurring: WordBool;
begin
    Result := DefaultInterface.IsRecurring;
end;

function TAppointmentItem.Get_Location: WideString;
begin
    Result := DefaultInterface.Location;
end;

procedure TAppointmentItem.Set_Location(const Location: WideString);
  { Warning: The property Location has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Location := Location;
end;

function TAppointmentItem.Get_MeetingStatus: OlMeetingStatus;
begin
    Result := DefaultInterface.MeetingStatus;
end;

procedure TAppointmentItem.Set_MeetingStatus(MeetingStatus: OlMeetingStatus);
begin
  DefaultInterface.Set_MeetingStatus(MeetingStatus);
end;

function TAppointmentItem.Get_NetMeetingAutoStart: WordBool;
begin
    Result := DefaultInterface.NetMeetingAutoStart;
end;

procedure TAppointmentItem.Set_NetMeetingAutoStart(NetMeetingAutoStart: WordBool);
begin
  DefaultInterface.Set_NetMeetingAutoStart(NetMeetingAutoStart);
end;

function TAppointmentItem.Get_NetMeetingOrganizerAlias: WideString;
begin
    Result := DefaultInterface.NetMeetingOrganizerAlias;
end;

procedure TAppointmentItem.Set_NetMeetingOrganizerAlias(const NetMeetingOrganizerAlias: WideString);
  { Warning: The property NetMeetingOrganizerAlias has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.NetMeetingOrganizerAlias := NetMeetingOrganizerAlias;
end;

function TAppointmentItem.Get_NetMeetingServer: WideString;
begin
    Result := DefaultInterface.NetMeetingServer;
end;

procedure TAppointmentItem.Set_NetMeetingServer(const NetMeetingServer: WideString);
  { Warning: The property NetMeetingServer has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.NetMeetingServer := NetMeetingServer;
end;

function TAppointmentItem.Get_NetMeetingType: OlNetMeetingType;
begin
    Result := DefaultInterface.NetMeetingType;
end;

procedure TAppointmentItem.Set_NetMeetingType(NetMeetingType: OlNetMeetingType);
begin
  DefaultInterface.Set_NetMeetingType(NetMeetingType);
end;

function TAppointmentItem.Get_OptionalAttendees: WideString;
begin
    Result := DefaultInterface.OptionalAttendees;
end;

procedure TAppointmentItem.Set_OptionalAttendees(const OptionalAttendees: WideString);
  { Warning: The property OptionalAttendees has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.OptionalAttendees := OptionalAttendees;
end;

function TAppointmentItem.Get_Organizer: WideString;
begin
    Result := DefaultInterface.Organizer;
end;

function TAppointmentItem.Get_Recipients: Recipients;
begin
    Result := DefaultInterface.Recipients;
end;

function TAppointmentItem.Get_RecurrenceState: OlRecurrenceState;
begin
    Result := DefaultInterface.RecurrenceState;
end;

function TAppointmentItem.Get_ReminderMinutesBeforeStart: Integer;
begin
    Result := DefaultInterface.ReminderMinutesBeforeStart;
end;

procedure TAppointmentItem.Set_ReminderMinutesBeforeStart(ReminderMinutesBeforeStart: Integer);
begin
  DefaultInterface.Set_ReminderMinutesBeforeStart(ReminderMinutesBeforeStart);
end;

function TAppointmentItem.Get_ReminderOverrideDefault: WordBool;
begin
    Result := DefaultInterface.ReminderOverrideDefault;
end;

procedure TAppointmentItem.Set_ReminderOverrideDefault(ReminderOverrideDefault: WordBool);
begin
  DefaultInterface.Set_ReminderOverrideDefault(ReminderOverrideDefault);
end;

function TAppointmentItem.Get_ReminderPlaySound: WordBool;
begin
    Result := DefaultInterface.ReminderPlaySound;
end;

procedure TAppointmentItem.Set_ReminderPlaySound(ReminderPlaySound: WordBool);
begin
  DefaultInterface.Set_ReminderPlaySound(ReminderPlaySound);
end;

function TAppointmentItem.Get_ReminderSet: WordBool;
begin
    Result := DefaultInterface.ReminderSet;
end;

procedure TAppointmentItem.Set_ReminderSet(ReminderSet: WordBool);
begin
  DefaultInterface.Set_ReminderSet(ReminderSet);
end;

function TAppointmentItem.Get_ReminderSoundFile: WideString;
begin
    Result := DefaultInterface.ReminderSoundFile;
end;

procedure TAppointmentItem.Set_ReminderSoundFile(const ReminderSoundFile: WideString);
  { Warning: The property ReminderSoundFile has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.ReminderSoundFile := ReminderSoundFile;
end;

function TAppointmentItem.Get_ReplyTime: TDateTime;
begin
    Result := DefaultInterface.ReplyTime;
end;

procedure TAppointmentItem.Set_ReplyTime(ReplyTime: TDateTime);
begin
  DefaultInterface.Set_ReplyTime(ReplyTime);
end;

function TAppointmentItem.Get_RequiredAttendees: WideString;
begin
    Result := DefaultInterface.RequiredAttendees;
end;

procedure TAppointmentItem.Set_RequiredAttendees(const RequiredAttendees: WideString);
  { Warning: The property RequiredAttendees has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.RequiredAttendees := RequiredAttendees;
end;

function TAppointmentItem.Get_Resources: WideString;
begin
    Result := DefaultInterface.Resources;
end;

procedure TAppointmentItem.Set_Resources(const Resources: WideString);
  { Warning: The property Resources has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Resources := Resources;
end;

function TAppointmentItem.Get_ResponseRequested: WordBool;
begin
    Result := DefaultInterface.ResponseRequested;
end;

procedure TAppointmentItem.Set_ResponseRequested(ResponseRequested: WordBool);
begin
  DefaultInterface.Set_ResponseRequested(ResponseRequested);
end;

function TAppointmentItem.Get_ResponseStatus: OlResponseStatus;
begin
    Result := DefaultInterface.ResponseStatus;
end;

function TAppointmentItem.Get_Start: TDateTime;
begin
    Result := DefaultInterface.Start;
end;

procedure TAppointmentItem.Set_Start(Start: TDateTime);
begin
  DefaultInterface.Set_Start(Start);
end;

function TAppointmentItem.Get_NetMeetingDocPathName: WideString;
begin
    Result := DefaultInterface.NetMeetingDocPathName;
end;

procedure TAppointmentItem.Set_NetMeetingDocPathName(const NetMeetingDocPathName: WideString);
  { Warning: The property NetMeetingDocPathName has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.NetMeetingDocPathName := NetMeetingDocPathName;
end;

function TAppointmentItem.Get_NetShowURL: WideString;
begin
    Result := DefaultInterface.NetShowURL;
end;

procedure TAppointmentItem.Set_NetShowURL(const NetShowURL: WideString);
  { Warning: The property NetShowURL has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.NetShowURL := NetShowURL;
end;

function TAppointmentItem.Get_Links: Links;
begin
    Result := DefaultInterface.Links;
end;

function TAppointmentItem.Get_ConferenceServerAllowExternal: WordBool;
begin
    Result := DefaultInterface.ConferenceServerAllowExternal;
end;

procedure TAppointmentItem.Set_ConferenceServerAllowExternal(ConferenceServerAllowExternal: WordBool);
begin
  DefaultInterface.Set_ConferenceServerAllowExternal(ConferenceServerAllowExternal);
end;

function TAppointmentItem.Get_ConferenceServerPassword: WideString;
begin
    Result := DefaultInterface.ConferenceServerPassword;
end;

procedure TAppointmentItem.Set_ConferenceServerPassword(const ConferenceServerPassword: WideString);
  { Warning: The property ConferenceServerPassword has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.ConferenceServerPassword := ConferenceServerPassword;
end;

function TAppointmentItem.Get_ItemProperties: ItemProperties;
begin
    Result := DefaultInterface.ItemProperties;
end;

function TAppointmentItem.Get_DownloadState: OlDownloadState;
begin
    Result := DefaultInterface.DownloadState;
end;

function TAppointmentItem.Get_InternetCodepage: Integer;
begin
    Result := DefaultInterface.InternetCodepage;
end;

procedure TAppointmentItem.Set_InternetCodepage(InternetCodepage: Integer);
begin
  DefaultInterface.Set_InternetCodepage(InternetCodepage);
end;

function TAppointmentItem.Get_MarkForDownload: OlRemoteStatus;
begin
    Result := DefaultInterface.MarkForDownload;
end;

procedure TAppointmentItem.Set_MarkForDownload(MarkForDownload: OlRemoteStatus);
begin
  DefaultInterface.Set_MarkForDownload(MarkForDownload);
end;

function TAppointmentItem.Get_IsConflict: WordBool;
begin
    Result := DefaultInterface.IsConflict;
end;

procedure TAppointmentItem.Close(SaveMode: OlInspectorClose);
begin
  DefaultInterface.Close(SaveMode);
end;

function TAppointmentItem.Copy: IDispatch;
begin
  Result := DefaultInterface.Copy;
end;

procedure TAppointmentItem.Delete;
begin
  DefaultInterface.Delete;
end;

procedure TAppointmentItem.Display;
begin
  DefaultInterface.Display(EmptyParam);
end;

procedure TAppointmentItem.Display(Modal: OleVariant);
begin
  DefaultInterface.Display(Modal);
end;

function TAppointmentItem.Move(const DestFldr: MAPIFolder): IDispatch;
begin
  Result := DefaultInterface.Move(DestFldr);
end;

procedure TAppointmentItem.PrintOut;
begin
  DefaultInterface.PrintOut;
end;

procedure TAppointmentItem.Save;
begin
  DefaultInterface.Save;
end;

procedure TAppointmentItem.SaveAs(const Path: WideString);
begin
  DefaultInterface.SaveAs(Path, EmptyParam);
end;

procedure TAppointmentItem.SaveAs(const Path: WideString; Type_: OleVariant);
begin
  DefaultInterface.SaveAs(Path, Type_);
end;

procedure TAppointmentItem.ClearRecurrencePattern;
begin
  DefaultInterface.ClearRecurrencePattern;
end;

function TAppointmentItem.ForwardAsVcal: MailItem;
begin
  Result := DefaultInterface.ForwardAsVcal;
end;

function TAppointmentItem.GetRecurrencePattern: RecurrencePattern;
begin
  Result := DefaultInterface.GetRecurrencePattern;
end;

function TAppointmentItem.Respond(Response: OlMeetingResponse): MeetingItem;
begin
  Result := DefaultInterface.Respond(Response, EmptyParam, EmptyParam);
end;

function TAppointmentItem.Respond(Response: OlMeetingResponse; fNoUI: OleVariant): MeetingItem;
begin
  Result := DefaultInterface.Respond(Response, fNoUI, EmptyParam);
end;

function TAppointmentItem.Respond(Response: OlMeetingResponse; fNoUI: OleVariant; 
                                  fAdditionalTextDialog: OleVariant): MeetingItem;
begin
  Result := DefaultInterface.Respond(Response, fNoUI, fAdditionalTextDialog);
end;

procedure TAppointmentItem.Send;
begin
  DefaultInterface.Send;
end;

procedure TAppointmentItem.ShowCategoriesDialog;
begin
  DefaultInterface.ShowCategoriesDialog;
end;

{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
constructor TAppointmentItemProperties.Create(AServer: TAppointmentItem);
begin
  inherited Create;
  FServer := AServer;
end;

function TAppointmentItemProperties.GetDefaultInterface: _AppointmentItem;
begin
  Result := FServer.DefaultInterface;
end;

function TAppointmentItemProperties.Get_Application: _Application;
begin
    Result := DefaultInterface.Application;
end;

function TAppointmentItemProperties.Get_Class_: OlObjectClass;
begin
    Result := DefaultInterface.Class_;
end;

function TAppointmentItemProperties.Get_Session: _NameSpace;
begin
    Result := DefaultInterface.Session;
end;

function TAppointmentItemProperties.Get_Parent: IDispatch;
begin
    Result := DefaultInterface.Parent;
end;

function TAppointmentItemProperties.Get_Actions: Actions;
begin
    Result := DefaultInterface.Actions;
end;

function TAppointmentItemProperties.Get_Attachments: Attachments;
begin
    Result := DefaultInterface.Attachments;
end;

function TAppointmentItemProperties.Get_BillingInformation: WideString;
begin
    Result := DefaultInterface.BillingInformation;
end;

procedure TAppointmentItemProperties.Set_BillingInformation(const BillingInformation: WideString);
  { Warning: The property BillingInformation has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.BillingInformation := BillingInformation;
end;

function TAppointmentItemProperties.Get_Body: WideString;
begin
    Result := DefaultInterface.Body;
end;

procedure TAppointmentItemProperties.Set_Body(const Body: WideString);
  { Warning: The property Body has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Body := Body;
end;

function TAppointmentItemProperties.Get_Categories: WideString;
begin
    Result := DefaultInterface.Categories;
end;

procedure TAppointmentItemProperties.Set_Categories(const Categories: WideString);
  { Warning: The property Categories has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Categories := Categories;
end;

function TAppointmentItemProperties.Get_Companies: WideString;
begin
    Result := DefaultInterface.Companies;
end;

procedure TAppointmentItemProperties.Set_Companies(const Companies: WideString);
  { Warning: The property Companies has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Companies := Companies;
end;

function TAppointmentItemProperties.Get_ConversationIndex: WideString;
begin
    Result := DefaultInterface.ConversationIndex;
end;

function TAppointmentItemProperties.Get_ConversationTopic: WideString;
begin
    Result := DefaultInterface.ConversationTopic;
end;

function TAppointmentItemProperties.Get_CreationTime: TDateTime;
begin
    Result := DefaultInterface.CreationTime;
end;

function TAppointmentItemProperties.Get_EntryID: WideString;
begin
    Result := DefaultInterface.EntryID;
end;

function TAppointmentItemProperties.Get_FormDescription: FormDescription;
begin
    Result := DefaultInterface.FormDescription;
end;

function TAppointmentItemProperties.Get_GetInspector: _Inspector;
begin
    Result := DefaultInterface.GetInspector;
end;

function TAppointmentItemProperties.Get_Importance: OlImportance;
begin
    Result := DefaultInterface.Importance;
end;

procedure TAppointmentItemProperties.Set_Importance(Importance: OlImportance);
begin
  DefaultInterface.Set_Importance(Importance);
end;

function TAppointmentItemProperties.Get_LastModificationTime: TDateTime;
begin
    Result := DefaultInterface.LastModificationTime;
end;

function TAppointmentItemProperties.Get_MAPIOBJECT: IUnknown;
begin
    Result := DefaultInterface.MAPIOBJECT;
end;

function TAppointmentItemProperties.Get_MessageClass: WideString;
begin
    Result := DefaultInterface.MessageClass;
end;

procedure TAppointmentItemProperties.Set_MessageClass(const MessageClass: WideString);
  { Warning: The property MessageClass has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.MessageClass := MessageClass;
end;

function TAppointmentItemProperties.Get_Mileage: WideString;
begin
    Result := DefaultInterface.Mileage;
end;

procedure TAppointmentItemProperties.Set_Mileage(const Mileage: WideString);
  { Warning: The property Mileage has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Mileage := Mileage;
end;

function TAppointmentItemProperties.Get_NoAging: WordBool;
begin
    Result := DefaultInterface.NoAging;
end;

procedure TAppointmentItemProperties.Set_NoAging(NoAging: WordBool);
begin
  DefaultInterface.Set_NoAging(NoAging);
end;

function TAppointmentItemProperties.Get_OutlookInternalVersion: Integer;
begin
    Result := DefaultInterface.OutlookInternalVersion;
end;

function TAppointmentItemProperties.Get_OutlookVersion: WideString;
begin
    Result := DefaultInterface.OutlookVersion;
end;

function TAppointmentItemProperties.Get_Saved: WordBool;
begin
    Result := DefaultInterface.Saved;
end;

function TAppointmentItemProperties.Get_Sensitivity: OlSensitivity;
begin
    Result := DefaultInterface.Sensitivity;
end;

procedure TAppointmentItemProperties.Set_Sensitivity(Sensitivity: OlSensitivity);
begin
  DefaultInterface.Set_Sensitivity(Sensitivity);
end;

function TAppointmentItemProperties.Get_Size: Integer;
begin
    Result := DefaultInterface.Size;
end;

function TAppointmentItemProperties.Get_Subject: WideString;
begin
    Result := DefaultInterface.Subject;
end;

procedure TAppointmentItemProperties.Set_Subject(const Subject: WideString);
  { Warning: The property Subject has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Subject := Subject;
end;

function TAppointmentItemProperties.Get_UnRead: WordBool;
begin
    Result := DefaultInterface.UnRead;
end;

procedure TAppointmentItemProperties.Set_UnRead(UnRead: WordBool);
begin
  DefaultInterface.Set_UnRead(UnRead);
end;

function TAppointmentItemProperties.Get_UserProperties: UserProperties;
begin
    Result := DefaultInterface.UserProperties;
end;

function TAppointmentItemProperties.Get_AllDayEvent: WordBool;
begin
    Result := DefaultInterface.AllDayEvent;
end;

procedure TAppointmentItemProperties.Set_AllDayEvent(AllDayEvent: WordBool);
begin
  DefaultInterface.Set_AllDayEvent(AllDayEvent);
end;

function TAppointmentItemProperties.Get_BusyStatus: OlBusyStatus;
begin
    Result := DefaultInterface.BusyStatus;
end;

procedure TAppointmentItemProperties.Set_BusyStatus(BusyStatus: OlBusyStatus);
begin
  DefaultInterface.Set_BusyStatus(BusyStatus);
end;

function TAppointmentItemProperties.Get_Duration: Integer;
begin
    Result := DefaultInterface.Duration;
end;

procedure TAppointmentItemProperties.Set_Duration(Duration: Integer);
begin
  DefaultInterface.Set_Duration(Duration);
end;

function TAppointmentItemProperties.Get_End_: TDateTime;
begin
    Result := DefaultInterface.End_;
end;

procedure TAppointmentItemProperties.Set_End_(End_: TDateTime);
begin
  DefaultInterface.Set_End_(End_);
end;

function TAppointmentItemProperties.Get_IsOnlineMeeting: WordBool;
begin
    Result := DefaultInterface.IsOnlineMeeting;
end;

procedure TAppointmentItemProperties.Set_IsOnlineMeeting(IsOnlineMeeting: WordBool);
begin
  DefaultInterface.Set_IsOnlineMeeting(IsOnlineMeeting);
end;

function TAppointmentItemProperties.Get_IsRecurring: WordBool;
begin
    Result := DefaultInterface.IsRecurring;
end;

function TAppointmentItemProperties.Get_Location: WideString;
begin
    Result := DefaultInterface.Location;
end;

procedure TAppointmentItemProperties.Set_Location(const Location: WideString);
  { Warning: The property Location has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Location := Location;
end;

function TAppointmentItemProperties.Get_MeetingStatus: OlMeetingStatus;
begin
    Result := DefaultInterface.MeetingStatus;
end;

procedure TAppointmentItemProperties.Set_MeetingStatus(MeetingStatus: OlMeetingStatus);
begin
  DefaultInterface.Set_MeetingStatus(MeetingStatus);
end;

function TAppointmentItemProperties.Get_NetMeetingAutoStart: WordBool;
begin
    Result := DefaultInterface.NetMeetingAutoStart;
end;

procedure TAppointmentItemProperties.Set_NetMeetingAutoStart(NetMeetingAutoStart: WordBool);
begin
  DefaultInterface.Set_NetMeetingAutoStart(NetMeetingAutoStart);
end;

function TAppointmentItemProperties.Get_NetMeetingOrganizerAlias: WideString;
begin
    Result := DefaultInterface.NetMeetingOrganizerAlias;
end;

procedure TAppointmentItemProperties.Set_NetMeetingOrganizerAlias(const NetMeetingOrganizerAlias: WideString);
  { Warning: The property NetMeetingOrganizerAlias has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.NetMeetingOrganizerAlias := NetMeetingOrganizerAlias;
end;

function TAppointmentItemProperties.Get_NetMeetingServer: WideString;
begin
    Result := DefaultInterface.NetMeetingServer;
end;

procedure TAppointmentItemProperties.Set_NetMeetingServer(const NetMeetingServer: WideString);
  { Warning: The property NetMeetingServer has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.NetMeetingServer := NetMeetingServer;
end;

function TAppointmentItemProperties.Get_NetMeetingType: OlNetMeetingType;
begin
    Result := DefaultInterface.NetMeetingType;
end;

procedure TAppointmentItemProperties.Set_NetMeetingType(NetMeetingType: OlNetMeetingType);
begin
  DefaultInterface.Set_NetMeetingType(NetMeetingType);
end;

function TAppointmentItemProperties.Get_OptionalAttendees: WideString;
begin
    Result := DefaultInterface.OptionalAttendees;
end;

procedure TAppointmentItemProperties.Set_OptionalAttendees(const OptionalAttendees: WideString);
  { Warning: The property OptionalAttendees has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.OptionalAttendees := OptionalAttendees;
end;

function TAppointmentItemProperties.Get_Organizer: WideString;
begin
    Result := DefaultInterface.Organizer;
end;

function TAppointmentItemProperties.Get_Recipients: Recipients;
begin
    Result := DefaultInterface.Recipients;
end;

function TAppointmentItemProperties.Get_RecurrenceState: OlRecurrenceState;
begin
    Result := DefaultInterface.RecurrenceState;
end;

function TAppointmentItemProperties.Get_ReminderMinutesBeforeStart: Integer;
begin
    Result := DefaultInterface.ReminderMinutesBeforeStart;
end;

procedure TAppointmentItemProperties.Set_ReminderMinutesBeforeStart(ReminderMinutesBeforeStart: Integer);
begin
  DefaultInterface.Set_ReminderMinutesBeforeStart(ReminderMinutesBeforeStart);
end;

function TAppointmentItemProperties.Get_ReminderOverrideDefault: WordBool;
begin
    Result := DefaultInterface.ReminderOverrideDefault;
end;

procedure TAppointmentItemProperties.Set_ReminderOverrideDefault(ReminderOverrideDefault: WordBool);
begin
  DefaultInterface.Set_ReminderOverrideDefault(ReminderOverrideDefault);
end;

function TAppointmentItemProperties.Get_ReminderPlaySound: WordBool;
begin
    Result := DefaultInterface.ReminderPlaySound;
end;

procedure TAppointmentItemProperties.Set_ReminderPlaySound(ReminderPlaySound: WordBool);
begin
  DefaultInterface.Set_ReminderPlaySound(ReminderPlaySound);
end;

function TAppointmentItemProperties.Get_ReminderSet: WordBool;
begin
    Result := DefaultInterface.ReminderSet;
end;

procedure TAppointmentItemProperties.Set_ReminderSet(ReminderSet: WordBool);
begin
  DefaultInterface.Set_ReminderSet(ReminderSet);
end;

function TAppointmentItemProperties.Get_ReminderSoundFile: WideString;
begin
    Result := DefaultInterface.ReminderSoundFile;
end;

procedure TAppointmentItemProperties.Set_ReminderSoundFile(const ReminderSoundFile: WideString);
  { Warning: The property ReminderSoundFile has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.ReminderSoundFile := ReminderSoundFile;
end;

function TAppointmentItemProperties.Get_ReplyTime: TDateTime;
begin
    Result := DefaultInterface.ReplyTime;
end;

procedure TAppointmentItemProperties.Set_ReplyTime(ReplyTime: TDateTime);
begin
  DefaultInterface.Set_ReplyTime(ReplyTime);
end;

function TAppointmentItemProperties.Get_RequiredAttendees: WideString;
begin
    Result := DefaultInterface.RequiredAttendees;
end;

procedure TAppointmentItemProperties.Set_RequiredAttendees(const RequiredAttendees: WideString);
  { Warning: The property RequiredAttendees has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.RequiredAttendees := RequiredAttendees;
end;

function TAppointmentItemProperties.Get_Resources: WideString;
begin
    Result := DefaultInterface.Resources;
end;

procedure TAppointmentItemProperties.Set_Resources(const Resources: WideString);
  { Warning: The property Resources has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Resources := Resources;
end;

function TAppointmentItemProperties.Get_ResponseRequested: WordBool;
begin
    Result := DefaultInterface.ResponseRequested;
end;

procedure TAppointmentItemProperties.Set_ResponseRequested(ResponseRequested: WordBool);
begin
  DefaultInterface.Set_ResponseRequested(ResponseRequested);
end;

function TAppointmentItemProperties.Get_ResponseStatus: OlResponseStatus;
begin
    Result := DefaultInterface.ResponseStatus;
end;

function TAppointmentItemProperties.Get_Start: TDateTime;
begin
    Result := DefaultInterface.Start;
end;

procedure TAppointmentItemProperties.Set_Start(Start: TDateTime);
begin
  DefaultInterface.Set_Start(Start);
end;

function TAppointmentItemProperties.Get_NetMeetingDocPathName: WideString;
begin
    Result := DefaultInterface.NetMeetingDocPathName;
end;

procedure TAppointmentItemProperties.Set_NetMeetingDocPathName(const NetMeetingDocPathName: WideString);
  { Warning: The property NetMeetingDocPathName has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.NetMeetingDocPathName := NetMeetingDocPathName;
end;

function TAppointmentItemProperties.Get_NetShowURL: WideString;
begin
    Result := DefaultInterface.NetShowURL;
end;

procedure TAppointmentItemProperties.Set_NetShowURL(const NetShowURL: WideString);
  { Warning: The property NetShowURL has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.NetShowURL := NetShowURL;
end;

function TAppointmentItemProperties.Get_Links: Links;
begin
    Result := DefaultInterface.Links;
end;

function TAppointmentItemProperties.Get_ConferenceServerAllowExternal: WordBool;
begin
    Result := DefaultInterface.ConferenceServerAllowExternal;
end;

procedure TAppointmentItemProperties.Set_ConferenceServerAllowExternal(ConferenceServerAllowExternal: WordBool);
begin
  DefaultInterface.Set_ConferenceServerAllowExternal(ConferenceServerAllowExternal);
end;

function TAppointmentItemProperties.Get_ConferenceServerPassword: WideString;
begin
    Result := DefaultInterface.ConferenceServerPassword;
end;

procedure TAppointmentItemProperties.Set_ConferenceServerPassword(const ConferenceServerPassword: WideString);
  { Warning: The property ConferenceServerPassword has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.ConferenceServerPassword := ConferenceServerPassword;
end;

function TAppointmentItemProperties.Get_ItemProperties: ItemProperties;
begin
    Result := DefaultInterface.ItemProperties;
end;

function TAppointmentItemProperties.Get_DownloadState: OlDownloadState;
begin
    Result := DefaultInterface.DownloadState;
end;

function TAppointmentItemProperties.Get_InternetCodepage: Integer;
begin
    Result := DefaultInterface.InternetCodepage;
end;

procedure TAppointmentItemProperties.Set_InternetCodepage(InternetCodepage: Integer);
begin
  DefaultInterface.Set_InternetCodepage(InternetCodepage);
end;

function TAppointmentItemProperties.Get_MarkForDownload: OlRemoteStatus;
begin
    Result := DefaultInterface.MarkForDownload;
end;

procedure TAppointmentItemProperties.Set_MarkForDownload(MarkForDownload: OlRemoteStatus);
begin
  DefaultInterface.Set_MarkForDownload(MarkForDownload);
end;

function TAppointmentItemProperties.Get_IsConflict: WordBool;
begin
    Result := DefaultInterface.IsConflict;
end;

{$ENDIF}

class function CoMeetingItem.Create: _MeetingItem;
begin
  Result := CreateComObject(CLASS_MeetingItem) as _MeetingItem;
end;

class function CoMeetingItem.CreateRemote(const MachineName: string): _MeetingItem;
begin
  Result := CreateRemoteComObject(MachineName, CLASS_MeetingItem) as _MeetingItem;
end;

procedure TMeetingItem.InitServerData;
const
  CServerData: TServerData = (
    ClassID:   '{00061036-0000-0000-C000-000000000046}';
    IntfIID:   '{00063062-0000-0000-C000-000000000046}';
    EventIID:  '{0006302B-0000-0000-C000-000000000046}';
    LicenseKey: nil;
    Version: 500);
begin
  ServerData := @CServerData;
end;

procedure TMeetingItem.Connect;
var
  punk: IUnknown;
begin
  if FIntf = nil then
  begin
    punk := GetServer;
    ConnectEvents(punk);
    Fintf:= punk as _MeetingItem;
  end;
end;

procedure TMeetingItem.ConnectTo(svrIntf: _MeetingItem);
begin
  Disconnect;
  FIntf := svrIntf;
  ConnectEvents(FIntf);
end;

procedure TMeetingItem.DisConnect;
begin
  if Fintf <> nil then
  begin
    DisconnectEvents(FIntf);
    FIntf := nil;
  end;
end;

function TMeetingItem.GetDefaultInterface: _MeetingItem;
begin
  if FIntf = nil then
    Connect;
  Assert(FIntf <> nil, 'DefaultInterface is NULL. Component is not connected to Server. You must call ''Connect'' or ''ConnectTo'' before this operation');
  Result := FIntf;
end;

constructor TMeetingItem.Create(AOwner: TComponent);
begin
  inherited Create(AOwner);
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  FProps := TMeetingItemProperties.Create(Self);
{$ENDIF}
end;

destructor TMeetingItem.Destroy;
begin
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  FProps.Free;
{$ENDIF}
  inherited Destroy;
end;

{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
function TMeetingItem.GetServerProperties: TMeetingItemProperties;
begin
  Result := FProps;
end;
{$ENDIF}

procedure TMeetingItem.InvokeEvent(DispID: TDispID; var Params: TVariantArray);
begin
  case DispID of
    -1: Exit;  // DISPID_UNKNOWN
    61443: if Assigned(FOnOpen) then
         FOnOpen(Self, WordBool((TVarData(Params[0]).VPointer)^) {var WordBool});
    61446: if Assigned(FOnCustomAction) then
         FOnCustomAction(Self,
                         Params[0] {const IDispatch},
                         Params[1] {const IDispatch},
                         WordBool((TVarData(Params[2]).VPointer)^) {var WordBool});
    61448: if Assigned(FOnCustomPropertyChange) then
         FOnCustomPropertyChange(Self, Params[0] {const WideString});
    62568: if Assigned(FOnForward) then
         FOnForward(Self,
                    Params[0] {const IDispatch},
                    WordBool((TVarData(Params[1]).VPointer)^) {var WordBool});
    61444: if Assigned(FOnClose) then
         FOnClose(Self, WordBool((TVarData(Params[0]).VPointer)^) {var WordBool});
    61449: if Assigned(FOnPropertyChange) then
         FOnPropertyChange(Self, Params[0] {const WideString});
    61441: if Assigned(FOnRead) then
         FOnRead(Self);
    62566: if Assigned(FOnReply) then
         FOnReply(Self,
                  Params[0] {const IDispatch},
                  WordBool((TVarData(Params[1]).VPointer)^) {var WordBool});
    62567: if Assigned(FOnReplyAll) then
         FOnReplyAll(Self,
                     Params[0] {const IDispatch},
                     WordBool((TVarData(Params[1]).VPointer)^) {var WordBool});
    61445: if Assigned(FOnSend) then
         FOnSend(Self, WordBool((TVarData(Params[0]).VPointer)^) {var WordBool});
    61442: if Assigned(FOnWrite) then
         FOnWrite(Self, WordBool((TVarData(Params[0]).VPointer)^) {var WordBool});
    61450: if Assigned(FOnBeforeCheckNames) then
         FOnBeforeCheckNames(Self, WordBool((TVarData(Params[0]).VPointer)^) {var WordBool});
    61451: if Assigned(FOnAttachmentAdd) then
         FOnAttachmentAdd(Self, IUnknown(TVarData(Params[0]).VPointer) as Attachment {const Attachment});
    61452: if Assigned(FOnAttachmentRead) then
         FOnAttachmentRead(Self, IUnknown(TVarData(Params[0]).VPointer) as Attachment {const Attachment});
    61453: if Assigned(FOnBeforeAttachmentSave) then
         FOnBeforeAttachmentSave(Self,
                                 IUnknown(TVarData(Params[0]).VPointer) as Attachment {const Attachment},
                                 WordBool((TVarData(Params[1]).VPointer)^) {var WordBool});
    64117: if Assigned(FOnBeforeDelete) then
         FOnBeforeDelete(Self,
                         Params[0] {const IDispatch},
                         WordBool((TVarData(Params[1]).VPointer)^) {var WordBool});
  end; {case DispID}
end;

function TMeetingItem.Get_Application: _Application;
begin
    Result := DefaultInterface.Application;
end;

function TMeetingItem.Get_Class_: OlObjectClass;
begin
    Result := DefaultInterface.Class_;
end;

function TMeetingItem.Get_Session: _NameSpace;
begin
    Result := DefaultInterface.Session;
end;

function TMeetingItem.Get_Parent: IDispatch;
begin
    Result := DefaultInterface.Parent;
end;

function TMeetingItem.Get_Actions: Actions;
begin
    Result := DefaultInterface.Actions;
end;

function TMeetingItem.Get_Attachments: Attachments;
begin
    Result := DefaultInterface.Attachments;
end;

function TMeetingItem.Get_BillingInformation: WideString;
begin
    Result := DefaultInterface.BillingInformation;
end;

procedure TMeetingItem.Set_BillingInformation(const BillingInformation: WideString);
  { Warning: The property BillingInformation has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.BillingInformation := BillingInformation;
end;

function TMeetingItem.Get_Body: WideString;
begin
    Result := DefaultInterface.Body;
end;

procedure TMeetingItem.Set_Body(const Body: WideString);
  { Warning: The property Body has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Body := Body;
end;

function TMeetingItem.Get_Categories: WideString;
begin
    Result := DefaultInterface.Categories;
end;

procedure TMeetingItem.Set_Categories(const Categories: WideString);
  { Warning: The property Categories has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Categories := Categories;
end;

function TMeetingItem.Get_Companies: WideString;
begin
    Result := DefaultInterface.Companies;
end;

procedure TMeetingItem.Set_Companies(const Companies: WideString);
  { Warning: The property Companies has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Companies := Companies;
end;

function TMeetingItem.Get_ConversationIndex: WideString;
begin
    Result := DefaultInterface.ConversationIndex;
end;

function TMeetingItem.Get_ConversationTopic: WideString;
begin
    Result := DefaultInterface.ConversationTopic;
end;

function TMeetingItem.Get_CreationTime: TDateTime;
begin
    Result := DefaultInterface.CreationTime;
end;

function TMeetingItem.Get_EntryID: WideString;
begin
    Result := DefaultInterface.EntryID;
end;

function TMeetingItem.Get_FormDescription: FormDescription;
begin
    Result := DefaultInterface.FormDescription;
end;

function TMeetingItem.Get_GetInspector: _Inspector;
begin
    Result := DefaultInterface.GetInspector;
end;

function TMeetingItem.Get_Importance: OlImportance;
begin
    Result := DefaultInterface.Importance;
end;

procedure TMeetingItem.Set_Importance(Importance: OlImportance);
begin
  DefaultInterface.Set_Importance(Importance);
end;

function TMeetingItem.Get_LastModificationTime: TDateTime;
begin
    Result := DefaultInterface.LastModificationTime;
end;

function TMeetingItem.Get_MAPIOBJECT: IUnknown;
begin
    Result := DefaultInterface.MAPIOBJECT;
end;

function TMeetingItem.Get_MessageClass: WideString;
begin
    Result := DefaultInterface.MessageClass;
end;

procedure TMeetingItem.Set_MessageClass(const MessageClass: WideString);
  { Warning: The property MessageClass has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.MessageClass := MessageClass;
end;

function TMeetingItem.Get_Mileage: WideString;
begin
    Result := DefaultInterface.Mileage;
end;

procedure TMeetingItem.Set_Mileage(const Mileage: WideString);
  { Warning: The property Mileage has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Mileage := Mileage;
end;

function TMeetingItem.Get_NoAging: WordBool;
begin
    Result := DefaultInterface.NoAging;
end;

procedure TMeetingItem.Set_NoAging(NoAging: WordBool);
begin
  DefaultInterface.Set_NoAging(NoAging);
end;

function TMeetingItem.Get_OutlookInternalVersion: Integer;
begin
    Result := DefaultInterface.OutlookInternalVersion;
end;

function TMeetingItem.Get_OutlookVersion: WideString;
begin
    Result := DefaultInterface.OutlookVersion;
end;

function TMeetingItem.Get_Saved: WordBool;
begin
    Result := DefaultInterface.Saved;
end;

function TMeetingItem.Get_Sensitivity: OlSensitivity;
begin
    Result := DefaultInterface.Sensitivity;
end;

procedure TMeetingItem.Set_Sensitivity(Sensitivity: OlSensitivity);
begin
  DefaultInterface.Set_Sensitivity(Sensitivity);
end;

function TMeetingItem.Get_Size: Integer;
begin
    Result := DefaultInterface.Size;
end;

function TMeetingItem.Get_Subject: WideString;
begin
    Result := DefaultInterface.Subject;
end;

procedure TMeetingItem.Set_Subject(const Subject: WideString);
  { Warning: The property Subject has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Subject := Subject;
end;

function TMeetingItem.Get_UnRead: WordBool;
begin
    Result := DefaultInterface.UnRead;
end;

procedure TMeetingItem.Set_UnRead(UnRead: WordBool);
begin
  DefaultInterface.Set_UnRead(UnRead);
end;

function TMeetingItem.Get_UserProperties: UserProperties;
begin
    Result := DefaultInterface.UserProperties;
end;

function TMeetingItem.Get_AutoForwarded: WordBool;
begin
    Result := DefaultInterface.AutoForwarded;
end;

procedure TMeetingItem.Set_AutoForwarded(AutoForwarded: WordBool);
begin
  DefaultInterface.Set_AutoForwarded(AutoForwarded);
end;

function TMeetingItem.Get_DeferredDeliveryTime: TDateTime;
begin
    Result := DefaultInterface.DeferredDeliveryTime;
end;

procedure TMeetingItem.Set_DeferredDeliveryTime(DeferredDeliveryTime: TDateTime);
begin
  DefaultInterface.Set_DeferredDeliveryTime(DeferredDeliveryTime);
end;

function TMeetingItem.Get_DeleteAfterSubmit: WordBool;
begin
    Result := DefaultInterface.DeleteAfterSubmit;
end;

procedure TMeetingItem.Set_DeleteAfterSubmit(DeleteAfterSubmit: WordBool);
begin
  DefaultInterface.Set_DeleteAfterSubmit(DeleteAfterSubmit);
end;

function TMeetingItem.Get_ExpiryTime: TDateTime;
begin
    Result := DefaultInterface.ExpiryTime;
end;

procedure TMeetingItem.Set_ExpiryTime(ExpiryTime: TDateTime);
begin
  DefaultInterface.Set_ExpiryTime(ExpiryTime);
end;

function TMeetingItem.Get_FlagDueBy: TDateTime;
begin
    Result := DefaultInterface.FlagDueBy;
end;

procedure TMeetingItem.Set_FlagDueBy(FlagDueBy: TDateTime);
begin
  DefaultInterface.Set_FlagDueBy(FlagDueBy);
end;

function TMeetingItem.Get_FlagRequest: WideString;
begin
    Result := DefaultInterface.FlagRequest;
end;

procedure TMeetingItem.Set_FlagRequest(const FlagRequest: WideString);
  { Warning: The property FlagRequest has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.FlagRequest := FlagRequest;
end;

function TMeetingItem.Get_FlagStatus: OlFlagStatus;
begin
    Result := DefaultInterface.FlagStatus;
end;

procedure TMeetingItem.Set_FlagStatus(FlagStatus: OlFlagStatus);
begin
  DefaultInterface.Set_FlagStatus(FlagStatus);
end;

function TMeetingItem.Get_OriginatorDeliveryReportRequested: WordBool;
begin
    Result := DefaultInterface.OriginatorDeliveryReportRequested;
end;

procedure TMeetingItem.Set_OriginatorDeliveryReportRequested(OriginatorDeliveryReportRequested: WordBool);
begin
  DefaultInterface.Set_OriginatorDeliveryReportRequested(OriginatorDeliveryReportRequested);
end;

function TMeetingItem.Get_ReceivedTime: TDateTime;
begin
    Result := DefaultInterface.ReceivedTime;
end;

procedure TMeetingItem.Set_ReceivedTime(ReceivedTime: TDateTime);
begin
  DefaultInterface.Set_ReceivedTime(ReceivedTime);
end;

function TMeetingItem.Get_Recipients: Recipients;
begin
    Result := DefaultInterface.Recipients;
end;

function TMeetingItem.Get_ReminderSet: WordBool;
begin
    Result := DefaultInterface.ReminderSet;
end;

procedure TMeetingItem.Set_ReminderSet(ReminderSet: WordBool);
begin
  DefaultInterface.Set_ReminderSet(ReminderSet);
end;

function TMeetingItem.Get_ReminderTime: TDateTime;
begin
    Result := DefaultInterface.ReminderTime;
end;

procedure TMeetingItem.Set_ReminderTime(ReminderTime: TDateTime);
begin
  DefaultInterface.Set_ReminderTime(ReminderTime);
end;

function TMeetingItem.Get_ReplyRecipients: Recipients;
begin
    Result := DefaultInterface.ReplyRecipients;
end;

function TMeetingItem.Get_SaveSentMessageFolder: MAPIFolder;
begin
    Result := DefaultInterface.SaveSentMessageFolder;
end;

procedure TMeetingItem._Set_SaveSentMessageFolder(const SaveSentMessageFolder: MAPIFolder);
  { Warning: The property SaveSentMessageFolder has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.SaveSentMessageFolder := SaveSentMessageFolder;
end;

function TMeetingItem.Get_SenderName: WideString;
begin
    Result := DefaultInterface.SenderName;
end;

function TMeetingItem.Get_Sent: WordBool;
begin
    Result := DefaultInterface.Sent;
end;

function TMeetingItem.Get_SentOn: TDateTime;
begin
    Result := DefaultInterface.SentOn;
end;

function TMeetingItem.Get_Submitted: WordBool;
begin
    Result := DefaultInterface.Submitted;
end;

function TMeetingItem.Get_Links: Links;
begin
    Result := DefaultInterface.Links;
end;

function TMeetingItem.Get_DownloadState: OlDownloadState;
begin
    Result := DefaultInterface.DownloadState;
end;

function TMeetingItem.Get_ItemProperties: ItemProperties;
begin
    Result := DefaultInterface.ItemProperties;
end;

function TMeetingItem.Get_MarkForDownload: OlRemoteStatus;
begin
    Result := DefaultInterface.MarkForDownload;
end;

procedure TMeetingItem.Set_MarkForDownload(MarkForDownload: OlRemoteStatus);
begin
  DefaultInterface.Set_MarkForDownload(MarkForDownload);
end;

function TMeetingItem.Get_IsConflict: WordBool;
begin
    Result := DefaultInterface.IsConflict;
end;

procedure TMeetingItem.Close(SaveMode: OlInspectorClose);
begin
  DefaultInterface.Close(SaveMode);
end;

function TMeetingItem.Copy: IDispatch;
begin
  Result := DefaultInterface.Copy;
end;

procedure TMeetingItem.Delete;
begin
  DefaultInterface.Delete;
end;

procedure TMeetingItem.Display;
begin
  DefaultInterface.Display(EmptyParam);
end;

procedure TMeetingItem.Display(Modal: OleVariant);
begin
  DefaultInterface.Display(Modal);
end;

function TMeetingItem.Move(const DestFldr: MAPIFolder): IDispatch;
begin
  Result := DefaultInterface.Move(DestFldr);
end;

procedure TMeetingItem.PrintOut;
begin
  DefaultInterface.PrintOut;
end;

procedure TMeetingItem.Save;
begin
  DefaultInterface.Save;
end;

procedure TMeetingItem.SaveAs(const Path: WideString);
begin
  DefaultInterface.SaveAs(Path, EmptyParam);
end;

procedure TMeetingItem.SaveAs(const Path: WideString; Type_: OleVariant);
begin
  DefaultInterface.SaveAs(Path, Type_);
end;

function TMeetingItem.Forward: MeetingItem;
begin
  Result := DefaultInterface.Forward;
end;

function TMeetingItem.GetAssociatedAppointment(AddToCalendar: WordBool): AppointmentItem;
begin
  Result := DefaultInterface.GetAssociatedAppointment(AddToCalendar);
end;

function TMeetingItem.Reply: MailItem;
begin
  Result := DefaultInterface.Reply;
end;

function TMeetingItem.ReplyAll: MailItem;
begin
  Result := DefaultInterface.ReplyAll;
end;

procedure TMeetingItem.Send;
begin
  DefaultInterface.Send;
end;

procedure TMeetingItem.ShowCategoriesDialog;
begin
  DefaultInterface.ShowCategoriesDialog;
end;

{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
constructor TMeetingItemProperties.Create(AServer: TMeetingItem);
begin
  inherited Create;
  FServer := AServer;
end;

function TMeetingItemProperties.GetDefaultInterface: _MeetingItem;
begin
  Result := FServer.DefaultInterface;
end;

function TMeetingItemProperties.Get_Application: _Application;
begin
    Result := DefaultInterface.Application;
end;

function TMeetingItemProperties.Get_Class_: OlObjectClass;
begin
    Result := DefaultInterface.Class_;
end;

function TMeetingItemProperties.Get_Session: _NameSpace;
begin
    Result := DefaultInterface.Session;
end;

function TMeetingItemProperties.Get_Parent: IDispatch;
begin
    Result := DefaultInterface.Parent;
end;

function TMeetingItemProperties.Get_Actions: Actions;
begin
    Result := DefaultInterface.Actions;
end;

function TMeetingItemProperties.Get_Attachments: Attachments;
begin
    Result := DefaultInterface.Attachments;
end;

function TMeetingItemProperties.Get_BillingInformation: WideString;
begin
    Result := DefaultInterface.BillingInformation;
end;

procedure TMeetingItemProperties.Set_BillingInformation(const BillingInformation: WideString);
  { Warning: The property BillingInformation has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.BillingInformation := BillingInformation;
end;

function TMeetingItemProperties.Get_Body: WideString;
begin
    Result := DefaultInterface.Body;
end;

procedure TMeetingItemProperties.Set_Body(const Body: WideString);
  { Warning: The property Body has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Body := Body;
end;

function TMeetingItemProperties.Get_Categories: WideString;
begin
    Result := DefaultInterface.Categories;
end;

procedure TMeetingItemProperties.Set_Categories(const Categories: WideString);
  { Warning: The property Categories has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Categories := Categories;
end;

function TMeetingItemProperties.Get_Companies: WideString;
begin
    Result := DefaultInterface.Companies;
end;

procedure TMeetingItemProperties.Set_Companies(const Companies: WideString);
  { Warning: The property Companies has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Companies := Companies;
end;

function TMeetingItemProperties.Get_ConversationIndex: WideString;
begin
    Result := DefaultInterface.ConversationIndex;
end;

function TMeetingItemProperties.Get_ConversationTopic: WideString;
begin
    Result := DefaultInterface.ConversationTopic;
end;

function TMeetingItemProperties.Get_CreationTime: TDateTime;
begin
    Result := DefaultInterface.CreationTime;
end;

function TMeetingItemProperties.Get_EntryID: WideString;
begin
    Result := DefaultInterface.EntryID;
end;

function TMeetingItemProperties.Get_FormDescription: FormDescription;
begin
    Result := DefaultInterface.FormDescription;
end;

function TMeetingItemProperties.Get_GetInspector: _Inspector;
begin
    Result := DefaultInterface.GetInspector;
end;

function TMeetingItemProperties.Get_Importance: OlImportance;
begin
    Result := DefaultInterface.Importance;
end;

procedure TMeetingItemProperties.Set_Importance(Importance: OlImportance);
begin
  DefaultInterface.Set_Importance(Importance);
end;

function TMeetingItemProperties.Get_LastModificationTime: TDateTime;
begin
    Result := DefaultInterface.LastModificationTime;
end;

function TMeetingItemProperties.Get_MAPIOBJECT: IUnknown;
begin
    Result := DefaultInterface.MAPIOBJECT;
end;

function TMeetingItemProperties.Get_MessageClass: WideString;
begin
    Result := DefaultInterface.MessageClass;
end;

procedure TMeetingItemProperties.Set_MessageClass(const MessageClass: WideString);
  { Warning: The property MessageClass has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.MessageClass := MessageClass;
end;

function TMeetingItemProperties.Get_Mileage: WideString;
begin
    Result := DefaultInterface.Mileage;
end;

procedure TMeetingItemProperties.Set_Mileage(const Mileage: WideString);
  { Warning: The property Mileage has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Mileage := Mileage;
end;

function TMeetingItemProperties.Get_NoAging: WordBool;
begin
    Result := DefaultInterface.NoAging;
end;

procedure TMeetingItemProperties.Set_NoAging(NoAging: WordBool);
begin
  DefaultInterface.Set_NoAging(NoAging);
end;

function TMeetingItemProperties.Get_OutlookInternalVersion: Integer;
begin
    Result := DefaultInterface.OutlookInternalVersion;
end;

function TMeetingItemProperties.Get_OutlookVersion: WideString;
begin
    Result := DefaultInterface.OutlookVersion;
end;

function TMeetingItemProperties.Get_Saved: WordBool;
begin
    Result := DefaultInterface.Saved;
end;

function TMeetingItemProperties.Get_Sensitivity: OlSensitivity;
begin
    Result := DefaultInterface.Sensitivity;
end;

procedure TMeetingItemProperties.Set_Sensitivity(Sensitivity: OlSensitivity);
begin
  DefaultInterface.Set_Sensitivity(Sensitivity);
end;

function TMeetingItemProperties.Get_Size: Integer;
begin
    Result := DefaultInterface.Size;
end;

function TMeetingItemProperties.Get_Subject: WideString;
begin
    Result := DefaultInterface.Subject;
end;

procedure TMeetingItemProperties.Set_Subject(const Subject: WideString);
  { Warning: The property Subject has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Subject := Subject;
end;

function TMeetingItemProperties.Get_UnRead: WordBool;
begin
    Result := DefaultInterface.UnRead;
end;

procedure TMeetingItemProperties.Set_UnRead(UnRead: WordBool);
begin
  DefaultInterface.Set_UnRead(UnRead);
end;

function TMeetingItemProperties.Get_UserProperties: UserProperties;
begin
    Result := DefaultInterface.UserProperties;
end;

function TMeetingItemProperties.Get_AutoForwarded: WordBool;
begin
    Result := DefaultInterface.AutoForwarded;
end;

procedure TMeetingItemProperties.Set_AutoForwarded(AutoForwarded: WordBool);
begin
  DefaultInterface.Set_AutoForwarded(AutoForwarded);
end;

function TMeetingItemProperties.Get_DeferredDeliveryTime: TDateTime;
begin
    Result := DefaultInterface.DeferredDeliveryTime;
end;

procedure TMeetingItemProperties.Set_DeferredDeliveryTime(DeferredDeliveryTime: TDateTime);
begin
  DefaultInterface.Set_DeferredDeliveryTime(DeferredDeliveryTime);
end;

function TMeetingItemProperties.Get_DeleteAfterSubmit: WordBool;
begin
    Result := DefaultInterface.DeleteAfterSubmit;
end;

procedure TMeetingItemProperties.Set_DeleteAfterSubmit(DeleteAfterSubmit: WordBool);
begin
  DefaultInterface.Set_DeleteAfterSubmit(DeleteAfterSubmit);
end;

function TMeetingItemProperties.Get_ExpiryTime: TDateTime;
begin
    Result := DefaultInterface.ExpiryTime;
end;

procedure TMeetingItemProperties.Set_ExpiryTime(ExpiryTime: TDateTime);
begin
  DefaultInterface.Set_ExpiryTime(ExpiryTime);
end;

function TMeetingItemProperties.Get_FlagDueBy: TDateTime;
begin
    Result := DefaultInterface.FlagDueBy;
end;

procedure TMeetingItemProperties.Set_FlagDueBy(FlagDueBy: TDateTime);
begin
  DefaultInterface.Set_FlagDueBy(FlagDueBy);
end;

function TMeetingItemProperties.Get_FlagRequest: WideString;
begin
    Result := DefaultInterface.FlagRequest;
end;

procedure TMeetingItemProperties.Set_FlagRequest(const FlagRequest: WideString);
  { Warning: The property FlagRequest has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.FlagRequest := FlagRequest;
end;

function TMeetingItemProperties.Get_FlagStatus: OlFlagStatus;
begin
    Result := DefaultInterface.FlagStatus;
end;

procedure TMeetingItemProperties.Set_FlagStatus(FlagStatus: OlFlagStatus);
begin
  DefaultInterface.Set_FlagStatus(FlagStatus);
end;

function TMeetingItemProperties.Get_OriginatorDeliveryReportRequested: WordBool;
begin
    Result := DefaultInterface.OriginatorDeliveryReportRequested;
end;

procedure TMeetingItemProperties.Set_OriginatorDeliveryReportRequested(OriginatorDeliveryReportRequested: WordBool);
begin
  DefaultInterface.Set_OriginatorDeliveryReportRequested(OriginatorDeliveryReportRequested);
end;

function TMeetingItemProperties.Get_ReceivedTime: TDateTime;
begin
    Result := DefaultInterface.ReceivedTime;
end;

procedure TMeetingItemProperties.Set_ReceivedTime(ReceivedTime: TDateTime);
begin
  DefaultInterface.Set_ReceivedTime(ReceivedTime);
end;

function TMeetingItemProperties.Get_Recipients: Recipients;
begin
    Result := DefaultInterface.Recipients;
end;

function TMeetingItemProperties.Get_ReminderSet: WordBool;
begin
    Result := DefaultInterface.ReminderSet;
end;

procedure TMeetingItemProperties.Set_ReminderSet(ReminderSet: WordBool);
begin
  DefaultInterface.Set_ReminderSet(ReminderSet);
end;

function TMeetingItemProperties.Get_ReminderTime: TDateTime;
begin
    Result := DefaultInterface.ReminderTime;
end;

procedure TMeetingItemProperties.Set_ReminderTime(ReminderTime: TDateTime);
begin
  DefaultInterface.Set_ReminderTime(ReminderTime);
end;

function TMeetingItemProperties.Get_ReplyRecipients: Recipients;
begin
    Result := DefaultInterface.ReplyRecipients;
end;

function TMeetingItemProperties.Get_SaveSentMessageFolder: MAPIFolder;
begin
    Result := DefaultInterface.SaveSentMessageFolder;
end;

procedure TMeetingItemProperties._Set_SaveSentMessageFolder(const SaveSentMessageFolder: MAPIFolder);
  { Warning: The property SaveSentMessageFolder has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.SaveSentMessageFolder := SaveSentMessageFolder;
end;

function TMeetingItemProperties.Get_SenderName: WideString;
begin
    Result := DefaultInterface.SenderName;
end;

function TMeetingItemProperties.Get_Sent: WordBool;
begin
    Result := DefaultInterface.Sent;
end;

function TMeetingItemProperties.Get_SentOn: TDateTime;
begin
    Result := DefaultInterface.SentOn;
end;

function TMeetingItemProperties.Get_Submitted: WordBool;
begin
    Result := DefaultInterface.Submitted;
end;

function TMeetingItemProperties.Get_Links: Links;
begin
    Result := DefaultInterface.Links;
end;

function TMeetingItemProperties.Get_DownloadState: OlDownloadState;
begin
    Result := DefaultInterface.DownloadState;
end;

function TMeetingItemProperties.Get_ItemProperties: ItemProperties;
begin
    Result := DefaultInterface.ItemProperties;
end;

function TMeetingItemProperties.Get_MarkForDownload: OlRemoteStatus;
begin
    Result := DefaultInterface.MarkForDownload;
end;

procedure TMeetingItemProperties.Set_MarkForDownload(MarkForDownload: OlRemoteStatus);
begin
  DefaultInterface.Set_MarkForDownload(MarkForDownload);
end;

function TMeetingItemProperties.Get_IsConflict: WordBool;
begin
    Result := DefaultInterface.IsConflict;
end;

{$ENDIF}

class function CoTaskItem.Create: _TaskItem;
begin
  Result := CreateComObject(CLASS_TaskItem) as _TaskItem;
end;

class function CoTaskItem.CreateRemote(const MachineName: string): _TaskItem;
begin
  Result := CreateRemoteComObject(MachineName, CLASS_TaskItem) as _TaskItem;
end;

procedure TTaskItem.InitServerData;
const
  CServerData: TServerData = (
    ClassID:   '{00061032-0000-0000-C000-000000000046}';
    IntfIID:   '{00063035-0000-0000-C000-000000000046}';
    EventIID:  '{0006302B-0000-0000-C000-000000000046}';
    LicenseKey: nil;
    Version: 500);
begin
  ServerData := @CServerData;
end;

procedure TTaskItem.Connect;
var
  punk: IUnknown;
begin
  if FIntf = nil then
  begin
    punk := GetServer;
    ConnectEvents(punk);
    Fintf:= punk as _TaskItem;
  end;
end;

procedure TTaskItem.ConnectTo(svrIntf: _TaskItem);
begin
  Disconnect;
  FIntf := svrIntf;
  ConnectEvents(FIntf);
end;

procedure TTaskItem.DisConnect;
begin
  if Fintf <> nil then
  begin
    DisconnectEvents(FIntf);
    FIntf := nil;
  end;
end;

function TTaskItem.GetDefaultInterface: _TaskItem;
begin
  if FIntf = nil then
    Connect;
  Assert(FIntf <> nil, 'DefaultInterface is NULL. Component is not connected to Server. You must call ''Connect'' or ''ConnectTo'' before this operation');
  Result := FIntf;
end;

constructor TTaskItem.Create(AOwner: TComponent);
begin
  inherited Create(AOwner);
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  FProps := TTaskItemProperties.Create(Self);
{$ENDIF}
end;

destructor TTaskItem.Destroy;
begin
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  FProps.Free;
{$ENDIF}
  inherited Destroy;
end;

{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
function TTaskItem.GetServerProperties: TTaskItemProperties;
begin
  Result := FProps;
end;
{$ENDIF}

procedure TTaskItem.InvokeEvent(DispID: TDispID; var Params: TVariantArray);
begin
  case DispID of
    -1: Exit;  // DISPID_UNKNOWN
    61443: if Assigned(FOnOpen) then
         FOnOpen(Self, WordBool((TVarData(Params[0]).VPointer)^) {var WordBool});
    61446: if Assigned(FOnCustomAction) then
         FOnCustomAction(Self,
                         Params[0] {const IDispatch},
                         Params[1] {const IDispatch},
                         WordBool((TVarData(Params[2]).VPointer)^) {var WordBool});
    61448: if Assigned(FOnCustomPropertyChange) then
         FOnCustomPropertyChange(Self, Params[0] {const WideString});
    62568: if Assigned(FOnForward) then
         FOnForward(Self,
                    Params[0] {const IDispatch},
                    WordBool((TVarData(Params[1]).VPointer)^) {var WordBool});
    61444: if Assigned(FOnClose) then
         FOnClose(Self, WordBool((TVarData(Params[0]).VPointer)^) {var WordBool});
    61449: if Assigned(FOnPropertyChange) then
         FOnPropertyChange(Self, Params[0] {const WideString});
    61441: if Assigned(FOnRead) then
         FOnRead(Self);
    62566: if Assigned(FOnReply) then
         FOnReply(Self,
                  Params[0] {const IDispatch},
                  WordBool((TVarData(Params[1]).VPointer)^) {var WordBool});
    62567: if Assigned(FOnReplyAll) then
         FOnReplyAll(Self,
                     Params[0] {const IDispatch},
                     WordBool((TVarData(Params[1]).VPointer)^) {var WordBool});
    61445: if Assigned(FOnSend) then
         FOnSend(Self, WordBool((TVarData(Params[0]).VPointer)^) {var WordBool});
    61442: if Assigned(FOnWrite) then
         FOnWrite(Self, WordBool((TVarData(Params[0]).VPointer)^) {var WordBool});
    61450: if Assigned(FOnBeforeCheckNames) then
         FOnBeforeCheckNames(Self, WordBool((TVarData(Params[0]).VPointer)^) {var WordBool});
    61451: if Assigned(FOnAttachmentAdd) then
         FOnAttachmentAdd(Self, IUnknown(TVarData(Params[0]).VPointer) as Attachment {const Attachment});
    61452: if Assigned(FOnAttachmentRead) then
         FOnAttachmentRead(Self, IUnknown(TVarData(Params[0]).VPointer) as Attachment {const Attachment});
    61453: if Assigned(FOnBeforeAttachmentSave) then
         FOnBeforeAttachmentSave(Self,
                                 IUnknown(TVarData(Params[0]).VPointer) as Attachment {const Attachment},
                                 WordBool((TVarData(Params[1]).VPointer)^) {var WordBool});
    64117: if Assigned(FOnBeforeDelete) then
         FOnBeforeDelete(Self,
                         Params[0] {const IDispatch},
                         WordBool((TVarData(Params[1]).VPointer)^) {var WordBool});
  end; {case DispID}
end;

function TTaskItem.Get_Application: _Application;
begin
    Result := DefaultInterface.Application;
end;

function TTaskItem.Get_Class_: OlObjectClass;
begin
    Result := DefaultInterface.Class_;
end;

function TTaskItem.Get_Session: _NameSpace;
begin
    Result := DefaultInterface.Session;
end;

function TTaskItem.Get_Parent: IDispatch;
begin
    Result := DefaultInterface.Parent;
end;

function TTaskItem.Get_Actions: Actions;
begin
    Result := DefaultInterface.Actions;
end;

function TTaskItem.Get_Attachments: Attachments;
begin
    Result := DefaultInterface.Attachments;
end;

function TTaskItem.Get_BillingInformation: WideString;
begin
    Result := DefaultInterface.BillingInformation;
end;

procedure TTaskItem.Set_BillingInformation(const BillingInformation: WideString);
  { Warning: The property BillingInformation has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.BillingInformation := BillingInformation;
end;

function TTaskItem.Get_Body: WideString;
begin
    Result := DefaultInterface.Body;
end;

procedure TTaskItem.Set_Body(const Body: WideString);
  { Warning: The property Body has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Body := Body;
end;

function TTaskItem.Get_Categories: WideString;
begin
    Result := DefaultInterface.Categories;
end;

procedure TTaskItem.Set_Categories(const Categories: WideString);
  { Warning: The property Categories has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Categories := Categories;
end;

function TTaskItem.Get_Companies: WideString;
begin
    Result := DefaultInterface.Companies;
end;

procedure TTaskItem.Set_Companies(const Companies: WideString);
  { Warning: The property Companies has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Companies := Companies;
end;

function TTaskItem.Get_ConversationIndex: WideString;
begin
    Result := DefaultInterface.ConversationIndex;
end;

function TTaskItem.Get_ConversationTopic: WideString;
begin
    Result := DefaultInterface.ConversationTopic;
end;

function TTaskItem.Get_CreationTime: TDateTime;
begin
    Result := DefaultInterface.CreationTime;
end;

function TTaskItem.Get_EntryID: WideString;
begin
    Result := DefaultInterface.EntryID;
end;

function TTaskItem.Get_FormDescription: FormDescription;
begin
    Result := DefaultInterface.FormDescription;
end;

function TTaskItem.Get_GetInspector: _Inspector;
begin
    Result := DefaultInterface.GetInspector;
end;

function TTaskItem.Get_Importance: OlImportance;
begin
    Result := DefaultInterface.Importance;
end;

procedure TTaskItem.Set_Importance(Importance: OlImportance);
begin
  DefaultInterface.Set_Importance(Importance);
end;

function TTaskItem.Get_LastModificationTime: TDateTime;
begin
    Result := DefaultInterface.LastModificationTime;
end;

function TTaskItem.Get_MAPIOBJECT: IUnknown;
begin
    Result := DefaultInterface.MAPIOBJECT;
end;

function TTaskItem.Get_MessageClass: WideString;
begin
    Result := DefaultInterface.MessageClass;
end;

procedure TTaskItem.Set_MessageClass(const MessageClass: WideString);
  { Warning: The property MessageClass has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.MessageClass := MessageClass;
end;

function TTaskItem.Get_Mileage: WideString;
begin
    Result := DefaultInterface.Mileage;
end;

procedure TTaskItem.Set_Mileage(const Mileage: WideString);
  { Warning: The property Mileage has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Mileage := Mileage;
end;

function TTaskItem.Get_NoAging: WordBool;
begin
    Result := DefaultInterface.NoAging;
end;

procedure TTaskItem.Set_NoAging(NoAging: WordBool);
begin
  DefaultInterface.Set_NoAging(NoAging);
end;

function TTaskItem.Get_OutlookInternalVersion: Integer;
begin
    Result := DefaultInterface.OutlookInternalVersion;
end;

function TTaskItem.Get_OutlookVersion: WideString;
begin
    Result := DefaultInterface.OutlookVersion;
end;

function TTaskItem.Get_Saved: WordBool;
begin
    Result := DefaultInterface.Saved;
end;

function TTaskItem.Get_Sensitivity: OlSensitivity;
begin
    Result := DefaultInterface.Sensitivity;
end;

procedure TTaskItem.Set_Sensitivity(Sensitivity: OlSensitivity);
begin
  DefaultInterface.Set_Sensitivity(Sensitivity);
end;

function TTaskItem.Get_Size: Integer;
begin
    Result := DefaultInterface.Size;
end;

function TTaskItem.Get_Subject: WideString;
begin
    Result := DefaultInterface.Subject;
end;

procedure TTaskItem.Set_Subject(const Subject: WideString);
  { Warning: The property Subject has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Subject := Subject;
end;

function TTaskItem.Get_UnRead: WordBool;
begin
    Result := DefaultInterface.UnRead;
end;

procedure TTaskItem.Set_UnRead(UnRead: WordBool);
begin
  DefaultInterface.Set_UnRead(UnRead);
end;

function TTaskItem.Get_UserProperties: UserProperties;
begin
    Result := DefaultInterface.UserProperties;
end;

function TTaskItem.Get_ActualWork: Integer;
begin
    Result := DefaultInterface.ActualWork;
end;

procedure TTaskItem.Set_ActualWork(ActualWork: Integer);
begin
  DefaultInterface.Set_ActualWork(ActualWork);
end;

function TTaskItem.Get_CardData: WideString;
begin
    Result := DefaultInterface.CardData;
end;

procedure TTaskItem.Set_CardData(const CardData: WideString);
  { Warning: The property CardData has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.CardData := CardData;
end;

function TTaskItem.Get_Complete: WordBool;
begin
    Result := DefaultInterface.Complete;
end;

procedure TTaskItem.Set_Complete(Complete: WordBool);
begin
  DefaultInterface.Set_Complete(Complete);
end;

function TTaskItem.Get_Contacts: WideString;
begin
    Result := DefaultInterface.Contacts;
end;

procedure TTaskItem.Set_Contacts(const Contacts: WideString);
  { Warning: The property Contacts has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Contacts := Contacts;
end;

function TTaskItem.Get_ContactNames: WideString;
begin
    Result := DefaultInterface.ContactNames;
end;

procedure TTaskItem.Set_ContactNames(const ContactNames: WideString);
  { Warning: The property ContactNames has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.ContactNames := ContactNames;
end;

function TTaskItem.Get_DateCompleted: TDateTime;
begin
    Result := DefaultInterface.DateCompleted;
end;

procedure TTaskItem.Set_DateCompleted(DateCompleted: TDateTime);
begin
  DefaultInterface.Set_DateCompleted(DateCompleted);
end;

function TTaskItem.Get_DelegationState: OlTaskDelegationState;
begin
    Result := DefaultInterface.DelegationState;
end;

function TTaskItem.Get_Delegator: WideString;
begin
    Result := DefaultInterface.Delegator;
end;

function TTaskItem.Get_DueDate: TDateTime;
begin
    Result := DefaultInterface.DueDate;
end;

procedure TTaskItem.Set_DueDate(DueDate: TDateTime);
begin
  DefaultInterface.Set_DueDate(DueDate);
end;

function TTaskItem.Get_IsRecurring: WordBool;
begin
    Result := DefaultInterface.IsRecurring;
end;

function TTaskItem.Get_Ordinal: Integer;
begin
    Result := DefaultInterface.Ordinal;
end;

procedure TTaskItem.Set_Ordinal(Ordinal: Integer);
begin
  DefaultInterface.Set_Ordinal(Ordinal);
end;

function TTaskItem.Get_Owner: WideString;
begin
    Result := DefaultInterface.Owner;
end;

procedure TTaskItem.Set_Owner(const Owner: WideString);
  { Warning: The property Owner has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Owner := Owner;
end;

function TTaskItem.Get_Ownership: OlTaskOwnership;
begin
    Result := DefaultInterface.Ownership;
end;

function TTaskItem.Get_PercentComplete: Integer;
begin
    Result := DefaultInterface.PercentComplete;
end;

procedure TTaskItem.Set_PercentComplete(PercentComplete: Integer);
begin
  DefaultInterface.Set_PercentComplete(PercentComplete);
end;

function TTaskItem.Get_Recipients: Recipients;
begin
    Result := DefaultInterface.Recipients;
end;

function TTaskItem.Get_ReminderTime: TDateTime;
begin
    Result := DefaultInterface.ReminderTime;
end;

procedure TTaskItem.Set_ReminderTime(ReminderTime: TDateTime);
begin
  DefaultInterface.Set_ReminderTime(ReminderTime);
end;

function TTaskItem.Get_ReminderOverrideDefault: WordBool;
begin
    Result := DefaultInterface.ReminderOverrideDefault;
end;

procedure TTaskItem.Set_ReminderOverrideDefault(ReminderOverrideDefault: WordBool);
begin
  DefaultInterface.Set_ReminderOverrideDefault(ReminderOverrideDefault);
end;

function TTaskItem.Get_ReminderPlaySound: WordBool;
begin
    Result := DefaultInterface.ReminderPlaySound;
end;

procedure TTaskItem.Set_ReminderPlaySound(ReminderPlaySound: WordBool);
begin
  DefaultInterface.Set_ReminderPlaySound(ReminderPlaySound);
end;

function TTaskItem.Get_ReminderSet: WordBool;
begin
    Result := DefaultInterface.ReminderSet;
end;

procedure TTaskItem.Set_ReminderSet(ReminderSet: WordBool);
begin
  DefaultInterface.Set_ReminderSet(ReminderSet);
end;

function TTaskItem.Get_ReminderSoundFile: WideString;
begin
    Result := DefaultInterface.ReminderSoundFile;
end;

procedure TTaskItem.Set_ReminderSoundFile(const ReminderSoundFile: WideString);
  { Warning: The property ReminderSoundFile has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.ReminderSoundFile := ReminderSoundFile;
end;

function TTaskItem.Get_ResponseState: OlTaskResponse;
begin
    Result := DefaultInterface.ResponseState;
end;

function TTaskItem.Get_Role: WideString;
begin
    Result := DefaultInterface.Role;
end;

procedure TTaskItem.Set_Role(const Role: WideString);
  { Warning: The property Role has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Role := Role;
end;

function TTaskItem.Get_SchedulePlusPriority: WideString;
begin
    Result := DefaultInterface.SchedulePlusPriority;
end;

procedure TTaskItem.Set_SchedulePlusPriority(const SchedulePlusPriority: WideString);
  { Warning: The property SchedulePlusPriority has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.SchedulePlusPriority := SchedulePlusPriority;
end;

function TTaskItem.Get_StartDate: TDateTime;
begin
    Result := DefaultInterface.StartDate;
end;

procedure TTaskItem.Set_StartDate(StartDate: TDateTime);
begin
  DefaultInterface.Set_StartDate(StartDate);
end;

function TTaskItem.Get_Status: OlTaskStatus;
begin
    Result := DefaultInterface.Status;
end;

procedure TTaskItem.Set_Status(Status: OlTaskStatus);
begin
  DefaultInterface.Set_Status(Status);
end;

function TTaskItem.Get_StatusOnCompletionRecipients: WideString;
begin
    Result := DefaultInterface.StatusOnCompletionRecipients;
end;

procedure TTaskItem.Set_StatusOnCompletionRecipients(const StatusOnCompletionRecipients: WideString);
  { Warning: The property StatusOnCompletionRecipients has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.StatusOnCompletionRecipients := StatusOnCompletionRecipients;
end;

function TTaskItem.Get_StatusUpdateRecipients: WideString;
begin
    Result := DefaultInterface.StatusUpdateRecipients;
end;

procedure TTaskItem.Set_StatusUpdateRecipients(const StatusUpdateRecipients: WideString);
  { Warning: The property StatusUpdateRecipients has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.StatusUpdateRecipients := StatusUpdateRecipients;
end;

function TTaskItem.Get_TeamTask: WordBool;
begin
    Result := DefaultInterface.TeamTask;
end;

procedure TTaskItem.Set_TeamTask(TeamTask: WordBool);
begin
  DefaultInterface.Set_TeamTask(TeamTask);
end;

function TTaskItem.Get_TotalWork: Integer;
begin
    Result := DefaultInterface.TotalWork;
end;

procedure TTaskItem.Set_TotalWork(TotalWork: Integer);
begin
  DefaultInterface.Set_TotalWork(TotalWork);
end;

function TTaskItem.Get_Links: Links;
begin
    Result := DefaultInterface.Links;
end;

function TTaskItem.Get_DownloadState: OlDownloadState;
begin
    Result := DefaultInterface.DownloadState;
end;

function TTaskItem.Get_ItemProperties: ItemProperties;
begin
    Result := DefaultInterface.ItemProperties;
end;

function TTaskItem.Get_InternetCodepage: Integer;
begin
    Result := DefaultInterface.InternetCodepage;
end;

procedure TTaskItem.Set_InternetCodepage(InternetCodepage: Integer);
begin
  DefaultInterface.Set_InternetCodepage(InternetCodepage);
end;

function TTaskItem.Get_MarkForDownload: OlRemoteStatus;
begin
    Result := DefaultInterface.MarkForDownload;
end;

procedure TTaskItem.Set_MarkForDownload(MarkForDownload: OlRemoteStatus);
begin
  DefaultInterface.Set_MarkForDownload(MarkForDownload);
end;

function TTaskItem.Get_IsConflict: WordBool;
begin
    Result := DefaultInterface.IsConflict;
end;

procedure TTaskItem.Close(SaveMode: OlInspectorClose);
begin
  DefaultInterface.Close(SaveMode);
end;

function TTaskItem.Copy: IDispatch;
begin
  Result := DefaultInterface.Copy;
end;

procedure TTaskItem.Delete;
begin
  DefaultInterface.Delete;
end;

procedure TTaskItem.Display;
begin
  DefaultInterface.Display(EmptyParam);
end;

procedure TTaskItem.Display(Modal: OleVariant);
begin
  DefaultInterface.Display(Modal);
end;

function TTaskItem.Move(const DestFldr: MAPIFolder): IDispatch;
begin
  Result := DefaultInterface.Move(DestFldr);
end;

procedure TTaskItem.PrintOut;
begin
  DefaultInterface.PrintOut;
end;

procedure TTaskItem.Save;
begin
  DefaultInterface.Save;
end;

procedure TTaskItem.SaveAs(const Path: WideString);
begin
  DefaultInterface.SaveAs(Path, EmptyParam);
end;

procedure TTaskItem.SaveAs(const Path: WideString; Type_: OleVariant);
begin
  DefaultInterface.SaveAs(Path, Type_);
end;

function TTaskItem.Assign_: TaskItem;
begin
  Result := DefaultInterface.Assign_;
end;

procedure TTaskItem.CancelResponseState;
begin
  DefaultInterface.CancelResponseState;
end;

procedure TTaskItem.ClearRecurrencePattern;
begin
  DefaultInterface.ClearRecurrencePattern;
end;

function TTaskItem.GetRecurrencePattern: RecurrencePattern;
begin
  Result := DefaultInterface.GetRecurrencePattern;
end;

procedure TTaskItem.MarkComplete;
begin
  DefaultInterface.MarkComplete;
end;

function TTaskItem.Respond(Response: OlTaskResponse; fNoUI: OleVariant; 
                           fAdditionalTextDialog: OleVariant): TaskItem;
begin
  Result := DefaultInterface.Respond(Response, fNoUI, fAdditionalTextDialog);
end;

procedure TTaskItem.Send;
begin
  DefaultInterface.Send;
end;

function TTaskItem.SkipRecurrence: WordBool;
begin
  Result := DefaultInterface.SkipRecurrence;
end;

function TTaskItem.StatusReport: IDispatch;
begin
  Result := DefaultInterface.StatusReport;
end;

procedure TTaskItem.ShowCategoriesDialog;
begin
  DefaultInterface.ShowCategoriesDialog;
end;

{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
constructor TTaskItemProperties.Create(AServer: TTaskItem);
begin
  inherited Create;
  FServer := AServer;
end;

function TTaskItemProperties.GetDefaultInterface: _TaskItem;
begin
  Result := FServer.DefaultInterface;
end;

function TTaskItemProperties.Get_Application: _Application;
begin
    Result := DefaultInterface.Application;
end;

function TTaskItemProperties.Get_Class_: OlObjectClass;
begin
    Result := DefaultInterface.Class_;
end;

function TTaskItemProperties.Get_Session: _NameSpace;
begin
    Result := DefaultInterface.Session;
end;

function TTaskItemProperties.Get_Parent: IDispatch;
begin
    Result := DefaultInterface.Parent;
end;

function TTaskItemProperties.Get_Actions: Actions;
begin
    Result := DefaultInterface.Actions;
end;

function TTaskItemProperties.Get_Attachments: Attachments;
begin
    Result := DefaultInterface.Attachments;
end;

function TTaskItemProperties.Get_BillingInformation: WideString;
begin
    Result := DefaultInterface.BillingInformation;
end;

procedure TTaskItemProperties.Set_BillingInformation(const BillingInformation: WideString);
  { Warning: The property BillingInformation has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.BillingInformation := BillingInformation;
end;

function TTaskItemProperties.Get_Body: WideString;
begin
    Result := DefaultInterface.Body;
end;

procedure TTaskItemProperties.Set_Body(const Body: WideString);
  { Warning: The property Body has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Body := Body;
end;

function TTaskItemProperties.Get_Categories: WideString;
begin
    Result := DefaultInterface.Categories;
end;

procedure TTaskItemProperties.Set_Categories(const Categories: WideString);
  { Warning: The property Categories has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Categories := Categories;
end;

function TTaskItemProperties.Get_Companies: WideString;
begin
    Result := DefaultInterface.Companies;
end;

procedure TTaskItemProperties.Set_Companies(const Companies: WideString);
  { Warning: The property Companies has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Companies := Companies;
end;

function TTaskItemProperties.Get_ConversationIndex: WideString;
begin
    Result := DefaultInterface.ConversationIndex;
end;

function TTaskItemProperties.Get_ConversationTopic: WideString;
begin
    Result := DefaultInterface.ConversationTopic;
end;

function TTaskItemProperties.Get_CreationTime: TDateTime;
begin
    Result := DefaultInterface.CreationTime;
end;

function TTaskItemProperties.Get_EntryID: WideString;
begin
    Result := DefaultInterface.EntryID;
end;

function TTaskItemProperties.Get_FormDescription: FormDescription;
begin
    Result := DefaultInterface.FormDescription;
end;

function TTaskItemProperties.Get_GetInspector: _Inspector;
begin
    Result := DefaultInterface.GetInspector;
end;

function TTaskItemProperties.Get_Importance: OlImportance;
begin
    Result := DefaultInterface.Importance;
end;

procedure TTaskItemProperties.Set_Importance(Importance: OlImportance);
begin
  DefaultInterface.Set_Importance(Importance);
end;

function TTaskItemProperties.Get_LastModificationTime: TDateTime;
begin
    Result := DefaultInterface.LastModificationTime;
end;

function TTaskItemProperties.Get_MAPIOBJECT: IUnknown;
begin
    Result := DefaultInterface.MAPIOBJECT;
end;

function TTaskItemProperties.Get_MessageClass: WideString;
begin
    Result := DefaultInterface.MessageClass;
end;

procedure TTaskItemProperties.Set_MessageClass(const MessageClass: WideString);
  { Warning: The property MessageClass has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.MessageClass := MessageClass;
end;

function TTaskItemProperties.Get_Mileage: WideString;
begin
    Result := DefaultInterface.Mileage;
end;

procedure TTaskItemProperties.Set_Mileage(const Mileage: WideString);
  { Warning: The property Mileage has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Mileage := Mileage;
end;

function TTaskItemProperties.Get_NoAging: WordBool;
begin
    Result := DefaultInterface.NoAging;
end;

procedure TTaskItemProperties.Set_NoAging(NoAging: WordBool);
begin
  DefaultInterface.Set_NoAging(NoAging);
end;

function TTaskItemProperties.Get_OutlookInternalVersion: Integer;
begin
    Result := DefaultInterface.OutlookInternalVersion;
end;

function TTaskItemProperties.Get_OutlookVersion: WideString;
begin
    Result := DefaultInterface.OutlookVersion;
end;

function TTaskItemProperties.Get_Saved: WordBool;
begin
    Result := DefaultInterface.Saved;
end;

function TTaskItemProperties.Get_Sensitivity: OlSensitivity;
begin
    Result := DefaultInterface.Sensitivity;
end;

procedure TTaskItemProperties.Set_Sensitivity(Sensitivity: OlSensitivity);
begin
  DefaultInterface.Set_Sensitivity(Sensitivity);
end;

function TTaskItemProperties.Get_Size: Integer;
begin
    Result := DefaultInterface.Size;
end;

function TTaskItemProperties.Get_Subject: WideString;
begin
    Result := DefaultInterface.Subject;
end;

procedure TTaskItemProperties.Set_Subject(const Subject: WideString);
  { Warning: The property Subject has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Subject := Subject;
end;

function TTaskItemProperties.Get_UnRead: WordBool;
begin
    Result := DefaultInterface.UnRead;
end;

procedure TTaskItemProperties.Set_UnRead(UnRead: WordBool);
begin
  DefaultInterface.Set_UnRead(UnRead);
end;

function TTaskItemProperties.Get_UserProperties: UserProperties;
begin
    Result := DefaultInterface.UserProperties;
end;

function TTaskItemProperties.Get_ActualWork: Integer;
begin
    Result := DefaultInterface.ActualWork;
end;

procedure TTaskItemProperties.Set_ActualWork(ActualWork: Integer);
begin
  DefaultInterface.Set_ActualWork(ActualWork);
end;

function TTaskItemProperties.Get_CardData: WideString;
begin
    Result := DefaultInterface.CardData;
end;

procedure TTaskItemProperties.Set_CardData(const CardData: WideString);
  { Warning: The property CardData has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.CardData := CardData;
end;

function TTaskItemProperties.Get_Complete: WordBool;
begin
    Result := DefaultInterface.Complete;
end;

procedure TTaskItemProperties.Set_Complete(Complete: WordBool);
begin
  DefaultInterface.Set_Complete(Complete);
end;

function TTaskItemProperties.Get_Contacts: WideString;
begin
    Result := DefaultInterface.Contacts;
end;

procedure TTaskItemProperties.Set_Contacts(const Contacts: WideString);
  { Warning: The property Contacts has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Contacts := Contacts;
end;

function TTaskItemProperties.Get_ContactNames: WideString;
begin
    Result := DefaultInterface.ContactNames;
end;

procedure TTaskItemProperties.Set_ContactNames(const ContactNames: WideString);
  { Warning: The property ContactNames has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.ContactNames := ContactNames;
end;

function TTaskItemProperties.Get_DateCompleted: TDateTime;
begin
    Result := DefaultInterface.DateCompleted;
end;

procedure TTaskItemProperties.Set_DateCompleted(DateCompleted: TDateTime);
begin
  DefaultInterface.Set_DateCompleted(DateCompleted);
end;

function TTaskItemProperties.Get_DelegationState: OlTaskDelegationState;
begin
    Result := DefaultInterface.DelegationState;
end;

function TTaskItemProperties.Get_Delegator: WideString;
begin
    Result := DefaultInterface.Delegator;
end;

function TTaskItemProperties.Get_DueDate: TDateTime;
begin
    Result := DefaultInterface.DueDate;
end;

procedure TTaskItemProperties.Set_DueDate(DueDate: TDateTime);
begin
  DefaultInterface.Set_DueDate(DueDate);
end;

function TTaskItemProperties.Get_IsRecurring: WordBool;
begin
    Result := DefaultInterface.IsRecurring;
end;

function TTaskItemProperties.Get_Ordinal: Integer;
begin
    Result := DefaultInterface.Ordinal;
end;

procedure TTaskItemProperties.Set_Ordinal(Ordinal: Integer);
begin
  DefaultInterface.Set_Ordinal(Ordinal);
end;

function TTaskItemProperties.Get_Owner: WideString;
begin
    Result := DefaultInterface.Owner;
end;

procedure TTaskItemProperties.Set_Owner(const Owner: WideString);
  { Warning: The property Owner has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Owner := Owner;
end;

function TTaskItemProperties.Get_Ownership: OlTaskOwnership;
begin
    Result := DefaultInterface.Ownership;
end;

function TTaskItemProperties.Get_PercentComplete: Integer;
begin
    Result := DefaultInterface.PercentComplete;
end;

procedure TTaskItemProperties.Set_PercentComplete(PercentComplete: Integer);
begin
  DefaultInterface.Set_PercentComplete(PercentComplete);
end;

function TTaskItemProperties.Get_Recipients: Recipients;
begin
    Result := DefaultInterface.Recipients;
end;

function TTaskItemProperties.Get_ReminderTime: TDateTime;
begin
    Result := DefaultInterface.ReminderTime;
end;

procedure TTaskItemProperties.Set_ReminderTime(ReminderTime: TDateTime);
begin
  DefaultInterface.Set_ReminderTime(ReminderTime);
end;

function TTaskItemProperties.Get_ReminderOverrideDefault: WordBool;
begin
    Result := DefaultInterface.ReminderOverrideDefault;
end;

procedure TTaskItemProperties.Set_ReminderOverrideDefault(ReminderOverrideDefault: WordBool);
begin
  DefaultInterface.Set_ReminderOverrideDefault(ReminderOverrideDefault);
end;

function TTaskItemProperties.Get_ReminderPlaySound: WordBool;
begin
    Result := DefaultInterface.ReminderPlaySound;
end;

procedure TTaskItemProperties.Set_ReminderPlaySound(ReminderPlaySound: WordBool);
begin
  DefaultInterface.Set_ReminderPlaySound(ReminderPlaySound);
end;

function TTaskItemProperties.Get_ReminderSet: WordBool;
begin
    Result := DefaultInterface.ReminderSet;
end;

procedure TTaskItemProperties.Set_ReminderSet(ReminderSet: WordBool);
begin
  DefaultInterface.Set_ReminderSet(ReminderSet);
end;

function TTaskItemProperties.Get_ReminderSoundFile: WideString;
begin
    Result := DefaultInterface.ReminderSoundFile;
end;

procedure TTaskItemProperties.Set_ReminderSoundFile(const ReminderSoundFile: WideString);
  { Warning: The property ReminderSoundFile has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.ReminderSoundFile := ReminderSoundFile;
end;

function TTaskItemProperties.Get_ResponseState: OlTaskResponse;
begin
    Result := DefaultInterface.ResponseState;
end;

function TTaskItemProperties.Get_Role: WideString;
begin
    Result := DefaultInterface.Role;
end;

procedure TTaskItemProperties.Set_Role(const Role: WideString);
  { Warning: The property Role has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Role := Role;
end;

function TTaskItemProperties.Get_SchedulePlusPriority: WideString;
begin
    Result := DefaultInterface.SchedulePlusPriority;
end;

procedure TTaskItemProperties.Set_SchedulePlusPriority(const SchedulePlusPriority: WideString);
  { Warning: The property SchedulePlusPriority has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.SchedulePlusPriority := SchedulePlusPriority;
end;

function TTaskItemProperties.Get_StartDate: TDateTime;
begin
    Result := DefaultInterface.StartDate;
end;

procedure TTaskItemProperties.Set_StartDate(StartDate: TDateTime);
begin
  DefaultInterface.Set_StartDate(StartDate);
end;

function TTaskItemProperties.Get_Status: OlTaskStatus;
begin
    Result := DefaultInterface.Status;
end;

procedure TTaskItemProperties.Set_Status(Status: OlTaskStatus);
begin
  DefaultInterface.Set_Status(Status);
end;

function TTaskItemProperties.Get_StatusOnCompletionRecipients: WideString;
begin
    Result := DefaultInterface.StatusOnCompletionRecipients;
end;

procedure TTaskItemProperties.Set_StatusOnCompletionRecipients(const StatusOnCompletionRecipients: WideString);
  { Warning: The property StatusOnCompletionRecipients has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.StatusOnCompletionRecipients := StatusOnCompletionRecipients;
end;

function TTaskItemProperties.Get_StatusUpdateRecipients: WideString;
begin
    Result := DefaultInterface.StatusUpdateRecipients;
end;

procedure TTaskItemProperties.Set_StatusUpdateRecipients(const StatusUpdateRecipients: WideString);
  { Warning: The property StatusUpdateRecipients has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.StatusUpdateRecipients := StatusUpdateRecipients;
end;

function TTaskItemProperties.Get_TeamTask: WordBool;
begin
    Result := DefaultInterface.TeamTask;
end;

procedure TTaskItemProperties.Set_TeamTask(TeamTask: WordBool);
begin
  DefaultInterface.Set_TeamTask(TeamTask);
end;

function TTaskItemProperties.Get_TotalWork: Integer;
begin
    Result := DefaultInterface.TotalWork;
end;

procedure TTaskItemProperties.Set_TotalWork(TotalWork: Integer);
begin
  DefaultInterface.Set_TotalWork(TotalWork);
end;

function TTaskItemProperties.Get_Links: Links;
begin
    Result := DefaultInterface.Links;
end;

function TTaskItemProperties.Get_DownloadState: OlDownloadState;
begin
    Result := DefaultInterface.DownloadState;
end;

function TTaskItemProperties.Get_ItemProperties: ItemProperties;
begin
    Result := DefaultInterface.ItemProperties;
end;

function TTaskItemProperties.Get_InternetCodepage: Integer;
begin
    Result := DefaultInterface.InternetCodepage;
end;

procedure TTaskItemProperties.Set_InternetCodepage(InternetCodepage: Integer);
begin
  DefaultInterface.Set_InternetCodepage(InternetCodepage);
end;

function TTaskItemProperties.Get_MarkForDownload: OlRemoteStatus;
begin
    Result := DefaultInterface.MarkForDownload;
end;

procedure TTaskItemProperties.Set_MarkForDownload(MarkForDownload: OlRemoteStatus);
begin
  DefaultInterface.Set_MarkForDownload(MarkForDownload);
end;

function TTaskItemProperties.Get_IsConflict: WordBool;
begin
    Result := DefaultInterface.IsConflict;
end;

{$ENDIF}

class function CoOutlookApplication.Create: _Application;
begin
  Result := CreateComObject(CLASS_OutlookApplication) as _Application;
end;

class function CoOutlookApplication.CreateRemote(const MachineName: string): _Application;
begin
  Result := CreateRemoteComObject(MachineName, CLASS_OutlookApplication) as _Application;
end;

procedure TOutlookApplication.InitServerData;
const
  CServerData: TServerData = (
    ClassID:   '{0006F03A-0000-0000-C000-000000000046}';
    IntfIID:   '{00063001-0000-0000-C000-000000000046}';
    EventIID:  '{0006300E-0000-0000-C000-000000000046}';
    LicenseKey: nil;
    Version: 500);
begin
  ServerData := @CServerData;
end;

procedure TOutlookApplication.Connect;
var
  punk: IUnknown;
begin
  if FIntf = nil then
  begin
    punk := GetServer;
    ConnectEvents(punk);
    Fintf:= punk as _Application;
  end;
end;

procedure TOutlookApplication.ConnectTo(svrIntf: _Application);
begin
  Disconnect;
  FIntf := svrIntf;
  ConnectEvents(FIntf);
end;

procedure TOutlookApplication.DisConnect;
begin
  if Fintf <> nil then
  begin
    DisconnectEvents(FIntf);
    if FAutoQuit then
      Quit();
    FIntf := nil;
  end;
end;

function TOutlookApplication.GetDefaultInterface: _Application;
begin
  if FIntf = nil then
    Connect;
  Assert(FIntf <> nil, 'DefaultInterface is NULL. Component is not connected to Server. You must call ''Connect'' or ''ConnectTo'' before this operation');
  Result := FIntf;
end;

constructor TOutlookApplication.Create(AOwner: TComponent);
begin
  inherited Create(AOwner);
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  FProps := TOutlookApplicationProperties.Create(Self);
{$ENDIF}
end;

destructor TOutlookApplication.Destroy;
begin
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  FProps.Free;
{$ENDIF}
  inherited Destroy;
end;

{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
function TOutlookApplication.GetServerProperties: TOutlookApplicationProperties;
begin
  Result := FProps;
end;
{$ENDIF}

procedure TOutlookApplication.InvokeEvent(DispID: TDispID; var Params: TVariantArray);
begin
  case DispID of
    -1: Exit;  // DISPID_UNKNOWN
    61442: if Assigned(FOnItemSend) then
         FOnItemSend(Self,
                     Params[0] {const IDispatch},
                     WordBool((TVarData(Params[1]).VPointer)^) {var WordBool});
    61443: if Assigned(FOnNewMail) then
         FOnNewMail(Self);
    61444: if Assigned(FOnReminder) then
         FOnReminder(Self, Params[0] {const IDispatch});
    61445: if Assigned(FOnOptionsPagesAdd) then
         FOnOptionsPagesAdd(Self, IUnknown(TVarData(Params[0]).VPointer) as PropertyPages {const PropertyPages});
    61446: if Assigned(FOnStartup) then
         FOnStartup(Self);
    61447: if Assigned(FOnQuit) then
         FOnQuit(Self);
    64106: if Assigned(FOnAdvancedSearchComplete) then
         FOnAdvancedSearchComplete(Self, IUnknown(TVarData(Params[0]).VPointer) as Search {const Search});
    64107: if Assigned(FOnAdvancedSearchStopped) then
         FOnAdvancedSearchStopped(Self, IUnknown(TVarData(Params[0]).VPointer) as Search {const Search});
    64144: if Assigned(FOnMAPILogonComplete) then
         FOnMAPILogonComplete(Self);
  end; {case DispID}
end;

function TOutlookApplication.Get_Application: _Application;
begin
    Result := DefaultInterface.Application;
end;

function TOutlookApplication.Get_Class_: OlObjectClass;
begin
    Result := DefaultInterface.Class_;
end;

function TOutlookApplication.Get_Session: _NameSpace;
begin
    Result := DefaultInterface.Session;
end;

function TOutlookApplication.Get_Parent: IDispatch;
begin
    Result := DefaultInterface.Parent;
end;

function TOutlookApplication.Get_Assistant: Assistant;
begin
    Result := DefaultInterface.Assistant;
end;

function TOutlookApplication.Get_Name: WideString;
begin
    Result := DefaultInterface.Name;
end;

function TOutlookApplication.Get_Version: WideString;
begin
    Result := DefaultInterface.Version;
end;

function TOutlookApplication.Get_COMAddIns: COMAddIns;
begin
    Result := DefaultInterface.COMAddIns;
end;

function TOutlookApplication.Get_Explorers: _Explorers;
begin
    Result := DefaultInterface.Explorers;
end;

function TOutlookApplication.Get_Inspectors: _Inspectors;
begin
    Result := DefaultInterface.Inspectors;
end;

function TOutlookApplication.Get_LanguageSettings: LanguageSettings;
begin
    Result := DefaultInterface.LanguageSettings;
end;

function TOutlookApplication.Get_ProductCode: WideString;
begin
    Result := DefaultInterface.ProductCode;
end;

function TOutlookApplication.Get_AnswerWizard: AnswerWizard;
begin
    Result := DefaultInterface.AnswerWizard;
end;

function TOutlookApplication.Get_FeatureInstall: MsoFeatureInstall;
begin
    Result := DefaultInterface.FeatureInstall;
end;

procedure TOutlookApplication.Set_FeatureInstall(FeatureInstall: MsoFeatureInstall);
begin
  DefaultInterface.Set_FeatureInstall(FeatureInstall);
end;

function TOutlookApplication.Get_Reminders: _Reminders;
begin
    Result := DefaultInterface.Reminders;
end;

function TOutlookApplication.ActiveExplorer: _Explorer;
begin
  Result := DefaultInterface.ActiveExplorer;
end;

function TOutlookApplication.ActiveInspector: _Inspector;
begin
  Result := DefaultInterface.ActiveInspector;
end;

function TOutlookApplication.CreateItem(ItemType: OlItemType): IDispatch;
begin
  Result := DefaultInterface.CreateItem(ItemType);
end;

function TOutlookApplication.CreateItemFromTemplate(const TemplatePath: WideString): IDispatch;
begin
  Result := DefaultInterface.CreateItemFromTemplate(TemplatePath, EmptyParam);
end;

function TOutlookApplication.CreateItemFromTemplate(const TemplatePath: WideString; 
                                                    InFolder: OleVariant): IDispatch;
begin
  Result := DefaultInterface.CreateItemFromTemplate(TemplatePath, InFolder);
end;

function TOutlookApplication.CreateObject(const ObjectName: WideString): IDispatch;
begin
  Result := DefaultInterface.CreateObject(ObjectName);
end;

function TOutlookApplication.GetNamespace(const Type_: WideString): _NameSpace;
begin
  Result := DefaultInterface.GetNamespace(Type_);
end;

procedure TOutlookApplication.Quit;
begin
  DefaultInterface.Quit;
end;

function TOutlookApplication.ActiveWindow: IDispatch;
begin
  Result := DefaultInterface.ActiveWindow;
end;

function TOutlookApplication.CopyFile(const FilePath: WideString; const DestFolderPath: WideString): IDispatch;
begin
  Result := DefaultInterface.CopyFile(FilePath, DestFolderPath);
end;

function TOutlookApplication.AdvancedSearch(const Scope: WideString): Search;
begin
  Result := DefaultInterface.AdvancedSearch(Scope, EmptyParam, EmptyParam, EmptyParam);
end;

function TOutlookApplication.AdvancedSearch(const Scope: WideString; Filter: OleVariant): Search;
begin
  Result := DefaultInterface.AdvancedSearch(Scope, Filter, EmptyParam, EmptyParam);
end;

function TOutlookApplication.AdvancedSearch(const Scope: WideString; Filter: OleVariant; 
                                            SearchSubFolders: OleVariant): Search;
begin
  Result := DefaultInterface.AdvancedSearch(Scope, Filter, SearchSubFolders, EmptyParam);
end;

function TOutlookApplication.AdvancedSearch(const Scope: WideString; Filter: OleVariant; 
                                            SearchSubFolders: OleVariant; Tag: OleVariant): Search;
begin
  Result := DefaultInterface.AdvancedSearch(Scope, Filter, SearchSubFolders, Tag);
end;

function TOutlookApplication.IsSearchSynchronous(const LookInFolders: WideString): WordBool;
begin
  Result := DefaultInterface.IsSearchSynchronous(LookInFolders);
end;

procedure TOutlookApplication.GetNewNickNames(var pvar: OleVariant);
begin
  DefaultInterface.GetNewNickNames(pvar);
end;

{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
constructor TOutlookApplicationProperties.Create(AServer: TOutlookApplication);
begin
  inherited Create;
  FServer := AServer;
end;

function TOutlookApplicationProperties.GetDefaultInterface: _Application;
begin
  Result := FServer.DefaultInterface;
end;

function TOutlookApplicationProperties.Get_Application: _Application;
begin
    Result := DefaultInterface.Application;
end;

function TOutlookApplicationProperties.Get_Class_: OlObjectClass;
begin
    Result := DefaultInterface.Class_;
end;

function TOutlookApplicationProperties.Get_Session: _NameSpace;
begin
    Result := DefaultInterface.Session;
end;

function TOutlookApplicationProperties.Get_Parent: IDispatch;
begin
    Result := DefaultInterface.Parent;
end;

function TOutlookApplicationProperties.Get_Assistant: Assistant;
begin
    Result := DefaultInterface.Assistant;
end;

function TOutlookApplicationProperties.Get_Name: WideString;
begin
    Result := DefaultInterface.Name;
end;

function TOutlookApplicationProperties.Get_Version: WideString;
begin
    Result := DefaultInterface.Version;
end;

function TOutlookApplicationProperties.Get_COMAddIns: COMAddIns;
begin
    Result := DefaultInterface.COMAddIns;
end;

function TOutlookApplicationProperties.Get_Explorers: _Explorers;
begin
    Result := DefaultInterface.Explorers;
end;

function TOutlookApplicationProperties.Get_Inspectors: _Inspectors;
begin
    Result := DefaultInterface.Inspectors;
end;

function TOutlookApplicationProperties.Get_LanguageSettings: LanguageSettings;
begin
    Result := DefaultInterface.LanguageSettings;
end;

function TOutlookApplicationProperties.Get_ProductCode: WideString;
begin
    Result := DefaultInterface.ProductCode;
end;

function TOutlookApplicationProperties.Get_AnswerWizard: AnswerWizard;
begin
    Result := DefaultInterface.AnswerWizard;
end;

function TOutlookApplicationProperties.Get_FeatureInstall: MsoFeatureInstall;
begin
    Result := DefaultInterface.FeatureInstall;
end;

procedure TOutlookApplicationProperties.Set_FeatureInstall(FeatureInstall: MsoFeatureInstall);
begin
  DefaultInterface.Set_FeatureInstall(FeatureInstall);
end;

function TOutlookApplicationProperties.Get_Reminders: _Reminders;
begin
    Result := DefaultInterface.Reminders;
end;

{$ENDIF}

class function CoContactItem.Create: _ContactItem;
begin
  Result := CreateComObject(CLASS_ContactItem) as _ContactItem;
end;

class function CoContactItem.CreateRemote(const MachineName: string): _ContactItem;
begin
  Result := CreateRemoteComObject(MachineName, CLASS_ContactItem) as _ContactItem;
end;

procedure TContactItem.InitServerData;
const
  CServerData: TServerData = (
    ClassID:   '{00061031-0000-0000-C000-000000000046}';
    IntfIID:   '{00063021-0000-0000-C000-000000000046}';
    EventIID:  '{0006302B-0000-0000-C000-000000000046}';
    LicenseKey: nil;
    Version: 500);
begin
  ServerData := @CServerData;
end;

procedure TContactItem.Connect;
var
  punk: IUnknown;
begin
  if FIntf = nil then
  begin
    punk := GetServer;
    ConnectEvents(punk);
    Fintf:= punk as _ContactItem;
  end;
end;

procedure TContactItem.ConnectTo(svrIntf: _ContactItem);
begin
  Disconnect;
  FIntf := svrIntf;
  ConnectEvents(FIntf);
end;

procedure TContactItem.DisConnect;
begin
  if Fintf <> nil then
  begin
    DisconnectEvents(FIntf);
    FIntf := nil;
  end;
end;

function TContactItem.GetDefaultInterface: _ContactItem;
begin
  if FIntf = nil then
    Connect;
  Assert(FIntf <> nil, 'DefaultInterface is NULL. Component is not connected to Server. You must call ''Connect'' or ''ConnectTo'' before this operation');
  Result := FIntf;
end;

constructor TContactItem.Create(AOwner: TComponent);
begin
  inherited Create(AOwner);
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  FProps := TContactItemProperties.Create(Self);
{$ENDIF}
end;

destructor TContactItem.Destroy;
begin
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  FProps.Free;
{$ENDIF}
  inherited Destroy;
end;

{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
function TContactItem.GetServerProperties: TContactItemProperties;
begin
  Result := FProps;
end;
{$ENDIF}

procedure TContactItem.InvokeEvent(DispID: TDispID; var Params: TVariantArray);
begin
  case DispID of
    -1: Exit;  // DISPID_UNKNOWN
    61443: if Assigned(FOnOpen) then
         FOnOpen(Self, WordBool((TVarData(Params[0]).VPointer)^) {var WordBool});
    61446: if Assigned(FOnCustomAction) then
         FOnCustomAction(Self,
                         Params[0] {const IDispatch},
                         Params[1] {const IDispatch},
                         WordBool((TVarData(Params[2]).VPointer)^) {var WordBool});
    61448: if Assigned(FOnCustomPropertyChange) then
         FOnCustomPropertyChange(Self, Params[0] {const WideString});
    62568: if Assigned(FOnForward) then
         FOnForward(Self,
                    Params[0] {const IDispatch},
                    WordBool((TVarData(Params[1]).VPointer)^) {var WordBool});
    61444: if Assigned(FOnClose) then
         FOnClose(Self, WordBool((TVarData(Params[0]).VPointer)^) {var WordBool});
    61449: if Assigned(FOnPropertyChange) then
         FOnPropertyChange(Self, Params[0] {const WideString});
    61441: if Assigned(FOnRead) then
         FOnRead(Self);
    62566: if Assigned(FOnReply) then
         FOnReply(Self,
                  Params[0] {const IDispatch},
                  WordBool((TVarData(Params[1]).VPointer)^) {var WordBool});
    62567: if Assigned(FOnReplyAll) then
         FOnReplyAll(Self,
                     Params[0] {const IDispatch},
                     WordBool((TVarData(Params[1]).VPointer)^) {var WordBool});
    61445: if Assigned(FOnSend) then
         FOnSend(Self, WordBool((TVarData(Params[0]).VPointer)^) {var WordBool});
    61442: if Assigned(FOnWrite) then
         FOnWrite(Self, WordBool((TVarData(Params[0]).VPointer)^) {var WordBool});
    61450: if Assigned(FOnBeforeCheckNames) then
         FOnBeforeCheckNames(Self, WordBool((TVarData(Params[0]).VPointer)^) {var WordBool});
    61451: if Assigned(FOnAttachmentAdd) then
         FOnAttachmentAdd(Self, IUnknown(TVarData(Params[0]).VPointer) as Attachment {const Attachment});
    61452: if Assigned(FOnAttachmentRead) then
         FOnAttachmentRead(Self, IUnknown(TVarData(Params[0]).VPointer) as Attachment {const Attachment});
    61453: if Assigned(FOnBeforeAttachmentSave) then
         FOnBeforeAttachmentSave(Self,
                                 IUnknown(TVarData(Params[0]).VPointer) as Attachment {const Attachment},
                                 WordBool((TVarData(Params[1]).VPointer)^) {var WordBool});
    64117: if Assigned(FOnBeforeDelete) then
         FOnBeforeDelete(Self,
                         Params[0] {const IDispatch},
                         WordBool((TVarData(Params[1]).VPointer)^) {var WordBool});
  end; {case DispID}
end;

function TContactItem.Get_Application: _Application;
begin
    Result := DefaultInterface.Application;
end;

function TContactItem.Get_Class_: OlObjectClass;
begin
    Result := DefaultInterface.Class_;
end;

function TContactItem.Get_Session: _NameSpace;
begin
    Result := DefaultInterface.Session;
end;

function TContactItem.Get_Parent: IDispatch;
begin
    Result := DefaultInterface.Parent;
end;

function TContactItem.Get_Actions: Actions;
begin
    Result := DefaultInterface.Actions;
end;

function TContactItem.Get_Attachments: Attachments;
begin
    Result := DefaultInterface.Attachments;
end;

function TContactItem.Get_BillingInformation: WideString;
begin
    Result := DefaultInterface.BillingInformation;
end;

procedure TContactItem.Set_BillingInformation(const BillingInformation: WideString);
  { Warning: The property BillingInformation has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.BillingInformation := BillingInformation;
end;

function TContactItem.Get_Body: WideString;
begin
    Result := DefaultInterface.Body;
end;

procedure TContactItem.Set_Body(const Body: WideString);
  { Warning: The property Body has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Body := Body;
end;

function TContactItem.Get_Categories: WideString;
begin
    Result := DefaultInterface.Categories;
end;

procedure TContactItem.Set_Categories(const Categories: WideString);
  { Warning: The property Categories has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Categories := Categories;
end;

function TContactItem.Get_Companies: WideString;
begin
    Result := DefaultInterface.Companies;
end;

procedure TContactItem.Set_Companies(const Companies: WideString);
  { Warning: The property Companies has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Companies := Companies;
end;

function TContactItem.Get_ConversationIndex: WideString;
begin
    Result := DefaultInterface.ConversationIndex;
end;

function TContactItem.Get_ConversationTopic: WideString;
begin
    Result := DefaultInterface.ConversationTopic;
end;

function TContactItem.Get_CreationTime: TDateTime;
begin
    Result := DefaultInterface.CreationTime;
end;

function TContactItem.Get_EntryID: WideString;
begin
    Result := DefaultInterface.EntryID;
end;

function TContactItem.Get_FormDescription: FormDescription;
begin
    Result := DefaultInterface.FormDescription;
end;

function TContactItem.Get_GetInspector: _Inspector;
begin
    Result := DefaultInterface.GetInspector;
end;

function TContactItem.Get_Importance: OlImportance;
begin
    Result := DefaultInterface.Importance;
end;

procedure TContactItem.Set_Importance(Importance: OlImportance);
begin
  DefaultInterface.Set_Importance(Importance);
end;

function TContactItem.Get_LastModificationTime: TDateTime;
begin
    Result := DefaultInterface.LastModificationTime;
end;

function TContactItem.Get_MAPIOBJECT: IUnknown;
begin
    Result := DefaultInterface.MAPIOBJECT;
end;

function TContactItem.Get_MessageClass: WideString;
begin
    Result := DefaultInterface.MessageClass;
end;

procedure TContactItem.Set_MessageClass(const MessageClass: WideString);
  { Warning: The property MessageClass has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.MessageClass := MessageClass;
end;

function TContactItem.Get_Mileage: WideString;
begin
    Result := DefaultInterface.Mileage;
end;

procedure TContactItem.Set_Mileage(const Mileage: WideString);
  { Warning: The property Mileage has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Mileage := Mileage;
end;

function TContactItem.Get_NoAging: WordBool;
begin
    Result := DefaultInterface.NoAging;
end;

procedure TContactItem.Set_NoAging(NoAging: WordBool);
begin
  DefaultInterface.Set_NoAging(NoAging);
end;

function TContactItem.Get_OutlookInternalVersion: Integer;
begin
    Result := DefaultInterface.OutlookInternalVersion;
end;

function TContactItem.Get_OutlookVersion: WideString;
begin
    Result := DefaultInterface.OutlookVersion;
end;

function TContactItem.Get_Saved: WordBool;
begin
    Result := DefaultInterface.Saved;
end;

function TContactItem.Get_Sensitivity: OlSensitivity;
begin
    Result := DefaultInterface.Sensitivity;
end;

procedure TContactItem.Set_Sensitivity(Sensitivity: OlSensitivity);
begin
  DefaultInterface.Set_Sensitivity(Sensitivity);
end;

function TContactItem.Get_Size: Integer;
begin
    Result := DefaultInterface.Size;
end;

function TContactItem.Get_Subject: WideString;
begin
    Result := DefaultInterface.Subject;
end;

procedure TContactItem.Set_Subject(const Subject: WideString);
  { Warning: The property Subject has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Subject := Subject;
end;

function TContactItem.Get_UnRead: WordBool;
begin
    Result := DefaultInterface.UnRead;
end;

procedure TContactItem.Set_UnRead(UnRead: WordBool);
begin
  DefaultInterface.Set_UnRead(UnRead);
end;

function TContactItem.Get_UserProperties: UserProperties;
begin
    Result := DefaultInterface.UserProperties;
end;

function TContactItem.Get_Account: WideString;
begin
    Result := DefaultInterface.Account;
end;

procedure TContactItem.Set_Account(const Account: WideString);
  { Warning: The property Account has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Account := Account;
end;

function TContactItem.Get_Anniversary: TDateTime;
begin
    Result := DefaultInterface.Anniversary;
end;

procedure TContactItem.Set_Anniversary(Anniversary: TDateTime);
begin
  DefaultInterface.Set_Anniversary(Anniversary);
end;

function TContactItem.Get_AssistantName: WideString;
begin
    Result := DefaultInterface.AssistantName;
end;

procedure TContactItem.Set_AssistantName(const AssistantName: WideString);
  { Warning: The property AssistantName has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.AssistantName := AssistantName;
end;

function TContactItem.Get_AssistantTelephoneNumber: WideString;
begin
    Result := DefaultInterface.AssistantTelephoneNumber;
end;

procedure TContactItem.Set_AssistantTelephoneNumber(const AssistantTelephoneNumber: WideString);
  { Warning: The property AssistantTelephoneNumber has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.AssistantTelephoneNumber := AssistantTelephoneNumber;
end;

function TContactItem.Get_Birthday: TDateTime;
begin
    Result := DefaultInterface.Birthday;
end;

procedure TContactItem.Set_Birthday(Birthday: TDateTime);
begin
  DefaultInterface.Set_Birthday(Birthday);
end;

function TContactItem.Get_Business2TelephoneNumber: WideString;
begin
    Result := DefaultInterface.Business2TelephoneNumber;
end;

procedure TContactItem.Set_Business2TelephoneNumber(const Business2TelephoneNumber: WideString);
  { Warning: The property Business2TelephoneNumber has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Business2TelephoneNumber := Business2TelephoneNumber;
end;

function TContactItem.Get_BusinessAddress: WideString;
begin
    Result := DefaultInterface.BusinessAddress;
end;

procedure TContactItem.Set_BusinessAddress(const BusinessAddress: WideString);
  { Warning: The property BusinessAddress has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.BusinessAddress := BusinessAddress;
end;

function TContactItem.Get_BusinessAddressCity: WideString;
begin
    Result := DefaultInterface.BusinessAddressCity;
end;

procedure TContactItem.Set_BusinessAddressCity(const BusinessAddressCity: WideString);
  { Warning: The property BusinessAddressCity has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.BusinessAddressCity := BusinessAddressCity;
end;

function TContactItem.Get_BusinessAddressCountry: WideString;
begin
    Result := DefaultInterface.BusinessAddressCountry;
end;

procedure TContactItem.Set_BusinessAddressCountry(const BusinessAddressCountry: WideString);
  { Warning: The property BusinessAddressCountry has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.BusinessAddressCountry := BusinessAddressCountry;
end;

function TContactItem.Get_BusinessAddressPostalCode: WideString;
begin
    Result := DefaultInterface.BusinessAddressPostalCode;
end;

procedure TContactItem.Set_BusinessAddressPostalCode(const BusinessAddressPostalCode: WideString);
  { Warning: The property BusinessAddressPostalCode has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.BusinessAddressPostalCode := BusinessAddressPostalCode;
end;

function TContactItem.Get_BusinessAddressPostOfficeBox: WideString;
begin
    Result := DefaultInterface.BusinessAddressPostOfficeBox;
end;

procedure TContactItem.Set_BusinessAddressPostOfficeBox(const BusinessAddressPostOfficeBox: WideString);
  { Warning: The property BusinessAddressPostOfficeBox has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.BusinessAddressPostOfficeBox := BusinessAddressPostOfficeBox;
end;

function TContactItem.Get_BusinessAddressState: WideString;
begin
    Result := DefaultInterface.BusinessAddressState;
end;

procedure TContactItem.Set_BusinessAddressState(const BusinessAddressState: WideString);
  { Warning: The property BusinessAddressState has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.BusinessAddressState := BusinessAddressState;
end;

function TContactItem.Get_BusinessAddressStreet: WideString;
begin
    Result := DefaultInterface.BusinessAddressStreet;
end;

procedure TContactItem.Set_BusinessAddressStreet(const BusinessAddressStreet: WideString);
  { Warning: The property BusinessAddressStreet has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.BusinessAddressStreet := BusinessAddressStreet;
end;

function TContactItem.Get_BusinessFaxNumber: WideString;
begin
    Result := DefaultInterface.BusinessFaxNumber;
end;

procedure TContactItem.Set_BusinessFaxNumber(const BusinessFaxNumber: WideString);
  { Warning: The property BusinessFaxNumber has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.BusinessFaxNumber := BusinessFaxNumber;
end;

function TContactItem.Get_BusinessHomePage: WideString;
begin
    Result := DefaultInterface.BusinessHomePage;
end;

procedure TContactItem.Set_BusinessHomePage(const BusinessHomePage: WideString);
  { Warning: The property BusinessHomePage has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.BusinessHomePage := BusinessHomePage;
end;

function TContactItem.Get_BusinessTelephoneNumber: WideString;
begin
    Result := DefaultInterface.BusinessTelephoneNumber;
end;

procedure TContactItem.Set_BusinessTelephoneNumber(const BusinessTelephoneNumber: WideString);
  { Warning: The property BusinessTelephoneNumber has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.BusinessTelephoneNumber := BusinessTelephoneNumber;
end;

function TContactItem.Get_CallbackTelephoneNumber: WideString;
begin
    Result := DefaultInterface.CallbackTelephoneNumber;
end;

procedure TContactItem.Set_CallbackTelephoneNumber(const CallbackTelephoneNumber: WideString);
  { Warning: The property CallbackTelephoneNumber has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.CallbackTelephoneNumber := CallbackTelephoneNumber;
end;

function TContactItem.Get_CarTelephoneNumber: WideString;
begin
    Result := DefaultInterface.CarTelephoneNumber;
end;

procedure TContactItem.Set_CarTelephoneNumber(const CarTelephoneNumber: WideString);
  { Warning: The property CarTelephoneNumber has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.CarTelephoneNumber := CarTelephoneNumber;
end;

function TContactItem.Get_Children: WideString;
begin
    Result := DefaultInterface.Children;
end;

procedure TContactItem.Set_Children(const Children: WideString);
  { Warning: The property Children has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Children := Children;
end;

function TContactItem.Get_CompanyAndFullName: WideString;
begin
    Result := DefaultInterface.CompanyAndFullName;
end;

function TContactItem.Get_CompanyLastFirstNoSpace: WideString;
begin
    Result := DefaultInterface.CompanyLastFirstNoSpace;
end;

function TContactItem.Get_CompanyLastFirstSpaceOnly: WideString;
begin
    Result := DefaultInterface.CompanyLastFirstSpaceOnly;
end;

function TContactItem.Get_CompanyMainTelephoneNumber: WideString;
begin
    Result := DefaultInterface.CompanyMainTelephoneNumber;
end;

procedure TContactItem.Set_CompanyMainTelephoneNumber(const CompanyMainTelephoneNumber: WideString);
  { Warning: The property CompanyMainTelephoneNumber has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.CompanyMainTelephoneNumber := CompanyMainTelephoneNumber;
end;

function TContactItem.Get_CompanyName: WideString;
begin
    Result := DefaultInterface.CompanyName;
end;

procedure TContactItem.Set_CompanyName(const CompanyName: WideString);
  { Warning: The property CompanyName has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.CompanyName := CompanyName;
end;

function TContactItem.Get_ComputerNetworkName: WideString;
begin
    Result := DefaultInterface.ComputerNetworkName;
end;

procedure TContactItem.Set_ComputerNetworkName(const ComputerNetworkName: WideString);
  { Warning: The property ComputerNetworkName has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.ComputerNetworkName := ComputerNetworkName;
end;

function TContactItem.Get_CustomerID: WideString;
begin
    Result := DefaultInterface.CustomerID;
end;

procedure TContactItem.Set_CustomerID(const CustomerID: WideString);
  { Warning: The property CustomerID has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.CustomerID := CustomerID;
end;

function TContactItem.Get_Department: WideString;
begin
    Result := DefaultInterface.Department;
end;

procedure TContactItem.Set_Department(const Department: WideString);
  { Warning: The property Department has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Department := Department;
end;

function TContactItem.Get_Email1Address: WideString;
begin
    Result := DefaultInterface.Email1Address;
end;

procedure TContactItem.Set_Email1Address(const Email1Address: WideString);
  { Warning: The property Email1Address has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Email1Address := Email1Address;
end;

function TContactItem.Get_Email1AddressType: WideString;
begin
    Result := DefaultInterface.Email1AddressType;
end;

procedure TContactItem.Set_Email1AddressType(const Email1AddressType: WideString);
  { Warning: The property Email1AddressType has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Email1AddressType := Email1AddressType;
end;

function TContactItem.Get_Email1DisplayName: WideString;
begin
    Result := DefaultInterface.Email1DisplayName;
end;

function TContactItem.Get_Email1EntryID: WideString;
begin
    Result := DefaultInterface.Email1EntryID;
end;

function TContactItem.Get_Email2Address: WideString;
begin
    Result := DefaultInterface.Email2Address;
end;

procedure TContactItem.Set_Email2Address(const Email2Address: WideString);
  { Warning: The property Email2Address has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Email2Address := Email2Address;
end;

function TContactItem.Get_Email2AddressType: WideString;
begin
    Result := DefaultInterface.Email2AddressType;
end;

procedure TContactItem.Set_Email2AddressType(const Email2AddressType: WideString);
  { Warning: The property Email2AddressType has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Email2AddressType := Email2AddressType;
end;

function TContactItem.Get_Email2DisplayName: WideString;
begin
    Result := DefaultInterface.Email2DisplayName;
end;

function TContactItem.Get_Email2EntryID: WideString;
begin
    Result := DefaultInterface.Email2EntryID;
end;

function TContactItem.Get_Email3Address: WideString;
begin
    Result := DefaultInterface.Email3Address;
end;

procedure TContactItem.Set_Email3Address(const Email3Address: WideString);
  { Warning: The property Email3Address has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Email3Address := Email3Address;
end;

function TContactItem.Get_Email3AddressType: WideString;
begin
    Result := DefaultInterface.Email3AddressType;
end;

procedure TContactItem.Set_Email3AddressType(const Email3AddressType: WideString);
  { Warning: The property Email3AddressType has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Email3AddressType := Email3AddressType;
end;

function TContactItem.Get_Email3DisplayName: WideString;
begin
    Result := DefaultInterface.Email3DisplayName;
end;

function TContactItem.Get_Email3EntryID: WideString;
begin
    Result := DefaultInterface.Email3EntryID;
end;

function TContactItem.Get_FileAs: WideString;
begin
    Result := DefaultInterface.FileAs;
end;

procedure TContactItem.Set_FileAs(const FileAs: WideString);
  { Warning: The property FileAs has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.FileAs := FileAs;
end;

function TContactItem.Get_FirstName: WideString;
begin
    Result := DefaultInterface.FirstName;
end;

procedure TContactItem.Set_FirstName(const FirstName: WideString);
  { Warning: The property FirstName has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.FirstName := FirstName;
end;

function TContactItem.Get_FTPSite: WideString;
begin
    Result := DefaultInterface.FTPSite;
end;

procedure TContactItem.Set_FTPSite(const FTPSite: WideString);
  { Warning: The property FTPSite has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.FTPSite := FTPSite;
end;

function TContactItem.Get_FullName: WideString;
begin
    Result := DefaultInterface.FullName;
end;

procedure TContactItem.Set_FullName(const FullName: WideString);
  { Warning: The property FullName has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.FullName := FullName;
end;

function TContactItem.Get_FullNameAndCompany: WideString;
begin
    Result := DefaultInterface.FullNameAndCompany;
end;

function TContactItem.Get_Gender: OlGender;
begin
    Result := DefaultInterface.Gender;
end;

procedure TContactItem.Set_Gender(Gender: OlGender);
begin
  DefaultInterface.Set_Gender(Gender);
end;

function TContactItem.Get_GovernmentIDNumber: WideString;
begin
    Result := DefaultInterface.GovernmentIDNumber;
end;

procedure TContactItem.Set_GovernmentIDNumber(const GovernmentIDNumber: WideString);
  { Warning: The property GovernmentIDNumber has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.GovernmentIDNumber := GovernmentIDNumber;
end;

function TContactItem.Get_Hobby: WideString;
begin
    Result := DefaultInterface.Hobby;
end;

procedure TContactItem.Set_Hobby(const Hobby: WideString);
  { Warning: The property Hobby has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Hobby := Hobby;
end;

function TContactItem.Get_Home2TelephoneNumber: WideString;
begin
    Result := DefaultInterface.Home2TelephoneNumber;
end;

procedure TContactItem.Set_Home2TelephoneNumber(const Home2TelephoneNumber: WideString);
  { Warning: The property Home2TelephoneNumber has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Home2TelephoneNumber := Home2TelephoneNumber;
end;

function TContactItem.Get_HomeAddress: WideString;
begin
    Result := DefaultInterface.HomeAddress;
end;

procedure TContactItem.Set_HomeAddress(const HomeAddress: WideString);
  { Warning: The property HomeAddress has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.HomeAddress := HomeAddress;
end;

function TContactItem.Get_HomeAddressCity: WideString;
begin
    Result := DefaultInterface.HomeAddressCity;
end;

procedure TContactItem.Set_HomeAddressCity(const HomeAddressCity: WideString);
  { Warning: The property HomeAddressCity has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.HomeAddressCity := HomeAddressCity;
end;

function TContactItem.Get_HomeAddressCountry: WideString;
begin
    Result := DefaultInterface.HomeAddressCountry;
end;

procedure TContactItem.Set_HomeAddressCountry(const HomeAddressCountry: WideString);
  { Warning: The property HomeAddressCountry has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.HomeAddressCountry := HomeAddressCountry;
end;

function TContactItem.Get_HomeAddressPostalCode: WideString;
begin
    Result := DefaultInterface.HomeAddressPostalCode;
end;

procedure TContactItem.Set_HomeAddressPostalCode(const HomeAddressPostalCode: WideString);
  { Warning: The property HomeAddressPostalCode has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.HomeAddressPostalCode := HomeAddressPostalCode;
end;

function TContactItem.Get_HomeAddressPostOfficeBox: WideString;
begin
    Result := DefaultInterface.HomeAddressPostOfficeBox;
end;

procedure TContactItem.Set_HomeAddressPostOfficeBox(const HomeAddressPostOfficeBox: WideString);
  { Warning: The property HomeAddressPostOfficeBox has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.HomeAddressPostOfficeBox := HomeAddressPostOfficeBox;
end;

function TContactItem.Get_HomeAddressState: WideString;
begin
    Result := DefaultInterface.HomeAddressState;
end;

procedure TContactItem.Set_HomeAddressState(const HomeAddressState: WideString);
  { Warning: The property HomeAddressState has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.HomeAddressState := HomeAddressState;
end;

function TContactItem.Get_HomeAddressStreet: WideString;
begin
    Result := DefaultInterface.HomeAddressStreet;
end;

procedure TContactItem.Set_HomeAddressStreet(const HomeAddressStreet: WideString);
  { Warning: The property HomeAddressStreet has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.HomeAddressStreet := HomeAddressStreet;
end;

function TContactItem.Get_HomeFaxNumber: WideString;
begin
    Result := DefaultInterface.HomeFaxNumber;
end;

procedure TContactItem.Set_HomeFaxNumber(const HomeFaxNumber: WideString);
  { Warning: The property HomeFaxNumber has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.HomeFaxNumber := HomeFaxNumber;
end;

function TContactItem.Get_HomeTelephoneNumber: WideString;
begin
    Result := DefaultInterface.HomeTelephoneNumber;
end;

procedure TContactItem.Set_HomeTelephoneNumber(const HomeTelephoneNumber: WideString);
  { Warning: The property HomeTelephoneNumber has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.HomeTelephoneNumber := HomeTelephoneNumber;
end;

function TContactItem.Get_Initials: WideString;
begin
    Result := DefaultInterface.Initials;
end;

procedure TContactItem.Set_Initials(const Initials: WideString);
  { Warning: The property Initials has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Initials := Initials;
end;

function TContactItem.Get_InternetFreeBusyAddress: WideString;
begin
    Result := DefaultInterface.InternetFreeBusyAddress;
end;

procedure TContactItem.Set_InternetFreeBusyAddress(const InternetFreeBusyAddress: WideString);
  { Warning: The property InternetFreeBusyAddress has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.InternetFreeBusyAddress := InternetFreeBusyAddress;
end;

function TContactItem.Get_ISDNNumber: WideString;
begin
    Result := DefaultInterface.ISDNNumber;
end;

procedure TContactItem.Set_ISDNNumber(const ISDNNumber: WideString);
  { Warning: The property ISDNNumber has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.ISDNNumber := ISDNNumber;
end;

function TContactItem.Get_JobTitle: WideString;
begin
    Result := DefaultInterface.JobTitle;
end;

procedure TContactItem.Set_JobTitle(const JobTitle: WideString);
  { Warning: The property JobTitle has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.JobTitle := JobTitle;
end;

function TContactItem.Get_Journal: WordBool;
begin
    Result := DefaultInterface.Journal;
end;

procedure TContactItem.Set_Journal(Journal: WordBool);
begin
  DefaultInterface.Set_Journal(Journal);
end;

function TContactItem.Get_Language: WideString;
begin
    Result := DefaultInterface.Language;
end;

procedure TContactItem.Set_Language(const Language: WideString);
  { Warning: The property Language has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Language := Language;
end;

function TContactItem.Get_LastFirstAndSuffix: WideString;
begin
    Result := DefaultInterface.LastFirstAndSuffix;
end;

function TContactItem.Get_LastFirstNoSpace: WideString;
begin
    Result := DefaultInterface.LastFirstNoSpace;
end;

function TContactItem.Get_LastFirstNoSpaceCompany: WideString;
begin
    Result := DefaultInterface.LastFirstNoSpaceCompany;
end;

function TContactItem.Get_LastFirstSpaceOnly: WideString;
begin
    Result := DefaultInterface.LastFirstSpaceOnly;
end;

function TContactItem.Get_LastFirstSpaceOnlyCompany: WideString;
begin
    Result := DefaultInterface.LastFirstSpaceOnlyCompany;
end;

function TContactItem.Get_LastName: WideString;
begin
    Result := DefaultInterface.LastName;
end;

procedure TContactItem.Set_LastName(const LastName: WideString);
  { Warning: The property LastName has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.LastName := LastName;
end;

function TContactItem.Get_LastNameAndFirstName: WideString;
begin
    Result := DefaultInterface.LastNameAndFirstName;
end;

function TContactItem.Get_MailingAddress: WideString;
begin
    Result := DefaultInterface.MailingAddress;
end;

procedure TContactItem.Set_MailingAddress(const MailingAddress: WideString);
  { Warning: The property MailingAddress has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.MailingAddress := MailingAddress;
end;

function TContactItem.Get_MailingAddressCity: WideString;
begin
    Result := DefaultInterface.MailingAddressCity;
end;

procedure TContactItem.Set_MailingAddressCity(const MailingAddressCity: WideString);
  { Warning: The property MailingAddressCity has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.MailingAddressCity := MailingAddressCity;
end;

function TContactItem.Get_MailingAddressCountry: WideString;
begin
    Result := DefaultInterface.MailingAddressCountry;
end;

procedure TContactItem.Set_MailingAddressCountry(const MailingAddressCountry: WideString);
  { Warning: The property MailingAddressCountry has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.MailingAddressCountry := MailingAddressCountry;
end;

function TContactItem.Get_MailingAddressPostalCode: WideString;
begin
    Result := DefaultInterface.MailingAddressPostalCode;
end;

procedure TContactItem.Set_MailingAddressPostalCode(const MailingAddressPostalCode: WideString);
  { Warning: The property MailingAddressPostalCode has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.MailingAddressPostalCode := MailingAddressPostalCode;
end;

function TContactItem.Get_MailingAddressPostOfficeBox: WideString;
begin
    Result := DefaultInterface.MailingAddressPostOfficeBox;
end;

procedure TContactItem.Set_MailingAddressPostOfficeBox(const MailingAddressPostOfficeBox: WideString);
  { Warning: The property MailingAddressPostOfficeBox has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.MailingAddressPostOfficeBox := MailingAddressPostOfficeBox;
end;

function TContactItem.Get_MailingAddressState: WideString;
begin
    Result := DefaultInterface.MailingAddressState;
end;

procedure TContactItem.Set_MailingAddressState(const MailingAddressState: WideString);
  { Warning: The property MailingAddressState has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.MailingAddressState := MailingAddressState;
end;

function TContactItem.Get_MailingAddressStreet: WideString;
begin
    Result := DefaultInterface.MailingAddressStreet;
end;

procedure TContactItem.Set_MailingAddressStreet(const MailingAddressStreet: WideString);
  { Warning: The property MailingAddressStreet has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.MailingAddressStreet := MailingAddressStreet;
end;

function TContactItem.Get_ManagerName: WideString;
begin
    Result := DefaultInterface.ManagerName;
end;

procedure TContactItem.Set_ManagerName(const ManagerName: WideString);
  { Warning: The property ManagerName has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.ManagerName := ManagerName;
end;

function TContactItem.Get_MiddleName: WideString;
begin
    Result := DefaultInterface.MiddleName;
end;

procedure TContactItem.Set_MiddleName(const MiddleName: WideString);
  { Warning: The property MiddleName has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.MiddleName := MiddleName;
end;

function TContactItem.Get_MobileTelephoneNumber: WideString;
begin
    Result := DefaultInterface.MobileTelephoneNumber;
end;

procedure TContactItem.Set_MobileTelephoneNumber(const MobileTelephoneNumber: WideString);
  { Warning: The property MobileTelephoneNumber has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.MobileTelephoneNumber := MobileTelephoneNumber;
end;

function TContactItem.Get_NetMeetingAlias: WideString;
begin
    Result := DefaultInterface.NetMeetingAlias;
end;

procedure TContactItem.Set_NetMeetingAlias(const NetMeetingAlias: WideString);
  { Warning: The property NetMeetingAlias has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.NetMeetingAlias := NetMeetingAlias;
end;

function TContactItem.Get_NetMeetingServer: WideString;
begin
    Result := DefaultInterface.NetMeetingServer;
end;

procedure TContactItem.Set_NetMeetingServer(const NetMeetingServer: WideString);
  { Warning: The property NetMeetingServer has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.NetMeetingServer := NetMeetingServer;
end;

function TContactItem.Get_NickName: WideString;
begin
    Result := DefaultInterface.NickName;
end;

procedure TContactItem.Set_NickName(const NickName: WideString);
  { Warning: The property NickName has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.NickName := NickName;
end;

function TContactItem.Get_OfficeLocation: WideString;
begin
    Result := DefaultInterface.OfficeLocation;
end;

procedure TContactItem.Set_OfficeLocation(const OfficeLocation: WideString);
  { Warning: The property OfficeLocation has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.OfficeLocation := OfficeLocation;
end;

function TContactItem.Get_OrganizationalIDNumber: WideString;
begin
    Result := DefaultInterface.OrganizationalIDNumber;
end;

procedure TContactItem.Set_OrganizationalIDNumber(const OrganizationalIDNumber: WideString);
  { Warning: The property OrganizationalIDNumber has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.OrganizationalIDNumber := OrganizationalIDNumber;
end;

function TContactItem.Get_OtherAddress: WideString;
begin
    Result := DefaultInterface.OtherAddress;
end;

procedure TContactItem.Set_OtherAddress(const OtherAddress: WideString);
  { Warning: The property OtherAddress has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.OtherAddress := OtherAddress;
end;

function TContactItem.Get_OtherAddressCity: WideString;
begin
    Result := DefaultInterface.OtherAddressCity;
end;

procedure TContactItem.Set_OtherAddressCity(const OtherAddressCity: WideString);
  { Warning: The property OtherAddressCity has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.OtherAddressCity := OtherAddressCity;
end;

function TContactItem.Get_OtherAddressCountry: WideString;
begin
    Result := DefaultInterface.OtherAddressCountry;
end;

procedure TContactItem.Set_OtherAddressCountry(const OtherAddressCountry: WideString);
  { Warning: The property OtherAddressCountry has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.OtherAddressCountry := OtherAddressCountry;
end;

function TContactItem.Get_OtherAddressPostalCode: WideString;
begin
    Result := DefaultInterface.OtherAddressPostalCode;
end;

procedure TContactItem.Set_OtherAddressPostalCode(const OtherAddressPostalCode: WideString);
  { Warning: The property OtherAddressPostalCode has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.OtherAddressPostalCode := OtherAddressPostalCode;
end;

function TContactItem.Get_OtherAddressPostOfficeBox: WideString;
begin
    Result := DefaultInterface.OtherAddressPostOfficeBox;
end;

procedure TContactItem.Set_OtherAddressPostOfficeBox(const OtherAddressPostOfficeBox: WideString);
  { Warning: The property OtherAddressPostOfficeBox has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.OtherAddressPostOfficeBox := OtherAddressPostOfficeBox;
end;

function TContactItem.Get_OtherAddressState: WideString;
begin
    Result := DefaultInterface.OtherAddressState;
end;

procedure TContactItem.Set_OtherAddressState(const OtherAddressState: WideString);
  { Warning: The property OtherAddressState has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.OtherAddressState := OtherAddressState;
end;

function TContactItem.Get_OtherAddressStreet: WideString;
begin
    Result := DefaultInterface.OtherAddressStreet;
end;

procedure TContactItem.Set_OtherAddressStreet(const OtherAddressStreet: WideString);
  { Warning: The property OtherAddressStreet has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.OtherAddressStreet := OtherAddressStreet;
end;

function TContactItem.Get_OtherFaxNumber: WideString;
begin
    Result := DefaultInterface.OtherFaxNumber;
end;

procedure TContactItem.Set_OtherFaxNumber(const OtherFaxNumber: WideString);
  { Warning: The property OtherFaxNumber has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.OtherFaxNumber := OtherFaxNumber;
end;

function TContactItem.Get_OtherTelephoneNumber: WideString;
begin
    Result := DefaultInterface.OtherTelephoneNumber;
end;

procedure TContactItem.Set_OtherTelephoneNumber(const OtherTelephoneNumber: WideString);
  { Warning: The property OtherTelephoneNumber has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.OtherTelephoneNumber := OtherTelephoneNumber;
end;

function TContactItem.Get_PagerNumber: WideString;
begin
    Result := DefaultInterface.PagerNumber;
end;

procedure TContactItem.Set_PagerNumber(const PagerNumber: WideString);
  { Warning: The property PagerNumber has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.PagerNumber := PagerNumber;
end;

function TContactItem.Get_PersonalHomePage: WideString;
begin
    Result := DefaultInterface.PersonalHomePage;
end;

procedure TContactItem.Set_PersonalHomePage(const PersonalHomePage: WideString);
  { Warning: The property PersonalHomePage has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.PersonalHomePage := PersonalHomePage;
end;

function TContactItem.Get_PrimaryTelephoneNumber: WideString;
begin
    Result := DefaultInterface.PrimaryTelephoneNumber;
end;

procedure TContactItem.Set_PrimaryTelephoneNumber(const PrimaryTelephoneNumber: WideString);
  { Warning: The property PrimaryTelephoneNumber has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.PrimaryTelephoneNumber := PrimaryTelephoneNumber;
end;

function TContactItem.Get_Profession: WideString;
begin
    Result := DefaultInterface.Profession;
end;

procedure TContactItem.Set_Profession(const Profession: WideString);
  { Warning: The property Profession has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Profession := Profession;
end;

function TContactItem.Get_RadioTelephoneNumber: WideString;
begin
    Result := DefaultInterface.RadioTelephoneNumber;
end;

procedure TContactItem.Set_RadioTelephoneNumber(const RadioTelephoneNumber: WideString);
  { Warning: The property RadioTelephoneNumber has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.RadioTelephoneNumber := RadioTelephoneNumber;
end;

function TContactItem.Get_ReferredBy: WideString;
begin
    Result := DefaultInterface.ReferredBy;
end;

procedure TContactItem.Set_ReferredBy(const ReferredBy: WideString);
  { Warning: The property ReferredBy has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.ReferredBy := ReferredBy;
end;

function TContactItem.Get_SelectedMailingAddress: OlMailingAddress;
begin
    Result := DefaultInterface.SelectedMailingAddress;
end;

procedure TContactItem.Set_SelectedMailingAddress(SelectedMailingAddress: OlMailingAddress);
begin
  DefaultInterface.Set_SelectedMailingAddress(SelectedMailingAddress);
end;

function TContactItem.Get_Spouse: WideString;
begin
    Result := DefaultInterface.Spouse;
end;

procedure TContactItem.Set_Spouse(const Spouse: WideString);
  { Warning: The property Spouse has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Spouse := Spouse;
end;

function TContactItem.Get_Suffix: WideString;
begin
    Result := DefaultInterface.Suffix;
end;

procedure TContactItem.Set_Suffix(const Suffix: WideString);
  { Warning: The property Suffix has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Suffix := Suffix;
end;

function TContactItem.Get_TelexNumber: WideString;
begin
    Result := DefaultInterface.TelexNumber;
end;

procedure TContactItem.Set_TelexNumber(const TelexNumber: WideString);
  { Warning: The property TelexNumber has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.TelexNumber := TelexNumber;
end;

function TContactItem.Get_Title: WideString;
begin
    Result := DefaultInterface.Title;
end;

procedure TContactItem.Set_Title(const Title: WideString);
  { Warning: The property Title has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Title := Title;
end;

function TContactItem.Get_TTYTDDTelephoneNumber: WideString;
begin
    Result := DefaultInterface.TTYTDDTelephoneNumber;
end;

procedure TContactItem.Set_TTYTDDTelephoneNumber(const TTYTDDTelephoneNumber: WideString);
  { Warning: The property TTYTDDTelephoneNumber has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.TTYTDDTelephoneNumber := TTYTDDTelephoneNumber;
end;

function TContactItem.Get_User1: WideString;
begin
    Result := DefaultInterface.User1;
end;

procedure TContactItem.Set_User1(const User1: WideString);
  { Warning: The property User1 has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.User1 := User1;
end;

function TContactItem.Get_User2: WideString;
begin
    Result := DefaultInterface.User2;
end;

procedure TContactItem.Set_User2(const User2: WideString);
  { Warning: The property User2 has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.User2 := User2;
end;

function TContactItem.Get_User3: WideString;
begin
    Result := DefaultInterface.User3;
end;

procedure TContactItem.Set_User3(const User3: WideString);
  { Warning: The property User3 has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.User3 := User3;
end;

function TContactItem.Get_User4: WideString;
begin
    Result := DefaultInterface.User4;
end;

procedure TContactItem.Set_User4(const User4: WideString);
  { Warning: The property User4 has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.User4 := User4;
end;

function TContactItem.Get_UserCertificate: WideString;
begin
    Result := DefaultInterface.UserCertificate;
end;

procedure TContactItem.Set_UserCertificate(const UserCertificate: WideString);
  { Warning: The property UserCertificate has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.UserCertificate := UserCertificate;
end;

function TContactItem.Get_WebPage: WideString;
begin
    Result := DefaultInterface.WebPage;
end;

procedure TContactItem.Set_WebPage(const WebPage: WideString);
  { Warning: The property WebPage has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.WebPage := WebPage;
end;

function TContactItem.Get_YomiCompanyName: WideString;
begin
    Result := DefaultInterface.YomiCompanyName;
end;

procedure TContactItem.Set_YomiCompanyName(const YomiCompanyName: WideString);
  { Warning: The property YomiCompanyName has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.YomiCompanyName := YomiCompanyName;
end;

function TContactItem.Get_YomiFirstName: WideString;
begin
    Result := DefaultInterface.YomiFirstName;
end;

procedure TContactItem.Set_YomiFirstName(const YomiFirstName: WideString);
  { Warning: The property YomiFirstName has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.YomiFirstName := YomiFirstName;
end;

function TContactItem.Get_YomiLastName: WideString;
begin
    Result := DefaultInterface.YomiLastName;
end;

procedure TContactItem.Set_YomiLastName(const YomiLastName: WideString);
  { Warning: The property YomiLastName has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.YomiLastName := YomiLastName;
end;

function TContactItem.Get_Links: Links;
begin
    Result := DefaultInterface.Links;
end;

function TContactItem.Get_ItemProperties: ItemProperties;
begin
    Result := DefaultInterface.ItemProperties;
end;

function TContactItem.Get_LastFirstNoSpaceAndSuffix: WideString;
begin
    Result := DefaultInterface.LastFirstNoSpaceAndSuffix;
end;

function TContactItem.Get_DownloadState: OlDownloadState;
begin
    Result := DefaultInterface.DownloadState;
end;

function TContactItem.Get_IMAddress: WideString;
begin
    Result := DefaultInterface.IMAddress;
end;

procedure TContactItem.Set_IMAddress(const IMAddress: WideString);
  { Warning: The property IMAddress has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.IMAddress := IMAddress;
end;

function TContactItem.Get_MarkForDownload: OlRemoteStatus;
begin
    Result := DefaultInterface.MarkForDownload;
end;

procedure TContactItem.Set_MarkForDownload(MarkForDownload: OlRemoteStatus);
begin
  DefaultInterface.Set_MarkForDownload(MarkForDownload);
end;

procedure TContactItem.Set_Email1DisplayName(const Email1DisplayName: WideString);
  { Warning: The property Email1DisplayName has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Email1DisplayName := Email1DisplayName;
end;

procedure TContactItem.Set_Email2DisplayName(const Email2DisplayName: WideString);
  { Warning: The property Email2DisplayName has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Email2DisplayName := Email2DisplayName;
end;

procedure TContactItem.Set_Email3DisplayName(const Email3DisplayName: WideString);
  { Warning: The property Email3DisplayName has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Email3DisplayName := Email3DisplayName;
end;

function TContactItem.Get_IsConflict: WordBool;
begin
    Result := DefaultInterface.IsConflict;
end;

procedure TContactItem.Close(SaveMode: OlInspectorClose);
begin
  DefaultInterface.Close(SaveMode);
end;

function TContactItem.Copy: IDispatch;
begin
  Result := DefaultInterface.Copy;
end;

procedure TContactItem.Delete;
begin
  DefaultInterface.Delete;
end;

procedure TContactItem.Display;
begin
  DefaultInterface.Display(EmptyParam);
end;

procedure TContactItem.Display(Modal: OleVariant);
begin
  DefaultInterface.Display(Modal);
end;

function TContactItem.Move(const DestFldr: MAPIFolder): IDispatch;
begin
  Result := DefaultInterface.Move(DestFldr);
end;

procedure TContactItem.PrintOut;
begin
  DefaultInterface.PrintOut;
end;

procedure TContactItem.Save;
begin
  DefaultInterface.Save;
end;

procedure TContactItem.SaveAs(const Path: WideString);
begin
  DefaultInterface.SaveAs(Path, EmptyParam);
end;

procedure TContactItem.SaveAs(const Path: WideString; Type_: OleVariant);
begin
  DefaultInterface.SaveAs(Path, Type_);
end;

function TContactItem.ForwardAsVcard: MailItem;
begin
  Result := DefaultInterface.ForwardAsVcard;
end;

procedure TContactItem.ShowCategoriesDialog;
begin
  DefaultInterface.ShowCategoriesDialog;
end;

{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
constructor TContactItemProperties.Create(AServer: TContactItem);
begin
  inherited Create;
  FServer := AServer;
end;

function TContactItemProperties.GetDefaultInterface: _ContactItem;
begin
  Result := FServer.DefaultInterface;
end;

function TContactItemProperties.Get_Application: _Application;
begin
    Result := DefaultInterface.Application;
end;

function TContactItemProperties.Get_Class_: OlObjectClass;
begin
    Result := DefaultInterface.Class_;
end;

function TContactItemProperties.Get_Session: _NameSpace;
begin
    Result := DefaultInterface.Session;
end;

function TContactItemProperties.Get_Parent: IDispatch;
begin
    Result := DefaultInterface.Parent;
end;

function TContactItemProperties.Get_Actions: Actions;
begin
    Result := DefaultInterface.Actions;
end;

function TContactItemProperties.Get_Attachments: Attachments;
begin
    Result := DefaultInterface.Attachments;
end;

function TContactItemProperties.Get_BillingInformation: WideString;
begin
    Result := DefaultInterface.BillingInformation;
end;

procedure TContactItemProperties.Set_BillingInformation(const BillingInformation: WideString);
  { Warning: The property BillingInformation has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.BillingInformation := BillingInformation;
end;

function TContactItemProperties.Get_Body: WideString;
begin
    Result := DefaultInterface.Body;
end;

procedure TContactItemProperties.Set_Body(const Body: WideString);
  { Warning: The property Body has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Body := Body;
end;

function TContactItemProperties.Get_Categories: WideString;
begin
    Result := DefaultInterface.Categories;
end;

procedure TContactItemProperties.Set_Categories(const Categories: WideString);
  { Warning: The property Categories has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Categories := Categories;
end;

function TContactItemProperties.Get_Companies: WideString;
begin
    Result := DefaultInterface.Companies;
end;

procedure TContactItemProperties.Set_Companies(const Companies: WideString);
  { Warning: The property Companies has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Companies := Companies;
end;

function TContactItemProperties.Get_ConversationIndex: WideString;
begin
    Result := DefaultInterface.ConversationIndex;
end;

function TContactItemProperties.Get_ConversationTopic: WideString;
begin
    Result := DefaultInterface.ConversationTopic;
end;

function TContactItemProperties.Get_CreationTime: TDateTime;
begin
    Result := DefaultInterface.CreationTime;
end;

function TContactItemProperties.Get_EntryID: WideString;
begin
    Result := DefaultInterface.EntryID;
end;

function TContactItemProperties.Get_FormDescription: FormDescription;
begin
    Result := DefaultInterface.FormDescription;
end;

function TContactItemProperties.Get_GetInspector: _Inspector;
begin
    Result := DefaultInterface.GetInspector;
end;

function TContactItemProperties.Get_Importance: OlImportance;
begin
    Result := DefaultInterface.Importance;
end;

procedure TContactItemProperties.Set_Importance(Importance: OlImportance);
begin
  DefaultInterface.Set_Importance(Importance);
end;

function TContactItemProperties.Get_LastModificationTime: TDateTime;
begin
    Result := DefaultInterface.LastModificationTime;
end;

function TContactItemProperties.Get_MAPIOBJECT: IUnknown;
begin
    Result := DefaultInterface.MAPIOBJECT;
end;

function TContactItemProperties.Get_MessageClass: WideString;
begin
    Result := DefaultInterface.MessageClass;
end;

procedure TContactItemProperties.Set_MessageClass(const MessageClass: WideString);
  { Warning: The property MessageClass has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.MessageClass := MessageClass;
end;

function TContactItemProperties.Get_Mileage: WideString;
begin
    Result := DefaultInterface.Mileage;
end;

procedure TContactItemProperties.Set_Mileage(const Mileage: WideString);
  { Warning: The property Mileage has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Mileage := Mileage;
end;

function TContactItemProperties.Get_NoAging: WordBool;
begin
    Result := DefaultInterface.NoAging;
end;

procedure TContactItemProperties.Set_NoAging(NoAging: WordBool);
begin
  DefaultInterface.Set_NoAging(NoAging);
end;

function TContactItemProperties.Get_OutlookInternalVersion: Integer;
begin
    Result := DefaultInterface.OutlookInternalVersion;
end;

function TContactItemProperties.Get_OutlookVersion: WideString;
begin
    Result := DefaultInterface.OutlookVersion;
end;

function TContactItemProperties.Get_Saved: WordBool;
begin
    Result := DefaultInterface.Saved;
end;

function TContactItemProperties.Get_Sensitivity: OlSensitivity;
begin
    Result := DefaultInterface.Sensitivity;
end;

procedure TContactItemProperties.Set_Sensitivity(Sensitivity: OlSensitivity);
begin
  DefaultInterface.Set_Sensitivity(Sensitivity);
end;

function TContactItemProperties.Get_Size: Integer;
begin
    Result := DefaultInterface.Size;
end;

function TContactItemProperties.Get_Subject: WideString;
begin
    Result := DefaultInterface.Subject;
end;

procedure TContactItemProperties.Set_Subject(const Subject: WideString);
  { Warning: The property Subject has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Subject := Subject;
end;

function TContactItemProperties.Get_UnRead: WordBool;
begin
    Result := DefaultInterface.UnRead;
end;

procedure TContactItemProperties.Set_UnRead(UnRead: WordBool);
begin
  DefaultInterface.Set_UnRead(UnRead);
end;

function TContactItemProperties.Get_UserProperties: UserProperties;
begin
    Result := DefaultInterface.UserProperties;
end;

function TContactItemProperties.Get_Account: WideString;
begin
    Result := DefaultInterface.Account;
end;

procedure TContactItemProperties.Set_Account(const Account: WideString);
  { Warning: The property Account has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Account := Account;
end;

function TContactItemProperties.Get_Anniversary: TDateTime;
begin
    Result := DefaultInterface.Anniversary;
end;

procedure TContactItemProperties.Set_Anniversary(Anniversary: TDateTime);
begin
  DefaultInterface.Set_Anniversary(Anniversary);
end;

function TContactItemProperties.Get_AssistantName: WideString;
begin
    Result := DefaultInterface.AssistantName;
end;

procedure TContactItemProperties.Set_AssistantName(const AssistantName: WideString);
  { Warning: The property AssistantName has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.AssistantName := AssistantName;
end;

function TContactItemProperties.Get_AssistantTelephoneNumber: WideString;
begin
    Result := DefaultInterface.AssistantTelephoneNumber;
end;

procedure TContactItemProperties.Set_AssistantTelephoneNumber(const AssistantTelephoneNumber: WideString);
  { Warning: The property AssistantTelephoneNumber has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.AssistantTelephoneNumber := AssistantTelephoneNumber;
end;

function TContactItemProperties.Get_Birthday: TDateTime;
begin
    Result := DefaultInterface.Birthday;
end;

procedure TContactItemProperties.Set_Birthday(Birthday: TDateTime);
begin
  DefaultInterface.Set_Birthday(Birthday);
end;

function TContactItemProperties.Get_Business2TelephoneNumber: WideString;
begin
    Result := DefaultInterface.Business2TelephoneNumber;
end;

procedure TContactItemProperties.Set_Business2TelephoneNumber(const Business2TelephoneNumber: WideString);
  { Warning: The property Business2TelephoneNumber has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Business2TelephoneNumber := Business2TelephoneNumber;
end;

function TContactItemProperties.Get_BusinessAddress: WideString;
begin
    Result := DefaultInterface.BusinessAddress;
end;

procedure TContactItemProperties.Set_BusinessAddress(const BusinessAddress: WideString);
  { Warning: The property BusinessAddress has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.BusinessAddress := BusinessAddress;
end;

function TContactItemProperties.Get_BusinessAddressCity: WideString;
begin
    Result := DefaultInterface.BusinessAddressCity;
end;

procedure TContactItemProperties.Set_BusinessAddressCity(const BusinessAddressCity: WideString);
  { Warning: The property BusinessAddressCity has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.BusinessAddressCity := BusinessAddressCity;
end;

function TContactItemProperties.Get_BusinessAddressCountry: WideString;
begin
    Result := DefaultInterface.BusinessAddressCountry;
end;

procedure TContactItemProperties.Set_BusinessAddressCountry(const BusinessAddressCountry: WideString);
  { Warning: The property BusinessAddressCountry has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.BusinessAddressCountry := BusinessAddressCountry;
end;

function TContactItemProperties.Get_BusinessAddressPostalCode: WideString;
begin
    Result := DefaultInterface.BusinessAddressPostalCode;
end;

procedure TContactItemProperties.Set_BusinessAddressPostalCode(const BusinessAddressPostalCode: WideString);
  { Warning: The property BusinessAddressPostalCode has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.BusinessAddressPostalCode := BusinessAddressPostalCode;
end;

function TContactItemProperties.Get_BusinessAddressPostOfficeBox: WideString;
begin
    Result := DefaultInterface.BusinessAddressPostOfficeBox;
end;

procedure TContactItemProperties.Set_BusinessAddressPostOfficeBox(const BusinessAddressPostOfficeBox: WideString);
  { Warning: The property BusinessAddressPostOfficeBox has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.BusinessAddressPostOfficeBox := BusinessAddressPostOfficeBox;
end;

function TContactItemProperties.Get_BusinessAddressState: WideString;
begin
    Result := DefaultInterface.BusinessAddressState;
end;

procedure TContactItemProperties.Set_BusinessAddressState(const BusinessAddressState: WideString);
  { Warning: The property BusinessAddressState has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.BusinessAddressState := BusinessAddressState;
end;

function TContactItemProperties.Get_BusinessAddressStreet: WideString;
begin
    Result := DefaultInterface.BusinessAddressStreet;
end;

procedure TContactItemProperties.Set_BusinessAddressStreet(const BusinessAddressStreet: WideString);
  { Warning: The property BusinessAddressStreet has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.BusinessAddressStreet := BusinessAddressStreet;
end;

function TContactItemProperties.Get_BusinessFaxNumber: WideString;
begin
    Result := DefaultInterface.BusinessFaxNumber;
end;

procedure TContactItemProperties.Set_BusinessFaxNumber(const BusinessFaxNumber: WideString);
  { Warning: The property BusinessFaxNumber has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.BusinessFaxNumber := BusinessFaxNumber;
end;

function TContactItemProperties.Get_BusinessHomePage: WideString;
begin
    Result := DefaultInterface.BusinessHomePage;
end;

procedure TContactItemProperties.Set_BusinessHomePage(const BusinessHomePage: WideString);
  { Warning: The property BusinessHomePage has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.BusinessHomePage := BusinessHomePage;
end;

function TContactItemProperties.Get_BusinessTelephoneNumber: WideString;
begin
    Result := DefaultInterface.BusinessTelephoneNumber;
end;

procedure TContactItemProperties.Set_BusinessTelephoneNumber(const BusinessTelephoneNumber: WideString);
  { Warning: The property BusinessTelephoneNumber has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.BusinessTelephoneNumber := BusinessTelephoneNumber;
end;

function TContactItemProperties.Get_CallbackTelephoneNumber: WideString;
begin
    Result := DefaultInterface.CallbackTelephoneNumber;
end;

procedure TContactItemProperties.Set_CallbackTelephoneNumber(const CallbackTelephoneNumber: WideString);
  { Warning: The property CallbackTelephoneNumber has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.CallbackTelephoneNumber := CallbackTelephoneNumber;
end;

function TContactItemProperties.Get_CarTelephoneNumber: WideString;
begin
    Result := DefaultInterface.CarTelephoneNumber;
end;

procedure TContactItemProperties.Set_CarTelephoneNumber(const CarTelephoneNumber: WideString);
  { Warning: The property CarTelephoneNumber has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.CarTelephoneNumber := CarTelephoneNumber;
end;

function TContactItemProperties.Get_Children: WideString;
begin
    Result := DefaultInterface.Children;
end;

procedure TContactItemProperties.Set_Children(const Children: WideString);
  { Warning: The property Children has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Children := Children;
end;

function TContactItemProperties.Get_CompanyAndFullName: WideString;
begin
    Result := DefaultInterface.CompanyAndFullName;
end;

function TContactItemProperties.Get_CompanyLastFirstNoSpace: WideString;
begin
    Result := DefaultInterface.CompanyLastFirstNoSpace;
end;

function TContactItemProperties.Get_CompanyLastFirstSpaceOnly: WideString;
begin
    Result := DefaultInterface.CompanyLastFirstSpaceOnly;
end;

function TContactItemProperties.Get_CompanyMainTelephoneNumber: WideString;
begin
    Result := DefaultInterface.CompanyMainTelephoneNumber;
end;

procedure TContactItemProperties.Set_CompanyMainTelephoneNumber(const CompanyMainTelephoneNumber: WideString);
  { Warning: The property CompanyMainTelephoneNumber has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.CompanyMainTelephoneNumber := CompanyMainTelephoneNumber;
end;

function TContactItemProperties.Get_CompanyName: WideString;
begin
    Result := DefaultInterface.CompanyName;
end;

procedure TContactItemProperties.Set_CompanyName(const CompanyName: WideString);
  { Warning: The property CompanyName has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.CompanyName := CompanyName;
end;

function TContactItemProperties.Get_ComputerNetworkName: WideString;
begin
    Result := DefaultInterface.ComputerNetworkName;
end;

procedure TContactItemProperties.Set_ComputerNetworkName(const ComputerNetworkName: WideString);
  { Warning: The property ComputerNetworkName has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.ComputerNetworkName := ComputerNetworkName;
end;

function TContactItemProperties.Get_CustomerID: WideString;
begin
    Result := DefaultInterface.CustomerID;
end;

procedure TContactItemProperties.Set_CustomerID(const CustomerID: WideString);
  { Warning: The property CustomerID has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.CustomerID := CustomerID;
end;

function TContactItemProperties.Get_Department: WideString;
begin
    Result := DefaultInterface.Department;
end;

procedure TContactItemProperties.Set_Department(const Department: WideString);
  { Warning: The property Department has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Department := Department;
end;

function TContactItemProperties.Get_Email1Address: WideString;
begin
    Result := DefaultInterface.Email1Address;
end;

procedure TContactItemProperties.Set_Email1Address(const Email1Address: WideString);
  { Warning: The property Email1Address has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Email1Address := Email1Address;
end;

function TContactItemProperties.Get_Email1AddressType: WideString;
begin
    Result := DefaultInterface.Email1AddressType;
end;

procedure TContactItemProperties.Set_Email1AddressType(const Email1AddressType: WideString);
  { Warning: The property Email1AddressType has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Email1AddressType := Email1AddressType;
end;

function TContactItemProperties.Get_Email1DisplayName: WideString;
begin
    Result := DefaultInterface.Email1DisplayName;
end;

function TContactItemProperties.Get_Email1EntryID: WideString;
begin
    Result := DefaultInterface.Email1EntryID;
end;

function TContactItemProperties.Get_Email2Address: WideString;
begin
    Result := DefaultInterface.Email2Address;
end;

procedure TContactItemProperties.Set_Email2Address(const Email2Address: WideString);
  { Warning: The property Email2Address has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Email2Address := Email2Address;
end;

function TContactItemProperties.Get_Email2AddressType: WideString;
begin
    Result := DefaultInterface.Email2AddressType;
end;

procedure TContactItemProperties.Set_Email2AddressType(const Email2AddressType: WideString);
  { Warning: The property Email2AddressType has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Email2AddressType := Email2AddressType;
end;

function TContactItemProperties.Get_Email2DisplayName: WideString;
begin
    Result := DefaultInterface.Email2DisplayName;
end;

function TContactItemProperties.Get_Email2EntryID: WideString;
begin
    Result := DefaultInterface.Email2EntryID;
end;

function TContactItemProperties.Get_Email3Address: WideString;
begin
    Result := DefaultInterface.Email3Address;
end;

procedure TContactItemProperties.Set_Email3Address(const Email3Address: WideString);
  { Warning: The property Email3Address has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Email3Address := Email3Address;
end;

function TContactItemProperties.Get_Email3AddressType: WideString;
begin
    Result := DefaultInterface.Email3AddressType;
end;

procedure TContactItemProperties.Set_Email3AddressType(const Email3AddressType: WideString);
  { Warning: The property Email3AddressType has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Email3AddressType := Email3AddressType;
end;

function TContactItemProperties.Get_Email3DisplayName: WideString;
begin
    Result := DefaultInterface.Email3DisplayName;
end;

function TContactItemProperties.Get_Email3EntryID: WideString;
begin
    Result := DefaultInterface.Email3EntryID;
end;

function TContactItemProperties.Get_FileAs: WideString;
begin
    Result := DefaultInterface.FileAs;
end;

procedure TContactItemProperties.Set_FileAs(const FileAs: WideString);
  { Warning: The property FileAs has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.FileAs := FileAs;
end;

function TContactItemProperties.Get_FirstName: WideString;
begin
    Result := DefaultInterface.FirstName;
end;

procedure TContactItemProperties.Set_FirstName(const FirstName: WideString);
  { Warning: The property FirstName has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.FirstName := FirstName;
end;

function TContactItemProperties.Get_FTPSite: WideString;
begin
    Result := DefaultInterface.FTPSite;
end;

procedure TContactItemProperties.Set_FTPSite(const FTPSite: WideString);
  { Warning: The property FTPSite has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.FTPSite := FTPSite;
end;

function TContactItemProperties.Get_FullName: WideString;
begin
    Result := DefaultInterface.FullName;
end;

procedure TContactItemProperties.Set_FullName(const FullName: WideString);
  { Warning: The property FullName has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.FullName := FullName;
end;

function TContactItemProperties.Get_FullNameAndCompany: WideString;
begin
    Result := DefaultInterface.FullNameAndCompany;
end;

function TContactItemProperties.Get_Gender: OlGender;
begin
    Result := DefaultInterface.Gender;
end;

procedure TContactItemProperties.Set_Gender(Gender: OlGender);
begin
  DefaultInterface.Set_Gender(Gender);
end;

function TContactItemProperties.Get_GovernmentIDNumber: WideString;
begin
    Result := DefaultInterface.GovernmentIDNumber;
end;

procedure TContactItemProperties.Set_GovernmentIDNumber(const GovernmentIDNumber: WideString);
  { Warning: The property GovernmentIDNumber has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.GovernmentIDNumber := GovernmentIDNumber;
end;

function TContactItemProperties.Get_Hobby: WideString;
begin
    Result := DefaultInterface.Hobby;
end;

procedure TContactItemProperties.Set_Hobby(const Hobby: WideString);
  { Warning: The property Hobby has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Hobby := Hobby;
end;

function TContactItemProperties.Get_Home2TelephoneNumber: WideString;
begin
    Result := DefaultInterface.Home2TelephoneNumber;
end;

procedure TContactItemProperties.Set_Home2TelephoneNumber(const Home2TelephoneNumber: WideString);
  { Warning: The property Home2TelephoneNumber has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Home2TelephoneNumber := Home2TelephoneNumber;
end;

function TContactItemProperties.Get_HomeAddress: WideString;
begin
    Result := DefaultInterface.HomeAddress;
end;

procedure TContactItemProperties.Set_HomeAddress(const HomeAddress: WideString);
  { Warning: The property HomeAddress has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.HomeAddress := HomeAddress;
end;

function TContactItemProperties.Get_HomeAddressCity: WideString;
begin
    Result := DefaultInterface.HomeAddressCity;
end;

procedure TContactItemProperties.Set_HomeAddressCity(const HomeAddressCity: WideString);
  { Warning: The property HomeAddressCity has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.HomeAddressCity := HomeAddressCity;
end;

function TContactItemProperties.Get_HomeAddressCountry: WideString;
begin
    Result := DefaultInterface.HomeAddressCountry;
end;

procedure TContactItemProperties.Set_HomeAddressCountry(const HomeAddressCountry: WideString);
  { Warning: The property HomeAddressCountry has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.HomeAddressCountry := HomeAddressCountry;
end;

function TContactItemProperties.Get_HomeAddressPostalCode: WideString;
begin
    Result := DefaultInterface.HomeAddressPostalCode;
end;

procedure TContactItemProperties.Set_HomeAddressPostalCode(const HomeAddressPostalCode: WideString);
  { Warning: The property HomeAddressPostalCode has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.HomeAddressPostalCode := HomeAddressPostalCode;
end;

function TContactItemProperties.Get_HomeAddressPostOfficeBox: WideString;
begin
    Result := DefaultInterface.HomeAddressPostOfficeBox;
end;

procedure TContactItemProperties.Set_HomeAddressPostOfficeBox(const HomeAddressPostOfficeBox: WideString);
  { Warning: The property HomeAddressPostOfficeBox has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.HomeAddressPostOfficeBox := HomeAddressPostOfficeBox;
end;

function TContactItemProperties.Get_HomeAddressState: WideString;
begin
    Result := DefaultInterface.HomeAddressState;
end;

procedure TContactItemProperties.Set_HomeAddressState(const HomeAddressState: WideString);
  { Warning: The property HomeAddressState has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.HomeAddressState := HomeAddressState;
end;

function TContactItemProperties.Get_HomeAddressStreet: WideString;
begin
    Result := DefaultInterface.HomeAddressStreet;
end;

procedure TContactItemProperties.Set_HomeAddressStreet(const HomeAddressStreet: WideString);
  { Warning: The property HomeAddressStreet has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.HomeAddressStreet := HomeAddressStreet;
end;

function TContactItemProperties.Get_HomeFaxNumber: WideString;
begin
    Result := DefaultInterface.HomeFaxNumber;
end;

procedure TContactItemProperties.Set_HomeFaxNumber(const HomeFaxNumber: WideString);
  { Warning: The property HomeFaxNumber has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.HomeFaxNumber := HomeFaxNumber;
end;

function TContactItemProperties.Get_HomeTelephoneNumber: WideString;
begin
    Result := DefaultInterface.HomeTelephoneNumber;
end;

procedure TContactItemProperties.Set_HomeTelephoneNumber(const HomeTelephoneNumber: WideString);
  { Warning: The property HomeTelephoneNumber has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.HomeTelephoneNumber := HomeTelephoneNumber;
end;

function TContactItemProperties.Get_Initials: WideString;
begin
    Result := DefaultInterface.Initials;
end;

procedure TContactItemProperties.Set_Initials(const Initials: WideString);
  { Warning: The property Initials has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Initials := Initials;
end;

function TContactItemProperties.Get_InternetFreeBusyAddress: WideString;
begin
    Result := DefaultInterface.InternetFreeBusyAddress;
end;

procedure TContactItemProperties.Set_InternetFreeBusyAddress(const InternetFreeBusyAddress: WideString);
  { Warning: The property InternetFreeBusyAddress has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.InternetFreeBusyAddress := InternetFreeBusyAddress;
end;

function TContactItemProperties.Get_ISDNNumber: WideString;
begin
    Result := DefaultInterface.ISDNNumber;
end;

procedure TContactItemProperties.Set_ISDNNumber(const ISDNNumber: WideString);
  { Warning: The property ISDNNumber has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.ISDNNumber := ISDNNumber;
end;

function TContactItemProperties.Get_JobTitle: WideString;
begin
    Result := DefaultInterface.JobTitle;
end;

procedure TContactItemProperties.Set_JobTitle(const JobTitle: WideString);
  { Warning: The property JobTitle has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.JobTitle := JobTitle;
end;

function TContactItemProperties.Get_Journal: WordBool;
begin
    Result := DefaultInterface.Journal;
end;

procedure TContactItemProperties.Set_Journal(Journal: WordBool);
begin
  DefaultInterface.Set_Journal(Journal);
end;

function TContactItemProperties.Get_Language: WideString;
begin
    Result := DefaultInterface.Language;
end;

procedure TContactItemProperties.Set_Language(const Language: WideString);
  { Warning: The property Language has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Language := Language;
end;

function TContactItemProperties.Get_LastFirstAndSuffix: WideString;
begin
    Result := DefaultInterface.LastFirstAndSuffix;
end;

function TContactItemProperties.Get_LastFirstNoSpace: WideString;
begin
    Result := DefaultInterface.LastFirstNoSpace;
end;

function TContactItemProperties.Get_LastFirstNoSpaceCompany: WideString;
begin
    Result := DefaultInterface.LastFirstNoSpaceCompany;
end;

function TContactItemProperties.Get_LastFirstSpaceOnly: WideString;
begin
    Result := DefaultInterface.LastFirstSpaceOnly;
end;

function TContactItemProperties.Get_LastFirstSpaceOnlyCompany: WideString;
begin
    Result := DefaultInterface.LastFirstSpaceOnlyCompany;
end;

function TContactItemProperties.Get_LastName: WideString;
begin
    Result := DefaultInterface.LastName;
end;

procedure TContactItemProperties.Set_LastName(const LastName: WideString);
  { Warning: The property LastName has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.LastName := LastName;
end;

function TContactItemProperties.Get_LastNameAndFirstName: WideString;
begin
    Result := DefaultInterface.LastNameAndFirstName;
end;

function TContactItemProperties.Get_MailingAddress: WideString;
begin
    Result := DefaultInterface.MailingAddress;
end;

procedure TContactItemProperties.Set_MailingAddress(const MailingAddress: WideString);
  { Warning: The property MailingAddress has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.MailingAddress := MailingAddress;
end;

function TContactItemProperties.Get_MailingAddressCity: WideString;
begin
    Result := DefaultInterface.MailingAddressCity;
end;

procedure TContactItemProperties.Set_MailingAddressCity(const MailingAddressCity: WideString);
  { Warning: The property MailingAddressCity has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.MailingAddressCity := MailingAddressCity;
end;

function TContactItemProperties.Get_MailingAddressCountry: WideString;
begin
    Result := DefaultInterface.MailingAddressCountry;
end;

procedure TContactItemProperties.Set_MailingAddressCountry(const MailingAddressCountry: WideString);
  { Warning: The property MailingAddressCountry has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.MailingAddressCountry := MailingAddressCountry;
end;

function TContactItemProperties.Get_MailingAddressPostalCode: WideString;
begin
    Result := DefaultInterface.MailingAddressPostalCode;
end;

procedure TContactItemProperties.Set_MailingAddressPostalCode(const MailingAddressPostalCode: WideString);
  { Warning: The property MailingAddressPostalCode has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.MailingAddressPostalCode := MailingAddressPostalCode;
end;

function TContactItemProperties.Get_MailingAddressPostOfficeBox: WideString;
begin
    Result := DefaultInterface.MailingAddressPostOfficeBox;
end;

procedure TContactItemProperties.Set_MailingAddressPostOfficeBox(const MailingAddressPostOfficeBox: WideString);
  { Warning: The property MailingAddressPostOfficeBox has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.MailingAddressPostOfficeBox := MailingAddressPostOfficeBox;
end;

function TContactItemProperties.Get_MailingAddressState: WideString;
begin
    Result := DefaultInterface.MailingAddressState;
end;

procedure TContactItemProperties.Set_MailingAddressState(const MailingAddressState: WideString);
  { Warning: The property MailingAddressState has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.MailingAddressState := MailingAddressState;
end;

function TContactItemProperties.Get_MailingAddressStreet: WideString;
begin
    Result := DefaultInterface.MailingAddressStreet;
end;

procedure TContactItemProperties.Set_MailingAddressStreet(const MailingAddressStreet: WideString);
  { Warning: The property MailingAddressStreet has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.MailingAddressStreet := MailingAddressStreet;
end;

function TContactItemProperties.Get_ManagerName: WideString;
begin
    Result := DefaultInterface.ManagerName;
end;

procedure TContactItemProperties.Set_ManagerName(const ManagerName: WideString);
  { Warning: The property ManagerName has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.ManagerName := ManagerName;
end;

function TContactItemProperties.Get_MiddleName: WideString;
begin
    Result := DefaultInterface.MiddleName;
end;

procedure TContactItemProperties.Set_MiddleName(const MiddleName: WideString);
  { Warning: The property MiddleName has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.MiddleName := MiddleName;
end;

function TContactItemProperties.Get_MobileTelephoneNumber: WideString;
begin
    Result := DefaultInterface.MobileTelephoneNumber;
end;

procedure TContactItemProperties.Set_MobileTelephoneNumber(const MobileTelephoneNumber: WideString);
  { Warning: The property MobileTelephoneNumber has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.MobileTelephoneNumber := MobileTelephoneNumber;
end;

function TContactItemProperties.Get_NetMeetingAlias: WideString;
begin
    Result := DefaultInterface.NetMeetingAlias;
end;

procedure TContactItemProperties.Set_NetMeetingAlias(const NetMeetingAlias: WideString);
  { Warning: The property NetMeetingAlias has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.NetMeetingAlias := NetMeetingAlias;
end;

function TContactItemProperties.Get_NetMeetingServer: WideString;
begin
    Result := DefaultInterface.NetMeetingServer;
end;

procedure TContactItemProperties.Set_NetMeetingServer(const NetMeetingServer: WideString);
  { Warning: The property NetMeetingServer has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.NetMeetingServer := NetMeetingServer;
end;

function TContactItemProperties.Get_NickName: WideString;
begin
    Result := DefaultInterface.NickName;
end;

procedure TContactItemProperties.Set_NickName(const NickName: WideString);
  { Warning: The property NickName has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.NickName := NickName;
end;

function TContactItemProperties.Get_OfficeLocation: WideString;
begin
    Result := DefaultInterface.OfficeLocation;
end;

procedure TContactItemProperties.Set_OfficeLocation(const OfficeLocation: WideString);
  { Warning: The property OfficeLocation has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.OfficeLocation := OfficeLocation;
end;

function TContactItemProperties.Get_OrganizationalIDNumber: WideString;
begin
    Result := DefaultInterface.OrganizationalIDNumber;
end;

procedure TContactItemProperties.Set_OrganizationalIDNumber(const OrganizationalIDNumber: WideString);
  { Warning: The property OrganizationalIDNumber has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.OrganizationalIDNumber := OrganizationalIDNumber;
end;

function TContactItemProperties.Get_OtherAddress: WideString;
begin
    Result := DefaultInterface.OtherAddress;
end;

procedure TContactItemProperties.Set_OtherAddress(const OtherAddress: WideString);
  { Warning: The property OtherAddress has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.OtherAddress := OtherAddress;
end;

function TContactItemProperties.Get_OtherAddressCity: WideString;
begin
    Result := DefaultInterface.OtherAddressCity;
end;

procedure TContactItemProperties.Set_OtherAddressCity(const OtherAddressCity: WideString);
  { Warning: The property OtherAddressCity has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.OtherAddressCity := OtherAddressCity;
end;

function TContactItemProperties.Get_OtherAddressCountry: WideString;
begin
    Result := DefaultInterface.OtherAddressCountry;
end;

procedure TContactItemProperties.Set_OtherAddressCountry(const OtherAddressCountry: WideString);
  { Warning: The property OtherAddressCountry has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.OtherAddressCountry := OtherAddressCountry;
end;

function TContactItemProperties.Get_OtherAddressPostalCode: WideString;
begin
    Result := DefaultInterface.OtherAddressPostalCode;
end;

procedure TContactItemProperties.Set_OtherAddressPostalCode(const OtherAddressPostalCode: WideString);
  { Warning: The property OtherAddressPostalCode has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.OtherAddressPostalCode := OtherAddressPostalCode;
end;

function TContactItemProperties.Get_OtherAddressPostOfficeBox: WideString;
begin
    Result := DefaultInterface.OtherAddressPostOfficeBox;
end;

procedure TContactItemProperties.Set_OtherAddressPostOfficeBox(const OtherAddressPostOfficeBox: WideString);
  { Warning: The property OtherAddressPostOfficeBox has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.OtherAddressPostOfficeBox := OtherAddressPostOfficeBox;
end;

function TContactItemProperties.Get_OtherAddressState: WideString;
begin
    Result := DefaultInterface.OtherAddressState;
end;

procedure TContactItemProperties.Set_OtherAddressState(const OtherAddressState: WideString);
  { Warning: The property OtherAddressState has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.OtherAddressState := OtherAddressState;
end;

function TContactItemProperties.Get_OtherAddressStreet: WideString;
begin
    Result := DefaultInterface.OtherAddressStreet;
end;

procedure TContactItemProperties.Set_OtherAddressStreet(const OtherAddressStreet: WideString);
  { Warning: The property OtherAddressStreet has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.OtherAddressStreet := OtherAddressStreet;
end;

function TContactItemProperties.Get_OtherFaxNumber: WideString;
begin
    Result := DefaultInterface.OtherFaxNumber;
end;

procedure TContactItemProperties.Set_OtherFaxNumber(const OtherFaxNumber: WideString);
  { Warning: The property OtherFaxNumber has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.OtherFaxNumber := OtherFaxNumber;
end;

function TContactItemProperties.Get_OtherTelephoneNumber: WideString;
begin
    Result := DefaultInterface.OtherTelephoneNumber;
end;

procedure TContactItemProperties.Set_OtherTelephoneNumber(const OtherTelephoneNumber: WideString);
  { Warning: The property OtherTelephoneNumber has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.OtherTelephoneNumber := OtherTelephoneNumber;
end;

function TContactItemProperties.Get_PagerNumber: WideString;
begin
    Result := DefaultInterface.PagerNumber;
end;

procedure TContactItemProperties.Set_PagerNumber(const PagerNumber: WideString);
  { Warning: The property PagerNumber has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.PagerNumber := PagerNumber;
end;

function TContactItemProperties.Get_PersonalHomePage: WideString;
begin
    Result := DefaultInterface.PersonalHomePage;
end;

procedure TContactItemProperties.Set_PersonalHomePage(const PersonalHomePage: WideString);
  { Warning: The property PersonalHomePage has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.PersonalHomePage := PersonalHomePage;
end;

function TContactItemProperties.Get_PrimaryTelephoneNumber: WideString;
begin
    Result := DefaultInterface.PrimaryTelephoneNumber;
end;

procedure TContactItemProperties.Set_PrimaryTelephoneNumber(const PrimaryTelephoneNumber: WideString);
  { Warning: The property PrimaryTelephoneNumber has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.PrimaryTelephoneNumber := PrimaryTelephoneNumber;
end;

function TContactItemProperties.Get_Profession: WideString;
begin
    Result := DefaultInterface.Profession;
end;

procedure TContactItemProperties.Set_Profession(const Profession: WideString);
  { Warning: The property Profession has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Profession := Profession;
end;

function TContactItemProperties.Get_RadioTelephoneNumber: WideString;
begin
    Result := DefaultInterface.RadioTelephoneNumber;
end;

procedure TContactItemProperties.Set_RadioTelephoneNumber(const RadioTelephoneNumber: WideString);
  { Warning: The property RadioTelephoneNumber has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.RadioTelephoneNumber := RadioTelephoneNumber;
end;

function TContactItemProperties.Get_ReferredBy: WideString;
begin
    Result := DefaultInterface.ReferredBy;
end;

procedure TContactItemProperties.Set_ReferredBy(const ReferredBy: WideString);
  { Warning: The property ReferredBy has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.ReferredBy := ReferredBy;
end;

function TContactItemProperties.Get_SelectedMailingAddress: OlMailingAddress;
begin
    Result := DefaultInterface.SelectedMailingAddress;
end;

procedure TContactItemProperties.Set_SelectedMailingAddress(SelectedMailingAddress: OlMailingAddress);
begin
  DefaultInterface.Set_SelectedMailingAddress(SelectedMailingAddress);
end;

function TContactItemProperties.Get_Spouse: WideString;
begin
    Result := DefaultInterface.Spouse;
end;

procedure TContactItemProperties.Set_Spouse(const Spouse: WideString);
  { Warning: The property Spouse has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Spouse := Spouse;
end;

function TContactItemProperties.Get_Suffix: WideString;
begin
    Result := DefaultInterface.Suffix;
end;

procedure TContactItemProperties.Set_Suffix(const Suffix: WideString);
  { Warning: The property Suffix has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Suffix := Suffix;
end;

function TContactItemProperties.Get_TelexNumber: WideString;
begin
    Result := DefaultInterface.TelexNumber;
end;

procedure TContactItemProperties.Set_TelexNumber(const TelexNumber: WideString);
  { Warning: The property TelexNumber has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.TelexNumber := TelexNumber;
end;

function TContactItemProperties.Get_Title: WideString;
begin
    Result := DefaultInterface.Title;
end;

procedure TContactItemProperties.Set_Title(const Title: WideString);
  { Warning: The property Title has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Title := Title;
end;

function TContactItemProperties.Get_TTYTDDTelephoneNumber: WideString;
begin
    Result := DefaultInterface.TTYTDDTelephoneNumber;
end;

procedure TContactItemProperties.Set_TTYTDDTelephoneNumber(const TTYTDDTelephoneNumber: WideString);
  { Warning: The property TTYTDDTelephoneNumber has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.TTYTDDTelephoneNumber := TTYTDDTelephoneNumber;
end;

function TContactItemProperties.Get_User1: WideString;
begin
    Result := DefaultInterface.User1;
end;

procedure TContactItemProperties.Set_User1(const User1: WideString);
  { Warning: The property User1 has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.User1 := User1;
end;

function TContactItemProperties.Get_User2: WideString;
begin
    Result := DefaultInterface.User2;
end;

procedure TContactItemProperties.Set_User2(const User2: WideString);
  { Warning: The property User2 has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.User2 := User2;
end;

function TContactItemProperties.Get_User3: WideString;
begin
    Result := DefaultInterface.User3;
end;

procedure TContactItemProperties.Set_User3(const User3: WideString);
  { Warning: The property User3 has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.User3 := User3;
end;

function TContactItemProperties.Get_User4: WideString;
begin
    Result := DefaultInterface.User4;
end;

procedure TContactItemProperties.Set_User4(const User4: WideString);
  { Warning: The property User4 has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.User4 := User4;
end;

function TContactItemProperties.Get_UserCertificate: WideString;
begin
    Result := DefaultInterface.UserCertificate;
end;

procedure TContactItemProperties.Set_UserCertificate(const UserCertificate: WideString);
  { Warning: The property UserCertificate has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.UserCertificate := UserCertificate;
end;

function TContactItemProperties.Get_WebPage: WideString;
begin
    Result := DefaultInterface.WebPage;
end;

procedure TContactItemProperties.Set_WebPage(const WebPage: WideString);
  { Warning: The property WebPage has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.WebPage := WebPage;
end;

function TContactItemProperties.Get_YomiCompanyName: WideString;
begin
    Result := DefaultInterface.YomiCompanyName;
end;

procedure TContactItemProperties.Set_YomiCompanyName(const YomiCompanyName: WideString);
  { Warning: The property YomiCompanyName has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.YomiCompanyName := YomiCompanyName;
end;

function TContactItemProperties.Get_YomiFirstName: WideString;
begin
    Result := DefaultInterface.YomiFirstName;
end;

procedure TContactItemProperties.Set_YomiFirstName(const YomiFirstName: WideString);
  { Warning: The property YomiFirstName has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.YomiFirstName := YomiFirstName;
end;

function TContactItemProperties.Get_YomiLastName: WideString;
begin
    Result := DefaultInterface.YomiLastName;
end;

procedure TContactItemProperties.Set_YomiLastName(const YomiLastName: WideString);
  { Warning: The property YomiLastName has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.YomiLastName := YomiLastName;
end;

function TContactItemProperties.Get_Links: Links;
begin
    Result := DefaultInterface.Links;
end;

function TContactItemProperties.Get_ItemProperties: ItemProperties;
begin
    Result := DefaultInterface.ItemProperties;
end;

function TContactItemProperties.Get_LastFirstNoSpaceAndSuffix: WideString;
begin
    Result := DefaultInterface.LastFirstNoSpaceAndSuffix;
end;

function TContactItemProperties.Get_DownloadState: OlDownloadState;
begin
    Result := DefaultInterface.DownloadState;
end;

function TContactItemProperties.Get_IMAddress: WideString;
begin
    Result := DefaultInterface.IMAddress;
end;

procedure TContactItemProperties.Set_IMAddress(const IMAddress: WideString);
  { Warning: The property IMAddress has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.IMAddress := IMAddress;
end;

function TContactItemProperties.Get_MarkForDownload: OlRemoteStatus;
begin
    Result := DefaultInterface.MarkForDownload;
end;

procedure TContactItemProperties.Set_MarkForDownload(MarkForDownload: OlRemoteStatus);
begin
  DefaultInterface.Set_MarkForDownload(MarkForDownload);
end;

procedure TContactItemProperties.Set_Email1DisplayName(const Email1DisplayName: WideString);
  { Warning: The property Email1DisplayName has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Email1DisplayName := Email1DisplayName;
end;

procedure TContactItemProperties.Set_Email2DisplayName(const Email2DisplayName: WideString);
  { Warning: The property Email2DisplayName has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Email2DisplayName := Email2DisplayName;
end;

procedure TContactItemProperties.Set_Email3DisplayName(const Email3DisplayName: WideString);
  { Warning: The property Email3DisplayName has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Email3DisplayName := Email3DisplayName;
end;

function TContactItemProperties.Get_IsConflict: WordBool;
begin
    Result := DefaultInterface.IsConflict;
end;

{$ENDIF}

class function CoDistListItem.Create: _DistListItem;
begin
  Result := CreateComObject(CLASS_DistListItem) as _DistListItem;
end;

class function CoDistListItem.CreateRemote(const MachineName: string): _DistListItem;
begin
  Result := CreateRemoteComObject(MachineName, CLASS_DistListItem) as _DistListItem;
end;

procedure TDistListItem.InitServerData;
const
  CServerData: TServerData = (
    ClassID:   '{0006103C-0000-0000-C000-000000000046}';
    IntfIID:   '{00063081-0000-0000-C000-000000000046}';
    EventIID:  '{0006302B-0000-0000-C000-000000000046}';
    LicenseKey: nil;
    Version: 500);
begin
  ServerData := @CServerData;
end;

procedure TDistListItem.Connect;
var
  punk: IUnknown;
begin
  if FIntf = nil then
  begin
    punk := GetServer;
    ConnectEvents(punk);
    Fintf:= punk as _DistListItem;
  end;
end;

procedure TDistListItem.ConnectTo(svrIntf: _DistListItem);
begin
  Disconnect;
  FIntf := svrIntf;
  ConnectEvents(FIntf);
end;

procedure TDistListItem.DisConnect;
begin
  if Fintf <> nil then
  begin
    DisconnectEvents(FIntf);
    FIntf := nil;
  end;
end;

function TDistListItem.GetDefaultInterface: _DistListItem;
begin
  if FIntf = nil then
    Connect;
  Assert(FIntf <> nil, 'DefaultInterface is NULL. Component is not connected to Server. You must call ''Connect'' or ''ConnectTo'' before this operation');
  Result := FIntf;
end;

constructor TDistListItem.Create(AOwner: TComponent);
begin
  inherited Create(AOwner);
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  FProps := TDistListItemProperties.Create(Self);
{$ENDIF}
end;

destructor TDistListItem.Destroy;
begin
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  FProps.Free;
{$ENDIF}
  inherited Destroy;
end;

{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
function TDistListItem.GetServerProperties: TDistListItemProperties;
begin
  Result := FProps;
end;
{$ENDIF}

procedure TDistListItem.InvokeEvent(DispID: TDispID; var Params: TVariantArray);
begin
  case DispID of
    -1: Exit;  // DISPID_UNKNOWN
    61443: if Assigned(FOnOpen) then
         FOnOpen(Self, WordBool((TVarData(Params[0]).VPointer)^) {var WordBool});
    61446: if Assigned(FOnCustomAction) then
         FOnCustomAction(Self,
                         Params[0] {const IDispatch},
                         Params[1] {const IDispatch},
                         WordBool((TVarData(Params[2]).VPointer)^) {var WordBool});
    61448: if Assigned(FOnCustomPropertyChange) then
         FOnCustomPropertyChange(Self, Params[0] {const WideString});
    62568: if Assigned(FOnForward) then
         FOnForward(Self,
                    Params[0] {const IDispatch},
                    WordBool((TVarData(Params[1]).VPointer)^) {var WordBool});
    61444: if Assigned(FOnClose) then
         FOnClose(Self, WordBool((TVarData(Params[0]).VPointer)^) {var WordBool});
    61449: if Assigned(FOnPropertyChange) then
         FOnPropertyChange(Self, Params[0] {const WideString});
    61441: if Assigned(FOnRead) then
         FOnRead(Self);
    62566: if Assigned(FOnReply) then
         FOnReply(Self,
                  Params[0] {const IDispatch},
                  WordBool((TVarData(Params[1]).VPointer)^) {var WordBool});
    62567: if Assigned(FOnReplyAll) then
         FOnReplyAll(Self,
                     Params[0] {const IDispatch},
                     WordBool((TVarData(Params[1]).VPointer)^) {var WordBool});
    61445: if Assigned(FOnSend) then
         FOnSend(Self, WordBool((TVarData(Params[0]).VPointer)^) {var WordBool});
    61442: if Assigned(FOnWrite) then
         FOnWrite(Self, WordBool((TVarData(Params[0]).VPointer)^) {var WordBool});
    61450: if Assigned(FOnBeforeCheckNames) then
         FOnBeforeCheckNames(Self, WordBool((TVarData(Params[0]).VPointer)^) {var WordBool});
    61451: if Assigned(FOnAttachmentAdd) then
         FOnAttachmentAdd(Self, IUnknown(TVarData(Params[0]).VPointer) as Attachment {const Attachment});
    61452: if Assigned(FOnAttachmentRead) then
         FOnAttachmentRead(Self, IUnknown(TVarData(Params[0]).VPointer) as Attachment {const Attachment});
    61453: if Assigned(FOnBeforeAttachmentSave) then
         FOnBeforeAttachmentSave(Self,
                                 IUnknown(TVarData(Params[0]).VPointer) as Attachment {const Attachment},
                                 WordBool((TVarData(Params[1]).VPointer)^) {var WordBool});
    64117: if Assigned(FOnBeforeDelete) then
         FOnBeforeDelete(Self,
                         Params[0] {const IDispatch},
                         WordBool((TVarData(Params[1]).VPointer)^) {var WordBool});
  end; {case DispID}
end;

function TDistListItem.Get_Application: _Application;
begin
    Result := DefaultInterface.Application;
end;

function TDistListItem.Get_Class_: OlObjectClass;
begin
    Result := DefaultInterface.Class_;
end;

function TDistListItem.Get_Session: _NameSpace;
begin
    Result := DefaultInterface.Session;
end;

function TDistListItem.Get_Parent: IDispatch;
begin
    Result := DefaultInterface.Parent;
end;

function TDistListItem.Get_Actions: Actions;
begin
    Result := DefaultInterface.Actions;
end;

function TDistListItem.Get_Attachments: Attachments;
begin
    Result := DefaultInterface.Attachments;
end;

function TDistListItem.Get_BillingInformation: WideString;
begin
    Result := DefaultInterface.BillingInformation;
end;

procedure TDistListItem.Set_BillingInformation(const BillingInformation: WideString);
  { Warning: The property BillingInformation has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.BillingInformation := BillingInformation;
end;

function TDistListItem.Get_Body: WideString;
begin
    Result := DefaultInterface.Body;
end;

procedure TDistListItem.Set_Body(const Body: WideString);
  { Warning: The property Body has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Body := Body;
end;

function TDistListItem.Get_Categories: WideString;
begin
    Result := DefaultInterface.Categories;
end;

procedure TDistListItem.Set_Categories(const Categories: WideString);
  { Warning: The property Categories has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Categories := Categories;
end;

function TDistListItem.Get_Companies: WideString;
begin
    Result := DefaultInterface.Companies;
end;

procedure TDistListItem.Set_Companies(const Companies: WideString);
  { Warning: The property Companies has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Companies := Companies;
end;

function TDistListItem.Get_ConversationIndex: WideString;
begin
    Result := DefaultInterface.ConversationIndex;
end;

function TDistListItem.Get_ConversationTopic: WideString;
begin
    Result := DefaultInterface.ConversationTopic;
end;

function TDistListItem.Get_CreationTime: TDateTime;
begin
    Result := DefaultInterface.CreationTime;
end;

function TDistListItem.Get_EntryID: WideString;
begin
    Result := DefaultInterface.EntryID;
end;

function TDistListItem.Get_FormDescription: FormDescription;
begin
    Result := DefaultInterface.FormDescription;
end;

function TDistListItem.Get_GetInspector: _Inspector;
begin
    Result := DefaultInterface.GetInspector;
end;

function TDistListItem.Get_Importance: OlImportance;
begin
    Result := DefaultInterface.Importance;
end;

procedure TDistListItem.Set_Importance(Importance: OlImportance);
begin
  DefaultInterface.Set_Importance(Importance);
end;

function TDistListItem.Get_LastModificationTime: TDateTime;
begin
    Result := DefaultInterface.LastModificationTime;
end;

function TDistListItem.Get_MAPIOBJECT: IUnknown;
begin
    Result := DefaultInterface.MAPIOBJECT;
end;

function TDistListItem.Get_MessageClass: WideString;
begin
    Result := DefaultInterface.MessageClass;
end;

procedure TDistListItem.Set_MessageClass(const MessageClass: WideString);
  { Warning: The property MessageClass has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.MessageClass := MessageClass;
end;

function TDistListItem.Get_Mileage: WideString;
begin
    Result := DefaultInterface.Mileage;
end;

procedure TDistListItem.Set_Mileage(const Mileage: WideString);
  { Warning: The property Mileage has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Mileage := Mileage;
end;

function TDistListItem.Get_NoAging: WordBool;
begin
    Result := DefaultInterface.NoAging;
end;

procedure TDistListItem.Set_NoAging(NoAging: WordBool);
begin
  DefaultInterface.Set_NoAging(NoAging);
end;

function TDistListItem.Get_OutlookInternalVersion: Integer;
begin
    Result := DefaultInterface.OutlookInternalVersion;
end;

function TDistListItem.Get_OutlookVersion: WideString;
begin
    Result := DefaultInterface.OutlookVersion;
end;

function TDistListItem.Get_Saved: WordBool;
begin
    Result := DefaultInterface.Saved;
end;

function TDistListItem.Get_Sensitivity: OlSensitivity;
begin
    Result := DefaultInterface.Sensitivity;
end;

procedure TDistListItem.Set_Sensitivity(Sensitivity: OlSensitivity);
begin
  DefaultInterface.Set_Sensitivity(Sensitivity);
end;

function TDistListItem.Get_Size: Integer;
begin
    Result := DefaultInterface.Size;
end;

function TDistListItem.Get_Subject: WideString;
begin
    Result := DefaultInterface.Subject;
end;

procedure TDistListItem.Set_Subject(const Subject: WideString);
  { Warning: The property Subject has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Subject := Subject;
end;

function TDistListItem.Get_UnRead: WordBool;
begin
    Result := DefaultInterface.UnRead;
end;

procedure TDistListItem.Set_UnRead(UnRead: WordBool);
begin
  DefaultInterface.Set_UnRead(UnRead);
end;

function TDistListItem.Get_UserProperties: UserProperties;
begin
    Result := DefaultInterface.UserProperties;
end;

function TDistListItem.Get_DLName: WideString;
begin
    Result := DefaultInterface.DLName;
end;

procedure TDistListItem.Set_DLName(const DLName: WideString);
  { Warning: The property DLName has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.DLName := DLName;
end;

function TDistListItem.Get_MemberCount: Integer;
begin
    Result := DefaultInterface.MemberCount;
end;

function TDistListItem.Get_CheckSum: Integer;
begin
    Result := DefaultInterface.CheckSum;
end;

function TDistListItem.Get_Members: OleVariant;
var
  InterfaceVariant : OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  Result := InterfaceVariant.Members;
end;

procedure TDistListItem.Set_Members(Members: OleVariant);
begin
  DefaultInterface.Set_Members(Members);
end;

function TDistListItem.Get_OneOffMembers: OleVariant;
var
  InterfaceVariant : OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  Result := InterfaceVariant.OneOffMembers;
end;

procedure TDistListItem.Set_OneOffMembers(OneOffMembers: OleVariant);
begin
  DefaultInterface.Set_OneOffMembers(OneOffMembers);
end;

function TDistListItem.Get_Links: Links;
begin
    Result := DefaultInterface.Links;
end;

function TDistListItem.Get_DownloadState: OlDownloadState;
begin
    Result := DefaultInterface.DownloadState;
end;

function TDistListItem.Get_ItemProperties: ItemProperties;
begin
    Result := DefaultInterface.ItemProperties;
end;

function TDistListItem.Get_MarkForDownload: OlRemoteStatus;
begin
    Result := DefaultInterface.MarkForDownload;
end;

procedure TDistListItem.Set_MarkForDownload(MarkForDownload: OlRemoteStatus);
begin
  DefaultInterface.Set_MarkForDownload(MarkForDownload);
end;

function TDistListItem.Get_IsConflict: WordBool;
begin
    Result := DefaultInterface.IsConflict;
end;

procedure TDistListItem.Close(SaveMode: OlInspectorClose);
begin
  DefaultInterface.Close(SaveMode);
end;

function TDistListItem.Copy: IDispatch;
begin
  Result := DefaultInterface.Copy;
end;

procedure TDistListItem.Delete;
begin
  DefaultInterface.Delete;
end;

procedure TDistListItem.Display;
begin
  DefaultInterface.Display(EmptyParam);
end;

procedure TDistListItem.Display(Modal: OleVariant);
begin
  DefaultInterface.Display(Modal);
end;

function TDistListItem.Move(const DestFldr: MAPIFolder): IDispatch;
begin
  Result := DefaultInterface.Move(DestFldr);
end;

procedure TDistListItem.PrintOut;
begin
  DefaultInterface.PrintOut;
end;

procedure TDistListItem.Save;
begin
  DefaultInterface.Save;
end;

procedure TDistListItem.SaveAs(const Path: WideString);
begin
  DefaultInterface.SaveAs(Path, EmptyParam);
end;

procedure TDistListItem.SaveAs(const Path: WideString; Type_: OleVariant);
begin
  DefaultInterface.SaveAs(Path, Type_);
end;

procedure TDistListItem.AddMembers(const Recipients: Recipients);
begin
  DefaultInterface.AddMembers(Recipients);
end;

procedure TDistListItem.RemoveMembers(const Recipients: Recipients);
begin
  DefaultInterface.RemoveMembers(Recipients);
end;

function TDistListItem.GetMember(Index: Integer): Recipient;
begin
  Result := DefaultInterface.GetMember(Index);
end;

procedure TDistListItem.ShowCategoriesDialog;
begin
  DefaultInterface.ShowCategoriesDialog;
end;

procedure TDistListItem.AddMember(const Recipient: Recipient);
begin
  DefaultInterface.AddMember(Recipient);
end;

procedure TDistListItem.RemoveMember(const Recipient: Recipient);
begin
  DefaultInterface.RemoveMember(Recipient);
end;

{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
constructor TDistListItemProperties.Create(AServer: TDistListItem);
begin
  inherited Create;
  FServer := AServer;
end;

function TDistListItemProperties.GetDefaultInterface: _DistListItem;
begin
  Result := FServer.DefaultInterface;
end;

function TDistListItemProperties.Get_Application: _Application;
begin
    Result := DefaultInterface.Application;
end;

function TDistListItemProperties.Get_Class_: OlObjectClass;
begin
    Result := DefaultInterface.Class_;
end;

function TDistListItemProperties.Get_Session: _NameSpace;
begin
    Result := DefaultInterface.Session;
end;

function TDistListItemProperties.Get_Parent: IDispatch;
begin
    Result := DefaultInterface.Parent;
end;

function TDistListItemProperties.Get_Actions: Actions;
begin
    Result := DefaultInterface.Actions;
end;

function TDistListItemProperties.Get_Attachments: Attachments;
begin
    Result := DefaultInterface.Attachments;
end;

function TDistListItemProperties.Get_BillingInformation: WideString;
begin
    Result := DefaultInterface.BillingInformation;
end;

procedure TDistListItemProperties.Set_BillingInformation(const BillingInformation: WideString);
  { Warning: The property BillingInformation has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.BillingInformation := BillingInformation;
end;

function TDistListItemProperties.Get_Body: WideString;
begin
    Result := DefaultInterface.Body;
end;

procedure TDistListItemProperties.Set_Body(const Body: WideString);
  { Warning: The property Body has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Body := Body;
end;

function TDistListItemProperties.Get_Categories: WideString;
begin
    Result := DefaultInterface.Categories;
end;

procedure TDistListItemProperties.Set_Categories(const Categories: WideString);
  { Warning: The property Categories has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Categories := Categories;
end;

function TDistListItemProperties.Get_Companies: WideString;
begin
    Result := DefaultInterface.Companies;
end;

procedure TDistListItemProperties.Set_Companies(const Companies: WideString);
  { Warning: The property Companies has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Companies := Companies;
end;

function TDistListItemProperties.Get_ConversationIndex: WideString;
begin
    Result := DefaultInterface.ConversationIndex;
end;

function TDistListItemProperties.Get_ConversationTopic: WideString;
begin
    Result := DefaultInterface.ConversationTopic;
end;

function TDistListItemProperties.Get_CreationTime: TDateTime;
begin
    Result := DefaultInterface.CreationTime;
end;

function TDistListItemProperties.Get_EntryID: WideString;
begin
    Result := DefaultInterface.EntryID;
end;

function TDistListItemProperties.Get_FormDescription: FormDescription;
begin
    Result := DefaultInterface.FormDescription;
end;

function TDistListItemProperties.Get_GetInspector: _Inspector;
begin
    Result := DefaultInterface.GetInspector;
end;

function TDistListItemProperties.Get_Importance: OlImportance;
begin
    Result := DefaultInterface.Importance;
end;

procedure TDistListItemProperties.Set_Importance(Importance: OlImportance);
begin
  DefaultInterface.Set_Importance(Importance);
end;

function TDistListItemProperties.Get_LastModificationTime: TDateTime;
begin
    Result := DefaultInterface.LastModificationTime;
end;

function TDistListItemProperties.Get_MAPIOBJECT: IUnknown;
begin
    Result := DefaultInterface.MAPIOBJECT;
end;

function TDistListItemProperties.Get_MessageClass: WideString;
begin
    Result := DefaultInterface.MessageClass;
end;

procedure TDistListItemProperties.Set_MessageClass(const MessageClass: WideString);
  { Warning: The property MessageClass has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.MessageClass := MessageClass;
end;

function TDistListItemProperties.Get_Mileage: WideString;
begin
    Result := DefaultInterface.Mileage;
end;

procedure TDistListItemProperties.Set_Mileage(const Mileage: WideString);
  { Warning: The property Mileage has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Mileage := Mileage;
end;

function TDistListItemProperties.Get_NoAging: WordBool;
begin
    Result := DefaultInterface.NoAging;
end;

procedure TDistListItemProperties.Set_NoAging(NoAging: WordBool);
begin
  DefaultInterface.Set_NoAging(NoAging);
end;

function TDistListItemProperties.Get_OutlookInternalVersion: Integer;
begin
    Result := DefaultInterface.OutlookInternalVersion;
end;

function TDistListItemProperties.Get_OutlookVersion: WideString;
begin
    Result := DefaultInterface.OutlookVersion;
end;

function TDistListItemProperties.Get_Saved: WordBool;
begin
    Result := DefaultInterface.Saved;
end;

function TDistListItemProperties.Get_Sensitivity: OlSensitivity;
begin
    Result := DefaultInterface.Sensitivity;
end;

procedure TDistListItemProperties.Set_Sensitivity(Sensitivity: OlSensitivity);
begin
  DefaultInterface.Set_Sensitivity(Sensitivity);
end;

function TDistListItemProperties.Get_Size: Integer;
begin
    Result := DefaultInterface.Size;
end;

function TDistListItemProperties.Get_Subject: WideString;
begin
    Result := DefaultInterface.Subject;
end;

procedure TDistListItemProperties.Set_Subject(const Subject: WideString);
  { Warning: The property Subject has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Subject := Subject;
end;

function TDistListItemProperties.Get_UnRead: WordBool;
begin
    Result := DefaultInterface.UnRead;
end;

procedure TDistListItemProperties.Set_UnRead(UnRead: WordBool);
begin
  DefaultInterface.Set_UnRead(UnRead);
end;

function TDistListItemProperties.Get_UserProperties: UserProperties;
begin
    Result := DefaultInterface.UserProperties;
end;

function TDistListItemProperties.Get_DLName: WideString;
begin
    Result := DefaultInterface.DLName;
end;

procedure TDistListItemProperties.Set_DLName(const DLName: WideString);
  { Warning: The property DLName has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.DLName := DLName;
end;

function TDistListItemProperties.Get_MemberCount: Integer;
begin
    Result := DefaultInterface.MemberCount;
end;

function TDistListItemProperties.Get_CheckSum: Integer;
begin
    Result := DefaultInterface.CheckSum;
end;

function TDistListItemProperties.Get_Members: OleVariant;
var
  InterfaceVariant : OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  Result := InterfaceVariant.Members;
end;

procedure TDistListItemProperties.Set_Members(Members: OleVariant);
begin
  DefaultInterface.Set_Members(Members);
end;

function TDistListItemProperties.Get_OneOffMembers: OleVariant;
var
  InterfaceVariant : OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  Result := InterfaceVariant.OneOffMembers;
end;

procedure TDistListItemProperties.Set_OneOffMembers(OneOffMembers: OleVariant);
begin
  DefaultInterface.Set_OneOffMembers(OneOffMembers);
end;

function TDistListItemProperties.Get_Links: Links;
begin
    Result := DefaultInterface.Links;
end;

function TDistListItemProperties.Get_DownloadState: OlDownloadState;
begin
    Result := DefaultInterface.DownloadState;
end;

function TDistListItemProperties.Get_ItemProperties: ItemProperties;
begin
    Result := DefaultInterface.ItemProperties;
end;

function TDistListItemProperties.Get_MarkForDownload: OlRemoteStatus;
begin
    Result := DefaultInterface.MarkForDownload;
end;

procedure TDistListItemProperties.Set_MarkForDownload(MarkForDownload: OlRemoteStatus);
begin
  DefaultInterface.Set_MarkForDownload(MarkForDownload);
end;

function TDistListItemProperties.Get_IsConflict: WordBool;
begin
    Result := DefaultInterface.IsConflict;
end;

{$ENDIF}

class function CoDocumentItem.Create: _DocumentItem;
begin
  Result := CreateComObject(CLASS_DocumentItem) as _DocumentItem;
end;

class function CoDocumentItem.CreateRemote(const MachineName: string): _DocumentItem;
begin
  Result := CreateRemoteComObject(MachineName, CLASS_DocumentItem) as _DocumentItem;
end;

procedure TDocumentItem.InitServerData;
const
  CServerData: TServerData = (
    ClassID:   '{00061061-0000-0000-C000-000000000046}';
    IntfIID:   '{00063020-0000-0000-C000-000000000046}';
    EventIID:  '{0006302B-0000-0000-C000-000000000046}';
    LicenseKey: nil;
    Version: 500);
begin
  ServerData := @CServerData;
end;

procedure TDocumentItem.Connect;
var
  punk: IUnknown;
begin
  if FIntf = nil then
  begin
    punk := GetServer;
    ConnectEvents(punk);
    Fintf:= punk as _DocumentItem;
  end;
end;

procedure TDocumentItem.ConnectTo(svrIntf: _DocumentItem);
begin
  Disconnect;
  FIntf := svrIntf;
  ConnectEvents(FIntf);
end;

procedure TDocumentItem.DisConnect;
begin
  if Fintf <> nil then
  begin
    DisconnectEvents(FIntf);
    FIntf := nil;
  end;
end;

function TDocumentItem.GetDefaultInterface: _DocumentItem;
begin
  if FIntf = nil then
    Connect;
  Assert(FIntf <> nil, 'DefaultInterface is NULL. Component is not connected to Server. You must call ''Connect'' or ''ConnectTo'' before this operation');
  Result := FIntf;
end;

constructor TDocumentItem.Create(AOwner: TComponent);
begin
  inherited Create(AOwner);
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  FProps := TDocumentItemProperties.Create(Self);
{$ENDIF}
end;

destructor TDocumentItem.Destroy;
begin
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  FProps.Free;
{$ENDIF}
  inherited Destroy;
end;

{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
function TDocumentItem.GetServerProperties: TDocumentItemProperties;
begin
  Result := FProps;
end;
{$ENDIF}

procedure TDocumentItem.InvokeEvent(DispID: TDispID; var Params: TVariantArray);
begin
  case DispID of
    -1: Exit;  // DISPID_UNKNOWN
    61443: if Assigned(FOnOpen) then
         FOnOpen(Self, WordBool((TVarData(Params[0]).VPointer)^) {var WordBool});
    61446: if Assigned(FOnCustomAction) then
         FOnCustomAction(Self,
                         Params[0] {const IDispatch},
                         Params[1] {const IDispatch},
                         WordBool((TVarData(Params[2]).VPointer)^) {var WordBool});
    61448: if Assigned(FOnCustomPropertyChange) then
         FOnCustomPropertyChange(Self, Params[0] {const WideString});
    62568: if Assigned(FOnForward) then
         FOnForward(Self,
                    Params[0] {const IDispatch},
                    WordBool((TVarData(Params[1]).VPointer)^) {var WordBool});
    61444: if Assigned(FOnClose) then
         FOnClose(Self, WordBool((TVarData(Params[0]).VPointer)^) {var WordBool});
    61449: if Assigned(FOnPropertyChange) then
         FOnPropertyChange(Self, Params[0] {const WideString});
    61441: if Assigned(FOnRead) then
         FOnRead(Self);
    62566: if Assigned(FOnReply) then
         FOnReply(Self,
                  Params[0] {const IDispatch},
                  WordBool((TVarData(Params[1]).VPointer)^) {var WordBool});
    62567: if Assigned(FOnReplyAll) then
         FOnReplyAll(Self,
                     Params[0] {const IDispatch},
                     WordBool((TVarData(Params[1]).VPointer)^) {var WordBool});
    61445: if Assigned(FOnSend) then
         FOnSend(Self, WordBool((TVarData(Params[0]).VPointer)^) {var WordBool});
    61442: if Assigned(FOnWrite) then
         FOnWrite(Self, WordBool((TVarData(Params[0]).VPointer)^) {var WordBool});
    61450: if Assigned(FOnBeforeCheckNames) then
         FOnBeforeCheckNames(Self, WordBool((TVarData(Params[0]).VPointer)^) {var WordBool});
    61451: if Assigned(FOnAttachmentAdd) then
         FOnAttachmentAdd(Self, IUnknown(TVarData(Params[0]).VPointer) as Attachment {const Attachment});
    61452: if Assigned(FOnAttachmentRead) then
         FOnAttachmentRead(Self, IUnknown(TVarData(Params[0]).VPointer) as Attachment {const Attachment});
    61453: if Assigned(FOnBeforeAttachmentSave) then
         FOnBeforeAttachmentSave(Self,
                                 IUnknown(TVarData(Params[0]).VPointer) as Attachment {const Attachment},
                                 WordBool((TVarData(Params[1]).VPointer)^) {var WordBool});
    64117: if Assigned(FOnBeforeDelete) then
         FOnBeforeDelete(Self,
                         Params[0] {const IDispatch},
                         WordBool((TVarData(Params[1]).VPointer)^) {var WordBool});
  end; {case DispID}
end;

function TDocumentItem.Get_Application: _Application;
begin
    Result := DefaultInterface.Application;
end;

function TDocumentItem.Get_Class_: OlObjectClass;
begin
    Result := DefaultInterface.Class_;
end;

function TDocumentItem.Get_Session: _NameSpace;
begin
    Result := DefaultInterface.Session;
end;

function TDocumentItem.Get_Parent: IDispatch;
begin
    Result := DefaultInterface.Parent;
end;

function TDocumentItem.Get_Actions: Actions;
begin
    Result := DefaultInterface.Actions;
end;

function TDocumentItem.Get_Attachments: Attachments;
begin
    Result := DefaultInterface.Attachments;
end;

function TDocumentItem.Get_BillingInformation: WideString;
begin
    Result := DefaultInterface.BillingInformation;
end;

procedure TDocumentItem.Set_BillingInformation(const BillingInformation: WideString);
  { Warning: The property BillingInformation has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.BillingInformation := BillingInformation;
end;

function TDocumentItem.Get_Body: WideString;
begin
    Result := DefaultInterface.Body;
end;

procedure TDocumentItem.Set_Body(const Body: WideString);
  { Warning: The property Body has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Body := Body;
end;

function TDocumentItem.Get_Categories: WideString;
begin
    Result := DefaultInterface.Categories;
end;

procedure TDocumentItem.Set_Categories(const Categories: WideString);
  { Warning: The property Categories has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Categories := Categories;
end;

function TDocumentItem.Get_Companies: WideString;
begin
    Result := DefaultInterface.Companies;
end;

procedure TDocumentItem.Set_Companies(const Companies: WideString);
  { Warning: The property Companies has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Companies := Companies;
end;

function TDocumentItem.Get_ConversationIndex: WideString;
begin
    Result := DefaultInterface.ConversationIndex;
end;

function TDocumentItem.Get_ConversationTopic: WideString;
begin
    Result := DefaultInterface.ConversationTopic;
end;

function TDocumentItem.Get_CreationTime: TDateTime;
begin
    Result := DefaultInterface.CreationTime;
end;

function TDocumentItem.Get_EntryID: WideString;
begin
    Result := DefaultInterface.EntryID;
end;

function TDocumentItem.Get_FormDescription: FormDescription;
begin
    Result := DefaultInterface.FormDescription;
end;

function TDocumentItem.Get_GetInspector: _Inspector;
begin
    Result := DefaultInterface.GetInspector;
end;

function TDocumentItem.Get_Importance: OlImportance;
begin
    Result := DefaultInterface.Importance;
end;

procedure TDocumentItem.Set_Importance(Importance: OlImportance);
begin
  DefaultInterface.Set_Importance(Importance);
end;

function TDocumentItem.Get_LastModificationTime: TDateTime;
begin
    Result := DefaultInterface.LastModificationTime;
end;

function TDocumentItem.Get_MAPIOBJECT: IUnknown;
begin
    Result := DefaultInterface.MAPIOBJECT;
end;

function TDocumentItem.Get_MessageClass: WideString;
begin
    Result := DefaultInterface.MessageClass;
end;

procedure TDocumentItem.Set_MessageClass(const MessageClass: WideString);
  { Warning: The property MessageClass has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.MessageClass := MessageClass;
end;

function TDocumentItem.Get_Mileage: WideString;
begin
    Result := DefaultInterface.Mileage;
end;

procedure TDocumentItem.Set_Mileage(const Mileage: WideString);
  { Warning: The property Mileage has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Mileage := Mileage;
end;

function TDocumentItem.Get_NoAging: WordBool;
begin
    Result := DefaultInterface.NoAging;
end;

procedure TDocumentItem.Set_NoAging(NoAging: WordBool);
begin
  DefaultInterface.Set_NoAging(NoAging);
end;

function TDocumentItem.Get_OutlookInternalVersion: Integer;
begin
    Result := DefaultInterface.OutlookInternalVersion;
end;

function TDocumentItem.Get_OutlookVersion: WideString;
begin
    Result := DefaultInterface.OutlookVersion;
end;

function TDocumentItem.Get_Saved: WordBool;
begin
    Result := DefaultInterface.Saved;
end;

function TDocumentItem.Get_Sensitivity: OlSensitivity;
begin
    Result := DefaultInterface.Sensitivity;
end;

procedure TDocumentItem.Set_Sensitivity(Sensitivity: OlSensitivity);
begin
  DefaultInterface.Set_Sensitivity(Sensitivity);
end;

function TDocumentItem.Get_Size: Integer;
begin
    Result := DefaultInterface.Size;
end;

function TDocumentItem.Get_Subject: WideString;
begin
    Result := DefaultInterface.Subject;
end;

procedure TDocumentItem.Set_Subject(const Subject: WideString);
  { Warning: The property Subject has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Subject := Subject;
end;

function TDocumentItem.Get_UnRead: WordBool;
begin
    Result := DefaultInterface.UnRead;
end;

procedure TDocumentItem.Set_UnRead(UnRead: WordBool);
begin
  DefaultInterface.Set_UnRead(UnRead);
end;

function TDocumentItem.Get_UserProperties: UserProperties;
begin
    Result := DefaultInterface.UserProperties;
end;

function TDocumentItem.Get_Links: Links;
begin
    Result := DefaultInterface.Links;
end;

function TDocumentItem.Get_DownloadState: OlDownloadState;
begin
    Result := DefaultInterface.DownloadState;
end;

function TDocumentItem.Get_ItemProperties: ItemProperties;
begin
    Result := DefaultInterface.ItemProperties;
end;

function TDocumentItem.Get_MarkForDownload: OlRemoteStatus;
begin
    Result := DefaultInterface.MarkForDownload;
end;

procedure TDocumentItem.Set_MarkForDownload(MarkForDownload: OlRemoteStatus);
begin
  DefaultInterface.Set_MarkForDownload(MarkForDownload);
end;

function TDocumentItem.Get_IsConflict: WordBool;
begin
    Result := DefaultInterface.IsConflict;
end;

procedure TDocumentItem.Close(SaveMode: OlInspectorClose);
begin
  DefaultInterface.Close(SaveMode);
end;

function TDocumentItem.Copy: IDispatch;
begin
  Result := DefaultInterface.Copy;
end;

procedure TDocumentItem.Delete;
begin
  DefaultInterface.Delete;
end;

procedure TDocumentItem.Display;
begin
  DefaultInterface.Display(EmptyParam);
end;

procedure TDocumentItem.Display(Modal: OleVariant);
begin
  DefaultInterface.Display(Modal);
end;

function TDocumentItem.Move(const DestFldr: MAPIFolder): IDispatch;
begin
  Result := DefaultInterface.Move(DestFldr);
end;

procedure TDocumentItem.PrintOut;
begin
  DefaultInterface.PrintOut;
end;

procedure TDocumentItem.Save;
begin
  DefaultInterface.Save;
end;

procedure TDocumentItem.SaveAs(const Path: WideString);
begin
  DefaultInterface.SaveAs(Path, EmptyParam);
end;

procedure TDocumentItem.SaveAs(const Path: WideString; Type_: OleVariant);
begin
  DefaultInterface.SaveAs(Path, Type_);
end;

procedure TDocumentItem.ShowCategoriesDialog;
begin
  DefaultInterface.ShowCategoriesDialog;
end;

{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
constructor TDocumentItemProperties.Create(AServer: TDocumentItem);
begin
  inherited Create;
  FServer := AServer;
end;

function TDocumentItemProperties.GetDefaultInterface: _DocumentItem;
begin
  Result := FServer.DefaultInterface;
end;

function TDocumentItemProperties.Get_Application: _Application;
begin
    Result := DefaultInterface.Application;
end;

function TDocumentItemProperties.Get_Class_: OlObjectClass;
begin
    Result := DefaultInterface.Class_;
end;

function TDocumentItemProperties.Get_Session: _NameSpace;
begin
    Result := DefaultInterface.Session;
end;

function TDocumentItemProperties.Get_Parent: IDispatch;
begin
    Result := DefaultInterface.Parent;
end;

function TDocumentItemProperties.Get_Actions: Actions;
begin
    Result := DefaultInterface.Actions;
end;

function TDocumentItemProperties.Get_Attachments: Attachments;
begin
    Result := DefaultInterface.Attachments;
end;

function TDocumentItemProperties.Get_BillingInformation: WideString;
begin
    Result := DefaultInterface.BillingInformation;
end;

procedure TDocumentItemProperties.Set_BillingInformation(const BillingInformation: WideString);
  { Warning: The property BillingInformation has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.BillingInformation := BillingInformation;
end;

function TDocumentItemProperties.Get_Body: WideString;
begin
    Result := DefaultInterface.Body;
end;

procedure TDocumentItemProperties.Set_Body(const Body: WideString);
  { Warning: The property Body has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Body := Body;
end;

function TDocumentItemProperties.Get_Categories: WideString;
begin
    Result := DefaultInterface.Categories;
end;

procedure TDocumentItemProperties.Set_Categories(const Categories: WideString);
  { Warning: The property Categories has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Categories := Categories;
end;

function TDocumentItemProperties.Get_Companies: WideString;
begin
    Result := DefaultInterface.Companies;
end;

procedure TDocumentItemProperties.Set_Companies(const Companies: WideString);
  { Warning: The property Companies has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Companies := Companies;
end;

function TDocumentItemProperties.Get_ConversationIndex: WideString;
begin
    Result := DefaultInterface.ConversationIndex;
end;

function TDocumentItemProperties.Get_ConversationTopic: WideString;
begin
    Result := DefaultInterface.ConversationTopic;
end;

function TDocumentItemProperties.Get_CreationTime: TDateTime;
begin
    Result := DefaultInterface.CreationTime;
end;

function TDocumentItemProperties.Get_EntryID: WideString;
begin
    Result := DefaultInterface.EntryID;
end;

function TDocumentItemProperties.Get_FormDescription: FormDescription;
begin
    Result := DefaultInterface.FormDescription;
end;

function TDocumentItemProperties.Get_GetInspector: _Inspector;
begin
    Result := DefaultInterface.GetInspector;
end;

function TDocumentItemProperties.Get_Importance: OlImportance;
begin
    Result := DefaultInterface.Importance;
end;

procedure TDocumentItemProperties.Set_Importance(Importance: OlImportance);
begin
  DefaultInterface.Set_Importance(Importance);
end;

function TDocumentItemProperties.Get_LastModificationTime: TDateTime;
begin
    Result := DefaultInterface.LastModificationTime;
end;

function TDocumentItemProperties.Get_MAPIOBJECT: IUnknown;
begin
    Result := DefaultInterface.MAPIOBJECT;
end;

function TDocumentItemProperties.Get_MessageClass: WideString;
begin
    Result := DefaultInterface.MessageClass;
end;

procedure TDocumentItemProperties.Set_MessageClass(const MessageClass: WideString);
  { Warning: The property MessageClass has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.MessageClass := MessageClass;
end;

function TDocumentItemProperties.Get_Mileage: WideString;
begin
    Result := DefaultInterface.Mileage;
end;

procedure TDocumentItemProperties.Set_Mileage(const Mileage: WideString);
  { Warning: The property Mileage has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Mileage := Mileage;
end;

function TDocumentItemProperties.Get_NoAging: WordBool;
begin
    Result := DefaultInterface.NoAging;
end;

procedure TDocumentItemProperties.Set_NoAging(NoAging: WordBool);
begin
  DefaultInterface.Set_NoAging(NoAging);
end;

function TDocumentItemProperties.Get_OutlookInternalVersion: Integer;
begin
    Result := DefaultInterface.OutlookInternalVersion;
end;

function TDocumentItemProperties.Get_OutlookVersion: WideString;
begin
    Result := DefaultInterface.OutlookVersion;
end;

function TDocumentItemProperties.Get_Saved: WordBool;
begin
    Result := DefaultInterface.Saved;
end;

function TDocumentItemProperties.Get_Sensitivity: OlSensitivity;
begin
    Result := DefaultInterface.Sensitivity;
end;

procedure TDocumentItemProperties.Set_Sensitivity(Sensitivity: OlSensitivity);
begin
  DefaultInterface.Set_Sensitivity(Sensitivity);
end;

function TDocumentItemProperties.Get_Size: Integer;
begin
    Result := DefaultInterface.Size;
end;

function TDocumentItemProperties.Get_Subject: WideString;
begin
    Result := DefaultInterface.Subject;
end;

procedure TDocumentItemProperties.Set_Subject(const Subject: WideString);
  { Warning: The property Subject has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Subject := Subject;
end;

function TDocumentItemProperties.Get_UnRead: WordBool;
begin
    Result := DefaultInterface.UnRead;
end;

procedure TDocumentItemProperties.Set_UnRead(UnRead: WordBool);
begin
  DefaultInterface.Set_UnRead(UnRead);
end;

function TDocumentItemProperties.Get_UserProperties: UserProperties;
begin
    Result := DefaultInterface.UserProperties;
end;

function TDocumentItemProperties.Get_Links: Links;
begin
    Result := DefaultInterface.Links;
end;

function TDocumentItemProperties.Get_DownloadState: OlDownloadState;
begin
    Result := DefaultInterface.DownloadState;
end;

function TDocumentItemProperties.Get_ItemProperties: ItemProperties;
begin
    Result := DefaultInterface.ItemProperties;
end;

function TDocumentItemProperties.Get_MarkForDownload: OlRemoteStatus;
begin
    Result := DefaultInterface.MarkForDownload;
end;

procedure TDocumentItemProperties.Set_MarkForDownload(MarkForDownload: OlRemoteStatus);
begin
  DefaultInterface.Set_MarkForDownload(MarkForDownload);
end;

function TDocumentItemProperties.Get_IsConflict: WordBool;
begin
    Result := DefaultInterface.IsConflict;
end;

{$ENDIF}

class function CoExplorers.Create: _Explorers;
begin
  Result := CreateComObject(CLASS_Explorers) as _Explorers;
end;

class function CoExplorers.CreateRemote(const MachineName: string): _Explorers;
begin
  Result := CreateRemoteComObject(MachineName, CLASS_Explorers) as _Explorers;
end;

procedure TExplorers.InitServerData;
const
  CServerData: TServerData = (
    ClassID:   '{00063053-0000-0000-C000-000000000046}';
    IntfIID:   '{0006300A-0000-0000-C000-000000000046}';
    EventIID:  '{00063078-0000-0000-C000-000000000046}';
    LicenseKey: nil;
    Version: 500);
begin
  ServerData := @CServerData;
end;

procedure TExplorers.Connect;
var
  punk: IUnknown;
begin
  if FIntf = nil then
  begin
    punk := GetServer;
    ConnectEvents(punk);
    Fintf:= punk as _Explorers;
  end;
end;

procedure TExplorers.ConnectTo(svrIntf: _Explorers);
begin
  Disconnect;
  FIntf := svrIntf;
  ConnectEvents(FIntf);
end;

procedure TExplorers.DisConnect;
begin
  if Fintf <> nil then
  begin
    DisconnectEvents(FIntf);
    FIntf := nil;
  end;
end;

function TExplorers.GetDefaultInterface: _Explorers;
begin
  if FIntf = nil then
    Connect;
  Assert(FIntf <> nil, 'DefaultInterface is NULL. Component is not connected to Server. You must call ''Connect'' or ''ConnectTo'' before this operation');
  Result := FIntf;
end;

constructor TExplorers.Create(AOwner: TComponent);
begin
  inherited Create(AOwner);
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  FProps := TExplorersProperties.Create(Self);
{$ENDIF}
end;

destructor TExplorers.Destroy;
begin
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  FProps.Free;
{$ENDIF}
  inherited Destroy;
end;

{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
function TExplorers.GetServerProperties: TExplorersProperties;
begin
  Result := FProps;
end;
{$ENDIF}

procedure TExplorers.InvokeEvent(DispID: TDispID; var Params: TVariantArray);
begin
  case DispID of
    -1: Exit;  // DISPID_UNKNOWN
    61441: if Assigned(FOnNewExplorer) then
         FOnNewExplorer(Self, IUnknown(TVarData(Params[0]).VPointer) as _Explorer {const _Explorer});
  end; {case DispID}
end;

function TExplorers.Get_Application: _Application;
begin
    Result := DefaultInterface.Application;
end;

function TExplorers.Get_Class_: OlObjectClass;
begin
    Result := DefaultInterface.Class_;
end;

function TExplorers.Get_Session: _NameSpace;
begin
    Result := DefaultInterface.Session;
end;

function TExplorers.Get_Parent: IDispatch;
begin
    Result := DefaultInterface.Parent;
end;

function TExplorers.Get_Count: Integer;
begin
    Result := DefaultInterface.Count;
end;

function TExplorers.Item(Index: OleVariant): Explorer;
begin
  Result := DefaultInterface.Item(Index);
end;

function TExplorers.Add(Folder: OleVariant; DisplayMode: OlFolderDisplayMode): _Explorer;
begin
  Result := DefaultInterface.Add(Folder, DisplayMode);
end;

{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
constructor TExplorersProperties.Create(AServer: TExplorers);
begin
  inherited Create;
  FServer := AServer;
end;

function TExplorersProperties.GetDefaultInterface: _Explorers;
begin
  Result := FServer.DefaultInterface;
end;

function TExplorersProperties.Get_Application: _Application;
begin
    Result := DefaultInterface.Application;
end;

function TExplorersProperties.Get_Class_: OlObjectClass;
begin
    Result := DefaultInterface.Class_;
end;

function TExplorersProperties.Get_Session: _NameSpace;
begin
    Result := DefaultInterface.Session;
end;

function TExplorersProperties.Get_Parent: IDispatch;
begin
    Result := DefaultInterface.Parent;
end;

function TExplorersProperties.Get_Count: Integer;
begin
    Result := DefaultInterface.Count;
end;

{$ENDIF}

class function CoInspectors.Create: _Inspectors;
begin
  Result := CreateComObject(CLASS_Inspectors) as _Inspectors;
end;

class function CoInspectors.CreateRemote(const MachineName: string): _Inspectors;
begin
  Result := CreateRemoteComObject(MachineName, CLASS_Inspectors) as _Inspectors;
end;

procedure TInspectors.InitServerData;
const
  CServerData: TServerData = (
    ClassID:   '{00063054-0000-0000-C000-000000000046}';
    IntfIID:   '{00063008-0000-0000-C000-000000000046}';
    EventIID:  '{00063079-0000-0000-C000-000000000046}';
    LicenseKey: nil;
    Version: 500);
begin
  ServerData := @CServerData;
end;

procedure TInspectors.Connect;
var
  punk: IUnknown;
begin
  if FIntf = nil then
  begin
    punk := GetServer;
    ConnectEvents(punk);
    Fintf:= punk as _Inspectors;
  end;
end;

procedure TInspectors.ConnectTo(svrIntf: _Inspectors);
begin
  Disconnect;
  FIntf := svrIntf;
  ConnectEvents(FIntf);
end;

procedure TInspectors.DisConnect;
begin
  if Fintf <> nil then
  begin
    DisconnectEvents(FIntf);
    FIntf := nil;
  end;
end;

function TInspectors.GetDefaultInterface: _Inspectors;
begin
  if FIntf = nil then
    Connect;
  Assert(FIntf <> nil, 'DefaultInterface is NULL. Component is not connected to Server. You must call ''Connect'' or ''ConnectTo'' before this operation');
  Result := FIntf;
end;

constructor TInspectors.Create(AOwner: TComponent);
begin
  inherited Create(AOwner);
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  FProps := TInspectorsProperties.Create(Self);
{$ENDIF}
end;

destructor TInspectors.Destroy;
begin
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  FProps.Free;
{$ENDIF}
  inherited Destroy;
end;

{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
function TInspectors.GetServerProperties: TInspectorsProperties;
begin
  Result := FProps;
end;
{$ENDIF}

procedure TInspectors.InvokeEvent(DispID: TDispID; var Params: TVariantArray);
begin
  case DispID of
    -1: Exit;  // DISPID_UNKNOWN
    61441: if Assigned(FOnNewInspector) then
         FOnNewInspector(Self, IUnknown(TVarData(Params[0]).VPointer) as _Inspector {const _Inspector});
  end; {case DispID}
end;

function TInspectors.Get_Application: _Application;
begin
    Result := DefaultInterface.Application;
end;

function TInspectors.Get_Class_: OlObjectClass;
begin
    Result := DefaultInterface.Class_;
end;

function TInspectors.Get_Session: _NameSpace;
begin
    Result := DefaultInterface.Session;
end;

function TInspectors.Get_Parent: IDispatch;
begin
    Result := DefaultInterface.Parent;
end;

function TInspectors.Get_Count: Integer;
begin
    Result := DefaultInterface.Count;
end;

function TInspectors.Item(Index: OleVariant): Inspector;
begin
  Result := DefaultInterface.Item(Index);
end;

function TInspectors.Add(const Item: IDispatch): _Inspector;
begin
  Result := DefaultInterface.Add(Item);
end;

{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
constructor TInspectorsProperties.Create(AServer: TInspectors);
begin
  inherited Create;
  FServer := AServer;
end;

function TInspectorsProperties.GetDefaultInterface: _Inspectors;
begin
  Result := FServer.DefaultInterface;
end;

function TInspectorsProperties.Get_Application: _Application;
begin
    Result := DefaultInterface.Application;
end;

function TInspectorsProperties.Get_Class_: OlObjectClass;
begin
    Result := DefaultInterface.Class_;
end;

function TInspectorsProperties.Get_Session: _NameSpace;
begin
    Result := DefaultInterface.Session;
end;

function TInspectorsProperties.Get_Parent: IDispatch;
begin
    Result := DefaultInterface.Parent;
end;

function TInspectorsProperties.Get_Count: Integer;
begin
    Result := DefaultInterface.Count;
end;

{$ENDIF}

class function CoFolders.Create: _Folders;
begin
  Result := CreateComObject(CLASS_Folders) as _Folders;
end;

class function CoFolders.CreateRemote(const MachineName: string): _Folders;
begin
  Result := CreateRemoteComObject(MachineName, CLASS_Folders) as _Folders;
end;

procedure TFolders.InitServerData;
const
  CServerData: TServerData = (
    ClassID:   '{00063051-0000-0000-C000-000000000046}';
    IntfIID:   '{00063040-0000-0000-C000-000000000046}';
    EventIID:  '{00063076-0000-0000-C000-000000000046}';
    LicenseKey: nil;
    Version: 500);
begin
  ServerData := @CServerData;
end;

procedure TFolders.Connect;
var
  punk: IUnknown;
begin
  if FIntf = nil then
  begin
    punk := GetServer;
    ConnectEvents(punk);
    Fintf:= punk as _Folders;
  end;
end;

procedure TFolders.ConnectTo(svrIntf: _Folders);
begin
  Disconnect;
  FIntf := svrIntf;
  ConnectEvents(FIntf);
end;

procedure TFolders.DisConnect;
begin
  if Fintf <> nil then
  begin
    DisconnectEvents(FIntf);
    FIntf := nil;
  end;
end;

function TFolders.GetDefaultInterface: _Folders;
begin
  if FIntf = nil then
    Connect;
  Assert(FIntf <> nil, 'DefaultInterface is NULL. Component is not connected to Server. You must call ''Connect'' or ''ConnectTo'' before this operation');
  Result := FIntf;
end;

constructor TFolders.Create(AOwner: TComponent);
begin
  inherited Create(AOwner);
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  FProps := TFoldersProperties.Create(Self);
{$ENDIF}
end;

destructor TFolders.Destroy;
begin
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  FProps.Free;
{$ENDIF}
  inherited Destroy;
end;

{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
function TFolders.GetServerProperties: TFoldersProperties;
begin
  Result := FProps;
end;
{$ENDIF}

procedure TFolders.InvokeEvent(DispID: TDispID; var Params: TVariantArray);
begin
  case DispID of
    -1: Exit;  // DISPID_UNKNOWN
    61441: if Assigned(FOnFolderAdd) then
         FOnFolderAdd(Self, IUnknown(TVarData(Params[0]).VPointer) as MAPIFolder {const MAPIFolder});
    61442: if Assigned(FOnFolderChange) then
         FOnFolderChange(Self, IUnknown(TVarData(Params[0]).VPointer) as MAPIFolder {const MAPIFolder});
    61443: if Assigned(FOnFolderRemove) then
         FOnFolderRemove(Self);
  end; {case DispID}
end;

function TFolders.Get_Application: _Application;
begin
    Result := DefaultInterface.Application;
end;

function TFolders.Get_Class_: OlObjectClass;
begin
    Result := DefaultInterface.Class_;
end;

function TFolders.Get_Session: _NameSpace;
begin
    Result := DefaultInterface.Session;
end;

function TFolders.Get_Parent: IDispatch;
begin
    Result := DefaultInterface.Parent;
end;

function TFolders.Get_Count: Integer;
begin
    Result := DefaultInterface.Count;
end;

function TFolders.Get_RawTable: IUnknown;
begin
    Result := DefaultInterface.RawTable;
end;

function TFolders.Item(Index: OleVariant): MAPIFolder;
begin
  Result := DefaultInterface.Item(Index);
end;

function TFolders.Add(const Name: WideString): MAPIFolder;
begin
  Result := DefaultInterface.Add(Name, EmptyParam);
end;

function TFolders.Add(const Name: WideString; Type_: OleVariant): MAPIFolder;
begin
  Result := DefaultInterface.Add(Name, Type_);
end;

function TFolders.GetFirst: MAPIFolder;
begin
  Result := DefaultInterface.GetFirst;
end;

function TFolders.GetLast: MAPIFolder;
begin
  Result := DefaultInterface.GetLast;
end;

function TFolders.GetNext: MAPIFolder;
begin
  Result := DefaultInterface.GetNext;
end;

function TFolders.GetPrevious: MAPIFolder;
begin
  Result := DefaultInterface.GetPrevious;
end;

procedure TFolders.Remove(Index: Integer);
begin
  DefaultInterface.Remove(Index);
end;

{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
constructor TFoldersProperties.Create(AServer: TFolders);
begin
  inherited Create;
  FServer := AServer;
end;

function TFoldersProperties.GetDefaultInterface: _Folders;
begin
  Result := FServer.DefaultInterface;
end;

function TFoldersProperties.Get_Application: _Application;
begin
    Result := DefaultInterface.Application;
end;

function TFoldersProperties.Get_Class_: OlObjectClass;
begin
    Result := DefaultInterface.Class_;
end;

function TFoldersProperties.Get_Session: _NameSpace;
begin
    Result := DefaultInterface.Session;
end;

function TFoldersProperties.Get_Parent: IDispatch;
begin
    Result := DefaultInterface.Parent;
end;

function TFoldersProperties.Get_Count: Integer;
begin
    Result := DefaultInterface.Count;
end;

function TFoldersProperties.Get_RawTable: IUnknown;
begin
    Result := DefaultInterface.RawTable;
end;

{$ENDIF}

class function CoItems.Create: _Items;
begin
  Result := CreateComObject(CLASS_Items) as _Items;
end;

class function CoItems.CreateRemote(const MachineName: string): _Items;
begin
  Result := CreateRemoteComObject(MachineName, CLASS_Items) as _Items;
end;

procedure TItems.InitServerData;
const
  CServerData: TServerData = (
    ClassID:   '{00063052-0000-0000-C000-000000000046}';
    IntfIID:   '{00063041-0000-0000-C000-000000000046}';
    EventIID:  '{00063077-0000-0000-C000-000000000046}';
    LicenseKey: nil;
    Version: 500);
begin
  ServerData := @CServerData;
end;

procedure TItems.Connect;
var
  punk: IUnknown;
begin
  if FIntf = nil then
  begin
    punk := GetServer;
    ConnectEvents(punk);
    Fintf:= punk as _Items;
  end;
end;

procedure TItems.ConnectTo(svrIntf: _Items);
begin
  Disconnect;
  FIntf := svrIntf;
  ConnectEvents(FIntf);
end;

procedure TItems.DisConnect;
begin
  if Fintf <> nil then
  begin
    DisconnectEvents(FIntf);
    FIntf := nil;
  end;
end;

function TItems.GetDefaultInterface: _Items;
begin
  if FIntf = nil then
    Connect;
  Assert(FIntf <> nil, 'DefaultInterface is NULL. Component is not connected to Server. You must call ''Connect'' or ''ConnectTo'' before this operation');
  Result := FIntf;
end;

constructor TItems.Create(AOwner: TComponent);
begin
  inherited Create(AOwner);
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  FProps := TItemsProperties.Create(Self);
{$ENDIF}
end;

destructor TItems.Destroy;
begin
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  FProps.Free;
{$ENDIF}
  inherited Destroy;
end;

{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
function TItems.GetServerProperties: TItemsProperties;
begin
  Result := FProps;
end;
{$ENDIF}

procedure TItems.InvokeEvent(DispID: TDispID; var Params: TVariantArray);
begin
  case DispID of
    -1: Exit;  // DISPID_UNKNOWN
    61441: if Assigned(FOnItemAdd) then
         FOnItemAdd(Self, Params[0] {const IDispatch});
    61442: if Assigned(FOnItemChange) then
         FOnItemChange(Self, Params[0] {const IDispatch});
    61443: if Assigned(FOnItemRemove) then
         FOnItemRemove(Self);
  end; {case DispID}
end;

function TItems.Get_Application: _Application;
begin
    Result := DefaultInterface.Application;
end;

function TItems.Get_Class_: OlObjectClass;
begin
    Result := DefaultInterface.Class_;
end;

function TItems.Get_Session: _NameSpace;
begin
    Result := DefaultInterface.Session;
end;

function TItems.Get_Parent: IDispatch;
begin
    Result := DefaultInterface.Parent;
end;

function TItems.Get_Count: Integer;
begin
    Result := DefaultInterface.Count;
end;

function TItems.Get_RawTable: IUnknown;
begin
    Result := DefaultInterface.RawTable;
end;

function TItems.Get_IncludeRecurrences: WordBool;
begin
    Result := DefaultInterface.IncludeRecurrences;
end;

procedure TItems.Set_IncludeRecurrences(IncludeRecurrences: WordBool);
begin
  DefaultInterface.Set_IncludeRecurrences(IncludeRecurrences);
end;

function TItems.Item(Index: OleVariant): IDispatch;
begin
  Result := DefaultInterface.Item(Index);
end;

function TItems.Add: IDispatch;
begin
  Result := DefaultInterface.Add(EmptyParam);
end;

function TItems.Add(Type_: OleVariant): IDispatch;
begin
  Result := DefaultInterface.Add(Type_);
end;

function TItems.Find(const Filter: WideString): IDispatch;
begin
  Result := DefaultInterface.Find(Filter);
end;

function TItems.FindNext: IDispatch;
begin
  Result := DefaultInterface.FindNext;
end;

function TItems.GetFirst: IDispatch;
begin
  Result := DefaultInterface.GetFirst;
end;

function TItems.GetLast: IDispatch;
begin
  Result := DefaultInterface.GetLast;
end;

function TItems.GetNext: IDispatch;
begin
  Result := DefaultInterface.GetNext;
end;

function TItems.GetPrevious: IDispatch;
begin
  Result := DefaultInterface.GetPrevious;
end;

procedure TItems.Remove(Index: Integer);
begin
  DefaultInterface.Remove(Index);
end;

procedure TItems.ResetColumns;
begin
  DefaultInterface.ResetColumns;
end;

function TItems.Restrict(const Filter: WideString): _Items;
begin
  Result := DefaultInterface.Restrict(Filter);
end;

procedure TItems.SetColumns(const Columns: WideString);
begin
  DefaultInterface.SetColumns(Columns);
end;

procedure TItems.Sort(const Property_: WideString);
begin
  DefaultInterface.Sort(Property_, EmptyParam);
end;

procedure TItems.Sort(const Property_: WideString; Descending: OleVariant);
begin
  DefaultInterface.Sort(Property_, Descending);
end;

{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
constructor TItemsProperties.Create(AServer: TItems);
begin
  inherited Create;
  FServer := AServer;
end;

function TItemsProperties.GetDefaultInterface: _Items;
begin
  Result := FServer.DefaultInterface;
end;

function TItemsProperties.Get_Application: _Application;
begin
    Result := DefaultInterface.Application;
end;

function TItemsProperties.Get_Class_: OlObjectClass;
begin
    Result := DefaultInterface.Class_;
end;

function TItemsProperties.Get_Session: _NameSpace;
begin
    Result := DefaultInterface.Session;
end;

function TItemsProperties.Get_Parent: IDispatch;
begin
    Result := DefaultInterface.Parent;
end;

function TItemsProperties.Get_Count: Integer;
begin
    Result := DefaultInterface.Count;
end;

function TItemsProperties.Get_RawTable: IUnknown;
begin
    Result := DefaultInterface.RawTable;
end;

function TItemsProperties.Get_IncludeRecurrences: WordBool;
begin
    Result := DefaultInterface.IncludeRecurrences;
end;

procedure TItemsProperties.Set_IncludeRecurrences(IncludeRecurrences: WordBool);
begin
  DefaultInterface.Set_IncludeRecurrences(IncludeRecurrences);
end;

{$ENDIF}

class function CoJournalItem.Create: _JournalItem;
begin
  Result := CreateComObject(CLASS_JournalItem) as _JournalItem;
end;

class function CoJournalItem.CreateRemote(const MachineName: string): _JournalItem;
begin
  Result := CreateRemoteComObject(MachineName, CLASS_JournalItem) as _JournalItem;
end;

procedure TJournalItem.InitServerData;
const
  CServerData: TServerData = (
    ClassID:   '{00061037-0000-0000-C000-000000000046}';
    IntfIID:   '{00063022-0000-0000-C000-000000000046}';
    EventIID:  '{0006302B-0000-0000-C000-000000000046}';
    LicenseKey: nil;
    Version: 500);
begin
  ServerData := @CServerData;
end;

procedure TJournalItem.Connect;
var
  punk: IUnknown;
begin
  if FIntf = nil then
  begin
    punk := GetServer;
    ConnectEvents(punk);
    Fintf:= punk as _JournalItem;
  end;
end;

procedure TJournalItem.ConnectTo(svrIntf: _JournalItem);
begin
  Disconnect;
  FIntf := svrIntf;
  ConnectEvents(FIntf);
end;

procedure TJournalItem.DisConnect;
begin
  if Fintf <> nil then
  begin
    DisconnectEvents(FIntf);
    FIntf := nil;
  end;
end;

function TJournalItem.GetDefaultInterface: _JournalItem;
begin
  if FIntf = nil then
    Connect;
  Assert(FIntf <> nil, 'DefaultInterface is NULL. Component is not connected to Server. You must call ''Connect'' or ''ConnectTo'' before this operation');
  Result := FIntf;
end;

constructor TJournalItem.Create(AOwner: TComponent);
begin
  inherited Create(AOwner);
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  FProps := TJournalItemProperties.Create(Self);
{$ENDIF}
end;

destructor TJournalItem.Destroy;
begin
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  FProps.Free;
{$ENDIF}
  inherited Destroy;
end;

{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
function TJournalItem.GetServerProperties: TJournalItemProperties;
begin
  Result := FProps;
end;
{$ENDIF}

procedure TJournalItem.InvokeEvent(DispID: TDispID; var Params: TVariantArray);
begin
  case DispID of
    -1: Exit;  // DISPID_UNKNOWN
    61443: if Assigned(FOnOpen) then
         FOnOpen(Self, WordBool((TVarData(Params[0]).VPointer)^) {var WordBool});
    61446: if Assigned(FOnCustomAction) then
         FOnCustomAction(Self,
                         Params[0] {const IDispatch},
                         Params[1] {const IDispatch},
                         WordBool((TVarData(Params[2]).VPointer)^) {var WordBool});
    61448: if Assigned(FOnCustomPropertyChange) then
         FOnCustomPropertyChange(Self, Params[0] {const WideString});
    62568: if Assigned(FOnForward) then
         FOnForward(Self,
                    Params[0] {const IDispatch},
                    WordBool((TVarData(Params[1]).VPointer)^) {var WordBool});
    61444: if Assigned(FOnClose) then
         FOnClose(Self, WordBool((TVarData(Params[0]).VPointer)^) {var WordBool});
    61449: if Assigned(FOnPropertyChange) then
         FOnPropertyChange(Self, Params[0] {const WideString});
    61441: if Assigned(FOnRead) then
         FOnRead(Self);
    62566: if Assigned(FOnReply) then
         FOnReply(Self,
                  Params[0] {const IDispatch},
                  WordBool((TVarData(Params[1]).VPointer)^) {var WordBool});
    62567: if Assigned(FOnReplyAll) then
         FOnReplyAll(Self,
                     Params[0] {const IDispatch},
                     WordBool((TVarData(Params[1]).VPointer)^) {var WordBool});
    61445: if Assigned(FOnSend) then
         FOnSend(Self, WordBool((TVarData(Params[0]).VPointer)^) {var WordBool});
    61442: if Assigned(FOnWrite) then
         FOnWrite(Self, WordBool((TVarData(Params[0]).VPointer)^) {var WordBool});
    61450: if Assigned(FOnBeforeCheckNames) then
         FOnBeforeCheckNames(Self, WordBool((TVarData(Params[0]).VPointer)^) {var WordBool});
    61451: if Assigned(FOnAttachmentAdd) then
         FOnAttachmentAdd(Self, IUnknown(TVarData(Params[0]).VPointer) as Attachment {const Attachment});
    61452: if Assigned(FOnAttachmentRead) then
         FOnAttachmentRead(Self, IUnknown(TVarData(Params[0]).VPointer) as Attachment {const Attachment});
    61453: if Assigned(FOnBeforeAttachmentSave) then
         FOnBeforeAttachmentSave(Self,
                                 IUnknown(TVarData(Params[0]).VPointer) as Attachment {const Attachment},
                                 WordBool((TVarData(Params[1]).VPointer)^) {var WordBool});
    64117: if Assigned(FOnBeforeDelete) then
         FOnBeforeDelete(Self,
                         Params[0] {const IDispatch},
                         WordBool((TVarData(Params[1]).VPointer)^) {var WordBool});
  end; {case DispID}
end;

function TJournalItem.Get_Application: _Application;
begin
    Result := DefaultInterface.Application;
end;

function TJournalItem.Get_Class_: OlObjectClass;
begin
    Result := DefaultInterface.Class_;
end;

function TJournalItem.Get_Session: _NameSpace;
begin
    Result := DefaultInterface.Session;
end;

function TJournalItem.Get_Parent: IDispatch;
begin
    Result := DefaultInterface.Parent;
end;

function TJournalItem.Get_Actions: Actions;
begin
    Result := DefaultInterface.Actions;
end;

function TJournalItem.Get_Attachments: Attachments;
begin
    Result := DefaultInterface.Attachments;
end;

function TJournalItem.Get_BillingInformation: WideString;
begin
    Result := DefaultInterface.BillingInformation;
end;

procedure TJournalItem.Set_BillingInformation(const BillingInformation: WideString);
  { Warning: The property BillingInformation has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.BillingInformation := BillingInformation;
end;

function TJournalItem.Get_Body: WideString;
begin
    Result := DefaultInterface.Body;
end;

procedure TJournalItem.Set_Body(const Body: WideString);
  { Warning: The property Body has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Body := Body;
end;

function TJournalItem.Get_Categories: WideString;
begin
    Result := DefaultInterface.Categories;
end;

procedure TJournalItem.Set_Categories(const Categories: WideString);
  { Warning: The property Categories has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Categories := Categories;
end;

function TJournalItem.Get_Companies: WideString;
begin
    Result := DefaultInterface.Companies;
end;

procedure TJournalItem.Set_Companies(const Companies: WideString);
  { Warning: The property Companies has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Companies := Companies;
end;

function TJournalItem.Get_ConversationIndex: WideString;
begin
    Result := DefaultInterface.ConversationIndex;
end;

function TJournalItem.Get_ConversationTopic: WideString;
begin
    Result := DefaultInterface.ConversationTopic;
end;

function TJournalItem.Get_CreationTime: TDateTime;
begin
    Result := DefaultInterface.CreationTime;
end;

function TJournalItem.Get_EntryID: WideString;
begin
    Result := DefaultInterface.EntryID;
end;

function TJournalItem.Get_FormDescription: FormDescription;
begin
    Result := DefaultInterface.FormDescription;
end;

function TJournalItem.Get_GetInspector: _Inspector;
begin
    Result := DefaultInterface.GetInspector;
end;

function TJournalItem.Get_Importance: OlImportance;
begin
    Result := DefaultInterface.Importance;
end;

procedure TJournalItem.Set_Importance(Importance: OlImportance);
begin
  DefaultInterface.Set_Importance(Importance);
end;

function TJournalItem.Get_LastModificationTime: TDateTime;
begin
    Result := DefaultInterface.LastModificationTime;
end;

function TJournalItem.Get_MAPIOBJECT: IUnknown;
begin
    Result := DefaultInterface.MAPIOBJECT;
end;

function TJournalItem.Get_MessageClass: WideString;
begin
    Result := DefaultInterface.MessageClass;
end;

procedure TJournalItem.Set_MessageClass(const MessageClass: WideString);
  { Warning: The property MessageClass has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.MessageClass := MessageClass;
end;

function TJournalItem.Get_Mileage: WideString;
begin
    Result := DefaultInterface.Mileage;
end;

procedure TJournalItem.Set_Mileage(const Mileage: WideString);
  { Warning: The property Mileage has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Mileage := Mileage;
end;

function TJournalItem.Get_NoAging: WordBool;
begin
    Result := DefaultInterface.NoAging;
end;

procedure TJournalItem.Set_NoAging(NoAging: WordBool);
begin
  DefaultInterface.Set_NoAging(NoAging);
end;

function TJournalItem.Get_OutlookInternalVersion: Integer;
begin
    Result := DefaultInterface.OutlookInternalVersion;
end;

function TJournalItem.Get_OutlookVersion: WideString;
begin
    Result := DefaultInterface.OutlookVersion;
end;

function TJournalItem.Get_Saved: WordBool;
begin
    Result := DefaultInterface.Saved;
end;

function TJournalItem.Get_Sensitivity: OlSensitivity;
begin
    Result := DefaultInterface.Sensitivity;
end;

procedure TJournalItem.Set_Sensitivity(Sensitivity: OlSensitivity);
begin
  DefaultInterface.Set_Sensitivity(Sensitivity);
end;

function TJournalItem.Get_Size: Integer;
begin
    Result := DefaultInterface.Size;
end;

function TJournalItem.Get_Subject: WideString;
begin
    Result := DefaultInterface.Subject;
end;

procedure TJournalItem.Set_Subject(const Subject: WideString);
  { Warning: The property Subject has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Subject := Subject;
end;

function TJournalItem.Get_UnRead: WordBool;
begin
    Result := DefaultInterface.UnRead;
end;

procedure TJournalItem.Set_UnRead(UnRead: WordBool);
begin
  DefaultInterface.Set_UnRead(UnRead);
end;

function TJournalItem.Get_UserProperties: UserProperties;
begin
    Result := DefaultInterface.UserProperties;
end;

function TJournalItem.Get_ContactNames: WideString;
begin
    Result := DefaultInterface.ContactNames;
end;

procedure TJournalItem.Set_ContactNames(const ContactNames: WideString);
  { Warning: The property ContactNames has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.ContactNames := ContactNames;
end;

function TJournalItem.Get_DocPosted: WordBool;
begin
    Result := DefaultInterface.DocPosted;
end;

procedure TJournalItem.Set_DocPosted(DocPosted: WordBool);
begin
  DefaultInterface.Set_DocPosted(DocPosted);
end;

function TJournalItem.Get_DocPrinted: WordBool;
begin
    Result := DefaultInterface.DocPrinted;
end;

procedure TJournalItem.Set_DocPrinted(DocPrinted: WordBool);
begin
  DefaultInterface.Set_DocPrinted(DocPrinted);
end;

function TJournalItem.Get_DocRouted: WordBool;
begin
    Result := DefaultInterface.DocRouted;
end;

procedure TJournalItem.Set_DocRouted(DocRouted: WordBool);
begin
  DefaultInterface.Set_DocRouted(DocRouted);
end;

function TJournalItem.Get_DocSaved: WordBool;
begin
    Result := DefaultInterface.DocSaved;
end;

procedure TJournalItem.Set_DocSaved(DocSaved: WordBool);
begin
  DefaultInterface.Set_DocSaved(DocSaved);
end;

function TJournalItem.Get_Duration: Integer;
begin
    Result := DefaultInterface.Duration;
end;

procedure TJournalItem.Set_Duration(Duration: Integer);
begin
  DefaultInterface.Set_Duration(Duration);
end;

function TJournalItem.Get_End_: TDateTime;
begin
    Result := DefaultInterface.End_;
end;

procedure TJournalItem.Set_End_(End_: TDateTime);
begin
  DefaultInterface.Set_End_(End_);
end;

function TJournalItem.Get_type_: WideString;
begin
    Result := DefaultInterface.type_;
end;

procedure TJournalItem.Set_type_(const Type_: WideString);
  { Warning: The property type_ has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.type_ := Type_;
end;

function TJournalItem.Get_Recipients: Recipients;
begin
    Result := DefaultInterface.Recipients;
end;

function TJournalItem.Get_Start: TDateTime;
begin
    Result := DefaultInterface.Start;
end;

procedure TJournalItem.Set_Start(Start: TDateTime);
begin
  DefaultInterface.Set_Start(Start);
end;

function TJournalItem.Get_Links: Links;
begin
    Result := DefaultInterface.Links;
end;

function TJournalItem.Get_DownloadState: OlDownloadState;
begin
    Result := DefaultInterface.DownloadState;
end;

function TJournalItem.Get_ItemProperties: ItemProperties;
begin
    Result := DefaultInterface.ItemProperties;
end;

function TJournalItem.Get_MarkForDownload: OlRemoteStatus;
begin
    Result := DefaultInterface.MarkForDownload;
end;

procedure TJournalItem.Set_MarkForDownload(MarkForDownload: OlRemoteStatus);
begin
  DefaultInterface.Set_MarkForDownload(MarkForDownload);
end;

function TJournalItem.Get_IsConflict: WordBool;
begin
    Result := DefaultInterface.IsConflict;
end;

procedure TJournalItem.Close(SaveMode: OlInspectorClose);
begin
  DefaultInterface.Close(SaveMode);
end;

function TJournalItem.Copy: IDispatch;
begin
  Result := DefaultInterface.Copy;
end;

procedure TJournalItem.Delete;
begin
  DefaultInterface.Delete;
end;

procedure TJournalItem.Display;
begin
  DefaultInterface.Display(EmptyParam);
end;

procedure TJournalItem.Display(Modal: OleVariant);
begin
  DefaultInterface.Display(Modal);
end;

function TJournalItem.Move(const DestFldr: MAPIFolder): IDispatch;
begin
  Result := DefaultInterface.Move(DestFldr);
end;

procedure TJournalItem.PrintOut;
begin
  DefaultInterface.PrintOut;
end;

procedure TJournalItem.Save;
begin
  DefaultInterface.Save;
end;

procedure TJournalItem.SaveAs(const Path: WideString);
begin
  DefaultInterface.SaveAs(Path, EmptyParam);
end;

procedure TJournalItem.SaveAs(const Path: WideString; Type_: OleVariant);
begin
  DefaultInterface.SaveAs(Path, Type_);
end;

function TJournalItem.Forward: MailItem;
begin
  Result := DefaultInterface.Forward;
end;

function TJournalItem.Reply: MailItem;
begin
  Result := DefaultInterface.Reply;
end;

function TJournalItem.ReplyAll: MailItem;
begin
  Result := DefaultInterface.ReplyAll;
end;

procedure TJournalItem.StartTimer;
begin
  DefaultInterface.StartTimer;
end;

procedure TJournalItem.StopTimer;
begin
  DefaultInterface.StopTimer;
end;

procedure TJournalItem.ShowCategoriesDialog;
begin
  DefaultInterface.ShowCategoriesDialog;
end;

{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
constructor TJournalItemProperties.Create(AServer: TJournalItem);
begin
  inherited Create;
  FServer := AServer;
end;

function TJournalItemProperties.GetDefaultInterface: _JournalItem;
begin
  Result := FServer.DefaultInterface;
end;

function TJournalItemProperties.Get_Application: _Application;
begin
    Result := DefaultInterface.Application;
end;

function TJournalItemProperties.Get_Class_: OlObjectClass;
begin
    Result := DefaultInterface.Class_;
end;

function TJournalItemProperties.Get_Session: _NameSpace;
begin
    Result := DefaultInterface.Session;
end;

function TJournalItemProperties.Get_Parent: IDispatch;
begin
    Result := DefaultInterface.Parent;
end;

function TJournalItemProperties.Get_Actions: Actions;
begin
    Result := DefaultInterface.Actions;
end;

function TJournalItemProperties.Get_Attachments: Attachments;
begin
    Result := DefaultInterface.Attachments;
end;

function TJournalItemProperties.Get_BillingInformation: WideString;
begin
    Result := DefaultInterface.BillingInformation;
end;

procedure TJournalItemProperties.Set_BillingInformation(const BillingInformation: WideString);
  { Warning: The property BillingInformation has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.BillingInformation := BillingInformation;
end;

function TJournalItemProperties.Get_Body: WideString;
begin
    Result := DefaultInterface.Body;
end;

procedure TJournalItemProperties.Set_Body(const Body: WideString);
  { Warning: The property Body has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Body := Body;
end;

function TJournalItemProperties.Get_Categories: WideString;
begin
    Result := DefaultInterface.Categories;
end;

procedure TJournalItemProperties.Set_Categories(const Categories: WideString);
  { Warning: The property Categories has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Categories := Categories;
end;

function TJournalItemProperties.Get_Companies: WideString;
begin
    Result := DefaultInterface.Companies;
end;

procedure TJournalItemProperties.Set_Companies(const Companies: WideString);
  { Warning: The property Companies has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Companies := Companies;
end;

function TJournalItemProperties.Get_ConversationIndex: WideString;
begin
    Result := DefaultInterface.ConversationIndex;
end;

function TJournalItemProperties.Get_ConversationTopic: WideString;
begin
    Result := DefaultInterface.ConversationTopic;
end;

function TJournalItemProperties.Get_CreationTime: TDateTime;
begin
    Result := DefaultInterface.CreationTime;
end;

function TJournalItemProperties.Get_EntryID: WideString;
begin
    Result := DefaultInterface.EntryID;
end;

function TJournalItemProperties.Get_FormDescription: FormDescription;
begin
    Result := DefaultInterface.FormDescription;
end;

function TJournalItemProperties.Get_GetInspector: _Inspector;
begin
    Result := DefaultInterface.GetInspector;
end;

function TJournalItemProperties.Get_Importance: OlImportance;
begin
    Result := DefaultInterface.Importance;
end;

procedure TJournalItemProperties.Set_Importance(Importance: OlImportance);
begin
  DefaultInterface.Set_Importance(Importance);
end;

function TJournalItemProperties.Get_LastModificationTime: TDateTime;
begin
    Result := DefaultInterface.LastModificationTime;
end;

function TJournalItemProperties.Get_MAPIOBJECT: IUnknown;
begin
    Result := DefaultInterface.MAPIOBJECT;
end;

function TJournalItemProperties.Get_MessageClass: WideString;
begin
    Result := DefaultInterface.MessageClass;
end;

procedure TJournalItemProperties.Set_MessageClass(const MessageClass: WideString);
  { Warning: The property MessageClass has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.MessageClass := MessageClass;
end;

function TJournalItemProperties.Get_Mileage: WideString;
begin
    Result := DefaultInterface.Mileage;
end;

procedure TJournalItemProperties.Set_Mileage(const Mileage: WideString);
  { Warning: The property Mileage has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Mileage := Mileage;
end;

function TJournalItemProperties.Get_NoAging: WordBool;
begin
    Result := DefaultInterface.NoAging;
end;

procedure TJournalItemProperties.Set_NoAging(NoAging: WordBool);
begin
  DefaultInterface.Set_NoAging(NoAging);
end;

function TJournalItemProperties.Get_OutlookInternalVersion: Integer;
begin
    Result := DefaultInterface.OutlookInternalVersion;
end;

function TJournalItemProperties.Get_OutlookVersion: WideString;
begin
    Result := DefaultInterface.OutlookVersion;
end;

function TJournalItemProperties.Get_Saved: WordBool;
begin
    Result := DefaultInterface.Saved;
end;

function TJournalItemProperties.Get_Sensitivity: OlSensitivity;
begin
    Result := DefaultInterface.Sensitivity;
end;

procedure TJournalItemProperties.Set_Sensitivity(Sensitivity: OlSensitivity);
begin
  DefaultInterface.Set_Sensitivity(Sensitivity);
end;

function TJournalItemProperties.Get_Size: Integer;
begin
    Result := DefaultInterface.Size;
end;

function TJournalItemProperties.Get_Subject: WideString;
begin
    Result := DefaultInterface.Subject;
end;

procedure TJournalItemProperties.Set_Subject(const Subject: WideString);
  { Warning: The property Subject has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Subject := Subject;
end;

function TJournalItemProperties.Get_UnRead: WordBool;
begin
    Result := DefaultInterface.UnRead;
end;

procedure TJournalItemProperties.Set_UnRead(UnRead: WordBool);
begin
  DefaultInterface.Set_UnRead(UnRead);
end;

function TJournalItemProperties.Get_UserProperties: UserProperties;
begin
    Result := DefaultInterface.UserProperties;
end;

function TJournalItemProperties.Get_ContactNames: WideString;
begin
    Result := DefaultInterface.ContactNames;
end;

procedure TJournalItemProperties.Set_ContactNames(const ContactNames: WideString);
  { Warning: The property ContactNames has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.ContactNames := ContactNames;
end;

function TJournalItemProperties.Get_DocPosted: WordBool;
begin
    Result := DefaultInterface.DocPosted;
end;

procedure TJournalItemProperties.Set_DocPosted(DocPosted: WordBool);
begin
  DefaultInterface.Set_DocPosted(DocPosted);
end;

function TJournalItemProperties.Get_DocPrinted: WordBool;
begin
    Result := DefaultInterface.DocPrinted;
end;

procedure TJournalItemProperties.Set_DocPrinted(DocPrinted: WordBool);
begin
  DefaultInterface.Set_DocPrinted(DocPrinted);
end;

function TJournalItemProperties.Get_DocRouted: WordBool;
begin
    Result := DefaultInterface.DocRouted;
end;

procedure TJournalItemProperties.Set_DocRouted(DocRouted: WordBool);
begin
  DefaultInterface.Set_DocRouted(DocRouted);
end;

function TJournalItemProperties.Get_DocSaved: WordBool;
begin
    Result := DefaultInterface.DocSaved;
end;

procedure TJournalItemProperties.Set_DocSaved(DocSaved: WordBool);
begin
  DefaultInterface.Set_DocSaved(DocSaved);
end;

function TJournalItemProperties.Get_Duration: Integer;
begin
    Result := DefaultInterface.Duration;
end;

procedure TJournalItemProperties.Set_Duration(Duration: Integer);
begin
  DefaultInterface.Set_Duration(Duration);
end;

function TJournalItemProperties.Get_End_: TDateTime;
begin
    Result := DefaultInterface.End_;
end;

procedure TJournalItemProperties.Set_End_(End_: TDateTime);
begin
  DefaultInterface.Set_End_(End_);
end;

function TJournalItemProperties.Get_type_: WideString;
begin
    Result := DefaultInterface.type_;
end;

procedure TJournalItemProperties.Set_type_(const Type_: WideString);
  { Warning: The property type_ has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.type_ := Type_;
end;

function TJournalItemProperties.Get_Recipients: Recipients;
begin
    Result := DefaultInterface.Recipients;
end;

function TJournalItemProperties.Get_Start: TDateTime;
begin
    Result := DefaultInterface.Start;
end;

procedure TJournalItemProperties.Set_Start(Start: TDateTime);
begin
  DefaultInterface.Set_Start(Start);
end;

function TJournalItemProperties.Get_Links: Links;
begin
    Result := DefaultInterface.Links;
end;

function TJournalItemProperties.Get_DownloadState: OlDownloadState;
begin
    Result := DefaultInterface.DownloadState;
end;

function TJournalItemProperties.Get_ItemProperties: ItemProperties;
begin
    Result := DefaultInterface.ItemProperties;
end;

function TJournalItemProperties.Get_MarkForDownload: OlRemoteStatus;
begin
    Result := DefaultInterface.MarkForDownload;
end;

procedure TJournalItemProperties.Set_MarkForDownload(MarkForDownload: OlRemoteStatus);
begin
  DefaultInterface.Set_MarkForDownload(MarkForDownload);
end;

function TJournalItemProperties.Get_IsConflict: WordBool;
begin
    Result := DefaultInterface.IsConflict;
end;

{$ENDIF}

class function CoNameSpace.Create: _NameSpace;
begin
  Result := CreateComObject(CLASS_NameSpace) as _NameSpace;
end;

class function CoNameSpace.CreateRemote(const MachineName: string): _NameSpace;
begin
  Result := CreateRemoteComObject(MachineName, CLASS_NameSpace) as _NameSpace;
end;

procedure TNameSpace.InitServerData;
const
  CServerData: TServerData = (
    ClassID:   '{0006308B-0000-0000-C000-000000000046}';
    IntfIID:   '{00063002-0000-0000-C000-000000000046}';
    EventIID:  '{0006308C-0000-0000-C000-000000000046}';
    LicenseKey: nil;
    Version: 500);
begin
  ServerData := @CServerData;
end;

procedure TNameSpace.Connect;
var
  punk: IUnknown;
begin
  if FIntf = nil then
  begin
    punk := GetServer;
    ConnectEvents(punk);
    Fintf:= punk as _NameSpace;
  end;
end;

procedure TNameSpace.ConnectTo(svrIntf: _NameSpace);
begin
  Disconnect;
  FIntf := svrIntf;
  ConnectEvents(FIntf);
end;

procedure TNameSpace.DisConnect;
begin
  if Fintf <> nil then
  begin
    DisconnectEvents(FIntf);
    FIntf := nil;
  end;
end;

function TNameSpace.GetDefaultInterface: _NameSpace;
begin
  if FIntf = nil then
    Connect;
  Assert(FIntf <> nil, 'DefaultInterface is NULL. Component is not connected to Server. You must call ''Connect'' or ''ConnectTo'' before this operation');
  Result := FIntf;
end;

constructor TNameSpace.Create(AOwner: TComponent);
begin
  inherited Create(AOwner);
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  FProps := TNameSpaceProperties.Create(Self);
{$ENDIF}
end;

destructor TNameSpace.Destroy;
begin
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  FProps.Free;
{$ENDIF}
  inherited Destroy;
end;

{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
function TNameSpace.GetServerProperties: TNameSpaceProperties;
begin
  Result := FProps;
end;
{$ENDIF}

procedure TNameSpace.InvokeEvent(DispID: TDispID; var Params: TVariantArray);
begin
  case DispID of
    -1: Exit;  // DISPID_UNKNOWN
    61445: if Assigned(FOnOptionsPagesAdd) then
         FOnOptionsPagesAdd(Self,
                            IUnknown(TVarData(Params[0]).VPointer) as PropertyPages {const PropertyPages},
                            IUnknown(TVarData(Params[1]).VPointer) as MAPIFolder {const MAPIFolder});
  end; {case DispID}
end;

function TNameSpace.Get_Application: _Application;
begin
    Result := DefaultInterface.Application;
end;

function TNameSpace.Get_Class_: OlObjectClass;
begin
    Result := DefaultInterface.Class_;
end;

function TNameSpace.Get_Session: _NameSpace;
begin
    Result := DefaultInterface.Session;
end;

function TNameSpace.Get_Parent: IDispatch;
begin
    Result := DefaultInterface.Parent;
end;

function TNameSpace.Get_CurrentUser: Recipient;
begin
    Result := DefaultInterface.CurrentUser;
end;

function TNameSpace.Get_Folders: _Folders;
begin
    Result := DefaultInterface.Folders;
end;

function TNameSpace.Get_type_: WideString;
begin
    Result := DefaultInterface.type_;
end;

function TNameSpace.Get_AddressLists: AddressLists;
begin
    Result := DefaultInterface.AddressLists;
end;

function TNameSpace.Get_SyncObjects: SyncObjects;
begin
    Result := DefaultInterface.SyncObjects;
end;

function TNameSpace.Get_Offline: WordBool;
begin
    Result := DefaultInterface.Offline;
end;

function TNameSpace.Get_MAPIOBJECT: IUnknown;
begin
    Result := DefaultInterface.MAPIOBJECT;
end;

function TNameSpace.CreateRecipient(const RecipientName: WideString): Recipient;
begin
  Result := DefaultInterface.CreateRecipient(RecipientName);
end;

function TNameSpace.GetDefaultFolder(FolderType: OlDefaultFolders): MAPIFolder;
begin
  Result := DefaultInterface.GetDefaultFolder(FolderType);
end;

function TNameSpace.GetFolderFromID(const EntryIDFolder: WideString): MAPIFolder;
begin
  Result := DefaultInterface.GetFolderFromID(EntryIDFolder, EmptyParam);
end;

function TNameSpace.GetFolderFromID(const EntryIDFolder: WideString; EntryIDStore: OleVariant): MAPIFolder;
begin
  Result := DefaultInterface.GetFolderFromID(EntryIDFolder, EntryIDStore);
end;

function TNameSpace.GetItemFromID(const EntryIDItem: WideString): IDispatch;
begin
  Result := DefaultInterface.GetItemFromID(EntryIDItem, EmptyParam);
end;

function TNameSpace.GetItemFromID(const EntryIDItem: WideString; EntryIDStore: OleVariant): IDispatch;
begin
  Result := DefaultInterface.GetItemFromID(EntryIDItem, EntryIDStore);
end;

function TNameSpace.GetRecipientFromID(const EntryID: WideString): Recipient;
begin
  Result := DefaultInterface.GetRecipientFromID(EntryID);
end;

function TNameSpace.GetSharedDefaultFolder(const Recipient: Recipient; FolderType: OlDefaultFolders): MAPIFolder;
begin
  Result := DefaultInterface.GetSharedDefaultFolder(Recipient, FolderType);
end;

procedure TNameSpace.Logoff;
begin
  DefaultInterface.Logoff;
end;

procedure TNameSpace.Logon;
begin
  DefaultInterface.Logon(EmptyParam, EmptyParam, EmptyParam, EmptyParam);
end;

procedure TNameSpace.Logon(Profile: OleVariant);
begin
  DefaultInterface.Logon(Profile, EmptyParam, EmptyParam, EmptyParam);
end;

procedure TNameSpace.Logon(Profile: OleVariant; Password: OleVariant);
begin
  DefaultInterface.Logon(Profile, Password, EmptyParam, EmptyParam);
end;

procedure TNameSpace.Logon(Profile: OleVariant; Password: OleVariant; ShowDialog: OleVariant);
begin
  DefaultInterface.Logon(Profile, Password, ShowDialog, EmptyParam);
end;

procedure TNameSpace.Logon(Profile: OleVariant; Password: OleVariant; ShowDialog: OleVariant; 
                           NewSession: OleVariant);
begin
  DefaultInterface.Logon(Profile, Password, ShowDialog, NewSession);
end;

function TNameSpace.PickFolder: MAPIFolder;
begin
  Result := DefaultInterface.PickFolder;
end;

procedure TNameSpace.RefreshRemoteHeaders;
begin
  DefaultInterface.RefreshRemoteHeaders;
end;

procedure TNameSpace.AddStore(Store: OleVariant);
begin
  DefaultInterface.AddStore(Store);
end;

procedure TNameSpace.RemoveStore(const Folder: MAPIFolder);
begin
  DefaultInterface.RemoveStore(Folder);
end;

procedure TNameSpace.Dial;
begin
  DefaultInterface.Dial(EmptyParam);
end;

procedure TNameSpace.Dial(ContactItem: OleVariant);
begin
  DefaultInterface.Dial(ContactItem);
end;

{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
constructor TNameSpaceProperties.Create(AServer: TNameSpace);
begin
  inherited Create;
  FServer := AServer;
end;

function TNameSpaceProperties.GetDefaultInterface: _NameSpace;
begin
  Result := FServer.DefaultInterface;
end;

function TNameSpaceProperties.Get_Application: _Application;
begin
    Result := DefaultInterface.Application;
end;

function TNameSpaceProperties.Get_Class_: OlObjectClass;
begin
    Result := DefaultInterface.Class_;
end;

function TNameSpaceProperties.Get_Session: _NameSpace;
begin
    Result := DefaultInterface.Session;
end;

function TNameSpaceProperties.Get_Parent: IDispatch;
begin
    Result := DefaultInterface.Parent;
end;

function TNameSpaceProperties.Get_CurrentUser: Recipient;
begin
    Result := DefaultInterface.CurrentUser;
end;

function TNameSpaceProperties.Get_Folders: _Folders;
begin
    Result := DefaultInterface.Folders;
end;

function TNameSpaceProperties.Get_type_: WideString;
begin
    Result := DefaultInterface.type_;
end;

function TNameSpaceProperties.Get_AddressLists: AddressLists;
begin
    Result := DefaultInterface.AddressLists;
end;

function TNameSpaceProperties.Get_SyncObjects: SyncObjects;
begin
    Result := DefaultInterface.SyncObjects;
end;

function TNameSpaceProperties.Get_Offline: WordBool;
begin
    Result := DefaultInterface.Offline;
end;

function TNameSpaceProperties.Get_MAPIOBJECT: IUnknown;
begin
    Result := DefaultInterface.MAPIOBJECT;
end;

{$ENDIF}

class function CoNoteItem.Create: _NoteItem;
begin
  Result := CreateComObject(CLASS_NoteItem) as _NoteItem;
end;

class function CoNoteItem.CreateRemote(const MachineName: string): _NoteItem;
begin
  Result := CreateRemoteComObject(MachineName, CLASS_NoteItem) as _NoteItem;
end;

procedure TNoteItem.InitServerData;
const
  CServerData: TServerData = (
    ClassID:   '{00061034-0000-0000-C000-000000000046}';
    IntfIID:   '{00063025-0000-0000-C000-000000000046}';
    EventIID:  '';
    LicenseKey: nil;
    Version: 500);
begin
  ServerData := @CServerData;
end;

procedure TNoteItem.Connect;
var
  punk: IUnknown;
begin
  if FIntf = nil then
  begin
    punk := GetServer;
    Fintf:= punk as _NoteItem;
  end;
end;

procedure TNoteItem.ConnectTo(svrIntf: _NoteItem);
begin
  Disconnect;
  FIntf := svrIntf;
end;

procedure TNoteItem.DisConnect;
begin
  if Fintf <> nil then
  begin
    FIntf := nil;
  end;
end;

function TNoteItem.GetDefaultInterface: _NoteItem;
begin
  if FIntf = nil then
    Connect;
  Assert(FIntf <> nil, 'DefaultInterface is NULL. Component is not connected to Server. You must call ''Connect'' or ''ConnectTo'' before this operation');
  Result := FIntf;
end;

constructor TNoteItem.Create(AOwner: TComponent);
begin
  inherited Create(AOwner);
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  FProps := TNoteItemProperties.Create(Self);
{$ENDIF}
end;

destructor TNoteItem.Destroy;
begin
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  FProps.Free;
{$ENDIF}
  inherited Destroy;
end;

{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
function TNoteItem.GetServerProperties: TNoteItemProperties;
begin
  Result := FProps;
end;
{$ENDIF}

function TNoteItem.Get_Application: _Application;
begin
    Result := DefaultInterface.Application;
end;

function TNoteItem.Get_Class_: OlObjectClass;
begin
    Result := DefaultInterface.Class_;
end;

function TNoteItem.Get_Session: _NameSpace;
begin
    Result := DefaultInterface.Session;
end;

function TNoteItem.Get_Parent: IDispatch;
begin
    Result := DefaultInterface.Parent;
end;

function TNoteItem.Get_Body: WideString;
begin
    Result := DefaultInterface.Body;
end;

procedure TNoteItem.Set_Body(const Body: WideString);
  { Warning: The property Body has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Body := Body;
end;

function TNoteItem.Get_Categories: WideString;
begin
    Result := DefaultInterface.Categories;
end;

procedure TNoteItem.Set_Categories(const Categories: WideString);
  { Warning: The property Categories has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Categories := Categories;
end;

function TNoteItem.Get_Color: OlNoteColor;
begin
    Result := DefaultInterface.Color;
end;

procedure TNoteItem.Set_Color(Color: OlNoteColor);
begin
  DefaultInterface.Set_Color(Color);
end;

function TNoteItem.Get_CreationTime: TDateTime;
begin
    Result := DefaultInterface.CreationTime;
end;

function TNoteItem.Get_EntryID: WideString;
begin
    Result := DefaultInterface.EntryID;
end;

function TNoteItem.Get_GetInspector: _Inspector;
begin
    Result := DefaultInterface.GetInspector;
end;

function TNoteItem.Get_Height: Integer;
begin
    Result := DefaultInterface.Height;
end;

procedure TNoteItem.Set_Height(Height: Integer);
begin
  DefaultInterface.Set_Height(Height);
end;

function TNoteItem.Get_LastModificationTime: TDateTime;
begin
    Result := DefaultInterface.LastModificationTime;
end;

function TNoteItem.Get_Left: Integer;
begin
    Result := DefaultInterface.Left;
end;

procedure TNoteItem.Set_Left(Left: Integer);
begin
  DefaultInterface.Set_Left(Left);
end;

function TNoteItem.Get_MessageClass: WideString;
begin
    Result := DefaultInterface.MessageClass;
end;

procedure TNoteItem.Set_MessageClass(const MessageClass: WideString);
  { Warning: The property MessageClass has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.MessageClass := MessageClass;
end;

function TNoteItem.Get_Saved: WordBool;
begin
    Result := DefaultInterface.Saved;
end;

function TNoteItem.Get_Size: Integer;
begin
    Result := DefaultInterface.Size;
end;

function TNoteItem.Get_Subject: WideString;
begin
    Result := DefaultInterface.Subject;
end;

function TNoteItem.Get_Top: Integer;
begin
    Result := DefaultInterface.Top;
end;

procedure TNoteItem.Set_Top(Top: Integer);
begin
  DefaultInterface.Set_Top(Top);
end;

function TNoteItem.Get_Width: Integer;
begin
    Result := DefaultInterface.Width;
end;

procedure TNoteItem.Set_Width(Width: Integer);
begin
  DefaultInterface.Set_Width(Width);
end;

function TNoteItem.Get_Links: Links;
begin
    Result := DefaultInterface.Links;
end;

function TNoteItem.Get_DownloadState: OlDownloadState;
begin
    Result := DefaultInterface.DownloadState;
end;

function TNoteItem.Get_ItemProperties: ItemProperties;
begin
    Result := DefaultInterface.ItemProperties;
end;

function TNoteItem.Get_MarkForDownload: OlRemoteStatus;
begin
    Result := DefaultInterface.MarkForDownload;
end;

procedure TNoteItem.Set_MarkForDownload(MarkForDownload: OlRemoteStatus);
begin
  DefaultInterface.Set_MarkForDownload(MarkForDownload);
end;

function TNoteItem.Get_IsConflict: WordBool;
begin
    Result := DefaultInterface.IsConflict;
end;

procedure TNoteItem.Close(SaveMode: OlInspectorClose);
begin
  DefaultInterface.Close(SaveMode);
end;

function TNoteItem.Copy: IDispatch;
begin
  Result := DefaultInterface.Copy;
end;

procedure TNoteItem.Delete;
begin
  DefaultInterface.Delete;
end;

procedure TNoteItem.Display;
begin
  DefaultInterface.Display(EmptyParam);
end;

procedure TNoteItem.Display(Modal: OleVariant);
begin
  DefaultInterface.Display(Modal);
end;

function TNoteItem.Move(const DestFldr: MAPIFolder): IDispatch;
begin
  Result := DefaultInterface.Move(DestFldr);
end;

procedure TNoteItem.PrintOut;
begin
  DefaultInterface.PrintOut;
end;

procedure TNoteItem.Save;
begin
  DefaultInterface.Save;
end;

procedure TNoteItem.SaveAs(const Path: WideString);
begin
  DefaultInterface.SaveAs(Path, EmptyParam);
end;

procedure TNoteItem.SaveAs(const Path: WideString; Type_: OleVariant);
begin
  DefaultInterface.SaveAs(Path, Type_);
end;

{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
constructor TNoteItemProperties.Create(AServer: TNoteItem);
begin
  inherited Create;
  FServer := AServer;
end;

function TNoteItemProperties.GetDefaultInterface: _NoteItem;
begin
  Result := FServer.DefaultInterface;
end;

function TNoteItemProperties.Get_Application: _Application;
begin
    Result := DefaultInterface.Application;
end;

function TNoteItemProperties.Get_Class_: OlObjectClass;
begin
    Result := DefaultInterface.Class_;
end;

function TNoteItemProperties.Get_Session: _NameSpace;
begin
    Result := DefaultInterface.Session;
end;

function TNoteItemProperties.Get_Parent: IDispatch;
begin
    Result := DefaultInterface.Parent;
end;

function TNoteItemProperties.Get_Body: WideString;
begin
    Result := DefaultInterface.Body;
end;

procedure TNoteItemProperties.Set_Body(const Body: WideString);
  { Warning: The property Body has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Body := Body;
end;

function TNoteItemProperties.Get_Categories: WideString;
begin
    Result := DefaultInterface.Categories;
end;

procedure TNoteItemProperties.Set_Categories(const Categories: WideString);
  { Warning: The property Categories has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Categories := Categories;
end;

function TNoteItemProperties.Get_Color: OlNoteColor;
begin
    Result := DefaultInterface.Color;
end;

procedure TNoteItemProperties.Set_Color(Color: OlNoteColor);
begin
  DefaultInterface.Set_Color(Color);
end;

function TNoteItemProperties.Get_CreationTime: TDateTime;
begin
    Result := DefaultInterface.CreationTime;
end;

function TNoteItemProperties.Get_EntryID: WideString;
begin
    Result := DefaultInterface.EntryID;
end;

function TNoteItemProperties.Get_GetInspector: _Inspector;
begin
    Result := DefaultInterface.GetInspector;
end;

function TNoteItemProperties.Get_Height: Integer;
begin
    Result := DefaultInterface.Height;
end;

procedure TNoteItemProperties.Set_Height(Height: Integer);
begin
  DefaultInterface.Set_Height(Height);
end;

function TNoteItemProperties.Get_LastModificationTime: TDateTime;
begin
    Result := DefaultInterface.LastModificationTime;
end;

function TNoteItemProperties.Get_Left: Integer;
begin
    Result := DefaultInterface.Left;
end;

procedure TNoteItemProperties.Set_Left(Left: Integer);
begin
  DefaultInterface.Set_Left(Left);
end;

function TNoteItemProperties.Get_MessageClass: WideString;
begin
    Result := DefaultInterface.MessageClass;
end;

procedure TNoteItemProperties.Set_MessageClass(const MessageClass: WideString);
  { Warning: The property MessageClass has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.MessageClass := MessageClass;
end;

function TNoteItemProperties.Get_Saved: WordBool;
begin
    Result := DefaultInterface.Saved;
end;

function TNoteItemProperties.Get_Size: Integer;
begin
    Result := DefaultInterface.Size;
end;

function TNoteItemProperties.Get_Subject: WideString;
begin
    Result := DefaultInterface.Subject;
end;

function TNoteItemProperties.Get_Top: Integer;
begin
    Result := DefaultInterface.Top;
end;

procedure TNoteItemProperties.Set_Top(Top: Integer);
begin
  DefaultInterface.Set_Top(Top);
end;

function TNoteItemProperties.Get_Width: Integer;
begin
    Result := DefaultInterface.Width;
end;

procedure TNoteItemProperties.Set_Width(Width: Integer);
begin
  DefaultInterface.Set_Width(Width);
end;

function TNoteItemProperties.Get_Links: Links;
begin
    Result := DefaultInterface.Links;
end;

function TNoteItemProperties.Get_DownloadState: OlDownloadState;
begin
    Result := DefaultInterface.DownloadState;
end;

function TNoteItemProperties.Get_ItemProperties: ItemProperties;
begin
    Result := DefaultInterface.ItemProperties;
end;

function TNoteItemProperties.Get_MarkForDownload: OlRemoteStatus;
begin
    Result := DefaultInterface.MarkForDownload;
end;

procedure TNoteItemProperties.Set_MarkForDownload(MarkForDownload: OlRemoteStatus);
begin
  DefaultInterface.Set_MarkForDownload(MarkForDownload);
end;

function TNoteItemProperties.Get_IsConflict: WordBool;
begin
    Result := DefaultInterface.IsConflict;
end;

{$ENDIF}

class function CoOutlookBarGroups.Create: _OutlookBarGroups;
begin
  Result := CreateComObject(CLASS_OutlookBarGroups) as _OutlookBarGroups;
end;

class function CoOutlookBarGroups.CreateRemote(const MachineName: string): _OutlookBarGroups;
begin
  Result := CreateRemoteComObject(MachineName, CLASS_OutlookBarGroups) as _OutlookBarGroups;
end;

procedure TOutlookBarGroups.InitServerData;
const
  CServerData: TServerData = (
    ClassID:   '{00063056-0000-0000-C000-000000000046}';
    IntfIID:   '{00063072-0000-0000-C000-000000000046}';
    EventIID:  '{0006307B-0000-0000-C000-000000000046}';
    LicenseKey: nil;
    Version: 500);
begin
  ServerData := @CServerData;
end;

procedure TOutlookBarGroups.Connect;
var
  punk: IUnknown;
begin
  if FIntf = nil then
  begin
    punk := GetServer;
    ConnectEvents(punk);
    Fintf:= punk as _OutlookBarGroups;
  end;
end;

procedure TOutlookBarGroups.ConnectTo(svrIntf: _OutlookBarGroups);
begin
  Disconnect;
  FIntf := svrIntf;
  ConnectEvents(FIntf);
end;

procedure TOutlookBarGroups.DisConnect;
begin
  if Fintf <> nil then
  begin
    DisconnectEvents(FIntf);
    FIntf := nil;
  end;
end;

function TOutlookBarGroups.GetDefaultInterface: _OutlookBarGroups;
begin
  if FIntf = nil then
    Connect;
  Assert(FIntf <> nil, 'DefaultInterface is NULL. Component is not connected to Server. You must call ''Connect'' or ''ConnectTo'' before this operation');
  Result := FIntf;
end;

constructor TOutlookBarGroups.Create(AOwner: TComponent);
begin
  inherited Create(AOwner);
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  FProps := TOutlookBarGroupsProperties.Create(Self);
{$ENDIF}
end;

destructor TOutlookBarGroups.Destroy;
begin
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  FProps.Free;
{$ENDIF}
  inherited Destroy;
end;

{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
function TOutlookBarGroups.GetServerProperties: TOutlookBarGroupsProperties;
begin
  Result := FProps;
end;
{$ENDIF}

procedure TOutlookBarGroups.InvokeEvent(DispID: TDispID; var Params: TVariantArray);
begin
  case DispID of
    -1: Exit;  // DISPID_UNKNOWN
    61441: if Assigned(FOnGroupAdd) then
         FOnGroupAdd(Self, IUnknown(TVarData(Params[0]).VPointer) as OutlookBarGroup {const OutlookBarGroup});
    61442: if Assigned(FOnBeforeGroupAdd) then
         FOnBeforeGroupAdd(Self, WordBool((TVarData(Params[0]).VPointer)^) {var WordBool});
    61443: if Assigned(FOnBeforeGroupRemove) then
         FOnBeforeGroupRemove(Self,
                              IUnknown(TVarData(Params[0]).VPointer) as OutlookBarGroup {const OutlookBarGroup},
                              WordBool((TVarData(Params[1]).VPointer)^) {var WordBool});
  end; {case DispID}
end;

function TOutlookBarGroups.Get_Application: _Application;
begin
    Result := DefaultInterface.Application;
end;

function TOutlookBarGroups.Get_Class_: OlObjectClass;
begin
    Result := DefaultInterface.Class_;
end;

function TOutlookBarGroups.Get_Session: _NameSpace;
begin
    Result := DefaultInterface.Session;
end;

function TOutlookBarGroups.Get_Parent: IDispatch;
begin
    Result := DefaultInterface.Parent;
end;

function TOutlookBarGroups.Get_Count: Integer;
begin
    Result := DefaultInterface.Count;
end;

function TOutlookBarGroups.Item(Index: OleVariant): OutlookBarGroup;
begin
  Result := DefaultInterface.Item(Index);
end;

function TOutlookBarGroups.Add(const Name: WideString): OutlookBarGroup;
begin
  Result := DefaultInterface.Add(Name, EmptyParam);
end;

function TOutlookBarGroups.Add(const Name: WideString; Index: OleVariant): OutlookBarGroup;
begin
  Result := DefaultInterface.Add(Name, Index);
end;

procedure TOutlookBarGroups.Remove(Index: OleVariant);
begin
  DefaultInterface.Remove(Index);
end;

{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
constructor TOutlookBarGroupsProperties.Create(AServer: TOutlookBarGroups);
begin
  inherited Create;
  FServer := AServer;
end;

function TOutlookBarGroupsProperties.GetDefaultInterface: _OutlookBarGroups;
begin
  Result := FServer.DefaultInterface;
end;

function TOutlookBarGroupsProperties.Get_Application: _Application;
begin
    Result := DefaultInterface.Application;
end;

function TOutlookBarGroupsProperties.Get_Class_: OlObjectClass;
begin
    Result := DefaultInterface.Class_;
end;

function TOutlookBarGroupsProperties.Get_Session: _NameSpace;
begin
    Result := DefaultInterface.Session;
end;

function TOutlookBarGroupsProperties.Get_Parent: IDispatch;
begin
    Result := DefaultInterface.Parent;
end;

function TOutlookBarGroupsProperties.Get_Count: Integer;
begin
    Result := DefaultInterface.Count;
end;

{$ENDIF}

class function CoOutlookBarPane.Create: _OutlookBarPane;
begin
  Result := CreateComObject(CLASS_OutlookBarPane) as _OutlookBarPane;
end;

class function CoOutlookBarPane.CreateRemote(const MachineName: string): _OutlookBarPane;
begin
  Result := CreateRemoteComObject(MachineName, CLASS_OutlookBarPane) as _OutlookBarPane;
end;

procedure TOutlookBarPane.InitServerData;
const
  CServerData: TServerData = (
    ClassID:   '{00063055-0000-0000-C000-000000000046}';
    IntfIID:   '{00063070-0000-0000-C000-000000000046}';
    EventIID:  '{0006307A-0000-0000-C000-000000000046}';
    LicenseKey: nil;
    Version: 500);
begin
  ServerData := @CServerData;
end;

procedure TOutlookBarPane.Connect;
var
  punk: IUnknown;
begin
  if FIntf = nil then
  begin
    punk := GetServer;
    ConnectEvents(punk);
    Fintf:= punk as _OutlookBarPane;
  end;
end;

procedure TOutlookBarPane.ConnectTo(svrIntf: _OutlookBarPane);
begin
  Disconnect;
  FIntf := svrIntf;
  ConnectEvents(FIntf);
end;

procedure TOutlookBarPane.DisConnect;
begin
  if Fintf <> nil then
  begin
    DisconnectEvents(FIntf);
    FIntf := nil;
  end;
end;

function TOutlookBarPane.GetDefaultInterface: _OutlookBarPane;
begin
  if FIntf = nil then
    Connect;
  Assert(FIntf <> nil, 'DefaultInterface is NULL. Component is not connected to Server. You must call ''Connect'' or ''ConnectTo'' before this operation');
  Result := FIntf;
end;

constructor TOutlookBarPane.Create(AOwner: TComponent);
begin
  inherited Create(AOwner);
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  FProps := TOutlookBarPaneProperties.Create(Self);
{$ENDIF}
end;

destructor TOutlookBarPane.Destroy;
begin
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  FProps.Free;
{$ENDIF}
  inherited Destroy;
end;

{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
function TOutlookBarPane.GetServerProperties: TOutlookBarPaneProperties;
begin
  Result := FProps;
end;
{$ENDIF}

procedure TOutlookBarPane.InvokeEvent(DispID: TDispID; var Params: TVariantArray);
begin
  case DispID of
    -1: Exit;  // DISPID_UNKNOWN
    61441: if Assigned(FOnBeforeNavigate) then
         FOnBeforeNavigate(Self,
                           IUnknown(TVarData(Params[0]).VPointer) as OutlookBarShortcut {const OutlookBarShortcut},
                           WordBool((TVarData(Params[1]).VPointer)^) {var WordBool});
    61442: if Assigned(FOnBeforeGroupSwitch) then
         FOnBeforeGroupSwitch(Self,
                              IUnknown(TVarData(Params[0]).VPointer) as OutlookBarGroup {const OutlookBarGroup},
                              WordBool((TVarData(Params[1]).VPointer)^) {var WordBool});
  end; {case DispID}
end;

function TOutlookBarPane.Get_Application: _Application;
begin
    Result := DefaultInterface.Application;
end;

function TOutlookBarPane.Get_Class_: OlObjectClass;
begin
    Result := DefaultInterface.Class_;
end;

function TOutlookBarPane.Get_Session: _NameSpace;
begin
    Result := DefaultInterface.Session;
end;

function TOutlookBarPane.Get_Parent: IDispatch;
begin
    Result := DefaultInterface.Parent;
end;

function TOutlookBarPane.Get_Contents: OutlookBarStorage;
begin
    Result := DefaultInterface.Contents;
end;

function TOutlookBarPane.Get_CurrentGroup: OutlookBarGroup;
begin
    Result := DefaultInterface.CurrentGroup;
end;

procedure TOutlookBarPane._Set_CurrentGroup(const CurrentGroup: OutlookBarGroup);
  { Warning: The property CurrentGroup has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.CurrentGroup := CurrentGroup;
end;

function TOutlookBarPane.Get_Name: WideString;
begin
    Result := DefaultInterface.Name;
end;

function TOutlookBarPane.Get_Visible: WordBool;
begin
    Result := DefaultInterface.Visible;
end;

procedure TOutlookBarPane.Set_Visible(Visible: WordBool);
begin
  DefaultInterface.Set_Visible(Visible);
end;

{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
constructor TOutlookBarPaneProperties.Create(AServer: TOutlookBarPane);
begin
  inherited Create;
  FServer := AServer;
end;

function TOutlookBarPaneProperties.GetDefaultInterface: _OutlookBarPane;
begin
  Result := FServer.DefaultInterface;
end;

function TOutlookBarPaneProperties.Get_Application: _Application;
begin
    Result := DefaultInterface.Application;
end;

function TOutlookBarPaneProperties.Get_Class_: OlObjectClass;
begin
    Result := DefaultInterface.Class_;
end;

function TOutlookBarPaneProperties.Get_Session: _NameSpace;
begin
    Result := DefaultInterface.Session;
end;

function TOutlookBarPaneProperties.Get_Parent: IDispatch;
begin
    Result := DefaultInterface.Parent;
end;

function TOutlookBarPaneProperties.Get_Contents: OutlookBarStorage;
begin
    Result := DefaultInterface.Contents;
end;

function TOutlookBarPaneProperties.Get_CurrentGroup: OutlookBarGroup;
begin
    Result := DefaultInterface.CurrentGroup;
end;

procedure TOutlookBarPaneProperties._Set_CurrentGroup(const CurrentGroup: OutlookBarGroup);
  { Warning: The property CurrentGroup has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.CurrentGroup := CurrentGroup;
end;

function TOutlookBarPaneProperties.Get_Name: WideString;
begin
    Result := DefaultInterface.Name;
end;

function TOutlookBarPaneProperties.Get_Visible: WordBool;
begin
    Result := DefaultInterface.Visible;
end;

procedure TOutlookBarPaneProperties.Set_Visible(Visible: WordBool);
begin
  DefaultInterface.Set_Visible(Visible);
end;

{$ENDIF}

class function CoOutlookBarShortcuts.Create: _OutlookBarShortcuts;
begin
  Result := CreateComObject(CLASS_OutlookBarShortcuts) as _OutlookBarShortcuts;
end;

class function CoOutlookBarShortcuts.CreateRemote(const MachineName: string): _OutlookBarShortcuts;
begin
  Result := CreateRemoteComObject(MachineName, CLASS_OutlookBarShortcuts) as _OutlookBarShortcuts;
end;

procedure TOutlookBarShortcuts.InitServerData;
const
  CServerData: TServerData = (
    ClassID:   '{00063057-0000-0000-C000-000000000046}';
    IntfIID:   '{00063074-0000-0000-C000-000000000046}';
    EventIID:  '{0006307C-0000-0000-C000-000000000046}';
    LicenseKey: nil;
    Version: 500);
begin
  ServerData := @CServerData;
end;

procedure TOutlookBarShortcuts.Connect;
var
  punk: IUnknown;
begin
  if FIntf = nil then
  begin
    punk := GetServer;
    ConnectEvents(punk);
    Fintf:= punk as _OutlookBarShortcuts;
  end;
end;

procedure TOutlookBarShortcuts.ConnectTo(svrIntf: _OutlookBarShortcuts);
begin
  Disconnect;
  FIntf := svrIntf;
  ConnectEvents(FIntf);
end;

procedure TOutlookBarShortcuts.DisConnect;
begin
  if Fintf <> nil then
  begin
    DisconnectEvents(FIntf);
    FIntf := nil;
  end;
end;

function TOutlookBarShortcuts.GetDefaultInterface: _OutlookBarShortcuts;
begin
  if FIntf = nil then
    Connect;
  Assert(FIntf <> nil, 'DefaultInterface is NULL. Component is not connected to Server. You must call ''Connect'' or ''ConnectTo'' before this operation');
  Result := FIntf;
end;

constructor TOutlookBarShortcuts.Create(AOwner: TComponent);
begin
  inherited Create(AOwner);
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  FProps := TOutlookBarShortcutsProperties.Create(Self);
{$ENDIF}
end;

destructor TOutlookBarShortcuts.Destroy;
begin
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  FProps.Free;
{$ENDIF}
  inherited Destroy;
end;

{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
function TOutlookBarShortcuts.GetServerProperties: TOutlookBarShortcutsProperties;
begin
  Result := FProps;
end;
{$ENDIF}

procedure TOutlookBarShortcuts.InvokeEvent(DispID: TDispID; var Params: TVariantArray);
begin
  case DispID of
    -1: Exit;  // DISPID_UNKNOWN
    61441: if Assigned(FOnShortcutAdd) then
         FOnShortcutAdd(Self, IUnknown(TVarData(Params[0]).VPointer) as OutlookBarShortcut {const OutlookBarShortcut});
    61442: if Assigned(FOnBeforeShortcutAdd) then
         FOnBeforeShortcutAdd(Self, WordBool((TVarData(Params[0]).VPointer)^) {var WordBool});
    61443: if Assigned(FOnBeforeShortcutRemove) then
         FOnBeforeShortcutRemove(Self,
                                 IUnknown(TVarData(Params[0]).VPointer) as OutlookBarShortcut {const OutlookBarShortcut},
                                 WordBool((TVarData(Params[1]).VPointer)^) {var WordBool});
  end; {case DispID}
end;

function TOutlookBarShortcuts.Get_Application: _Application;
begin
    Result := DefaultInterface.Application;
end;

function TOutlookBarShortcuts.Get_Class_: OlObjectClass;
begin
    Result := DefaultInterface.Class_;
end;

function TOutlookBarShortcuts.Get_Session: _NameSpace;
begin
    Result := DefaultInterface.Session;
end;

function TOutlookBarShortcuts.Get_Parent: IDispatch;
begin
    Result := DefaultInterface.Parent;
end;

function TOutlookBarShortcuts.Get_Count: Integer;
begin
    Result := DefaultInterface.Count;
end;

function TOutlookBarShortcuts.Item(Index: OleVariant): OutlookBarShortcut;
begin
  Result := DefaultInterface.Item(Index);
end;

function TOutlookBarShortcuts.Add(Target: OleVariant; const Name: WideString): OutlookBarShortcut;
begin
  Result := DefaultInterface.Add(Target, Name, EmptyParam);
end;

function TOutlookBarShortcuts.Add(Target: OleVariant; const Name: WideString; Index: OleVariant): OutlookBarShortcut;
begin
  Result := DefaultInterface.Add(Target, Name, Index);
end;

procedure TOutlookBarShortcuts.Remove(Index: OleVariant);
begin
  DefaultInterface.Remove(Index);
end;

{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
constructor TOutlookBarShortcutsProperties.Create(AServer: TOutlookBarShortcuts);
begin
  inherited Create;
  FServer := AServer;
end;

function TOutlookBarShortcutsProperties.GetDefaultInterface: _OutlookBarShortcuts;
begin
  Result := FServer.DefaultInterface;
end;

function TOutlookBarShortcutsProperties.Get_Application: _Application;
begin
    Result := DefaultInterface.Application;
end;

function TOutlookBarShortcutsProperties.Get_Class_: OlObjectClass;
begin
    Result := DefaultInterface.Class_;
end;

function TOutlookBarShortcutsProperties.Get_Session: _NameSpace;
begin
    Result := DefaultInterface.Session;
end;

function TOutlookBarShortcutsProperties.Get_Parent: IDispatch;
begin
    Result := DefaultInterface.Parent;
end;

function TOutlookBarShortcutsProperties.Get_Count: Integer;
begin
    Result := DefaultInterface.Count;
end;

{$ENDIF}

class function CoPostItem.Create: _PostItem;
begin
  Result := CreateComObject(CLASS_PostItem) as _PostItem;
end;

class function CoPostItem.CreateRemote(const MachineName: string): _PostItem;
begin
  Result := CreateRemoteComObject(MachineName, CLASS_PostItem) as _PostItem;
end;

procedure TPostItem.InitServerData;
const
  CServerData: TServerData = (
    ClassID:   '{0006103A-0000-0000-C000-000000000046}';
    IntfIID:   '{00063024-0000-0000-C000-000000000046}';
    EventIID:  '{0006302B-0000-0000-C000-000000000046}';
    LicenseKey: nil;
    Version: 500);
begin
  ServerData := @CServerData;
end;

procedure TPostItem.Connect;
var
  punk: IUnknown;
begin
  if FIntf = nil then
  begin
    punk := GetServer;
    ConnectEvents(punk);
    Fintf:= punk as _PostItem;
  end;
end;

procedure TPostItem.ConnectTo(svrIntf: _PostItem);
begin
  Disconnect;
  FIntf := svrIntf;
  ConnectEvents(FIntf);
end;

procedure TPostItem.DisConnect;
begin
  if Fintf <> nil then
  begin
    DisconnectEvents(FIntf);
    FIntf := nil;
  end;
end;

function TPostItem.GetDefaultInterface: _PostItem;
begin
  if FIntf = nil then
    Connect;
  Assert(FIntf <> nil, 'DefaultInterface is NULL. Component is not connected to Server. You must call ''Connect'' or ''ConnectTo'' before this operation');
  Result := FIntf;
end;

constructor TPostItem.Create(AOwner: TComponent);
begin
  inherited Create(AOwner);
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  FProps := TPostItemProperties.Create(Self);
{$ENDIF}
end;

destructor TPostItem.Destroy;
begin
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  FProps.Free;
{$ENDIF}
  inherited Destroy;
end;

{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
function TPostItem.GetServerProperties: TPostItemProperties;
begin
  Result := FProps;
end;
{$ENDIF}

procedure TPostItem.InvokeEvent(DispID: TDispID; var Params: TVariantArray);
begin
  case DispID of
    -1: Exit;  // DISPID_UNKNOWN
    61443: if Assigned(FOnOpen) then
         FOnOpen(Self, WordBool((TVarData(Params[0]).VPointer)^) {var WordBool});
    61446: if Assigned(FOnCustomAction) then
         FOnCustomAction(Self,
                         Params[0] {const IDispatch},
                         Params[1] {const IDispatch},
                         WordBool((TVarData(Params[2]).VPointer)^) {var WordBool});
    61448: if Assigned(FOnCustomPropertyChange) then
         FOnCustomPropertyChange(Self, Params[0] {const WideString});
    62568: if Assigned(FOnForward) then
         FOnForward(Self,
                    Params[0] {const IDispatch},
                    WordBool((TVarData(Params[1]).VPointer)^) {var WordBool});
    61444: if Assigned(FOnClose) then
         FOnClose(Self, WordBool((TVarData(Params[0]).VPointer)^) {var WordBool});
    61449: if Assigned(FOnPropertyChange) then
         FOnPropertyChange(Self, Params[0] {const WideString});
    61441: if Assigned(FOnRead) then
         FOnRead(Self);
    62566: if Assigned(FOnReply) then
         FOnReply(Self,
                  Params[0] {const IDispatch},
                  WordBool((TVarData(Params[1]).VPointer)^) {var WordBool});
    62567: if Assigned(FOnReplyAll) then
         FOnReplyAll(Self,
                     Params[0] {const IDispatch},
                     WordBool((TVarData(Params[1]).VPointer)^) {var WordBool});
    61445: if Assigned(FOnSend) then
         FOnSend(Self, WordBool((TVarData(Params[0]).VPointer)^) {var WordBool});
    61442: if Assigned(FOnWrite) then
         FOnWrite(Self, WordBool((TVarData(Params[0]).VPointer)^) {var WordBool});
    61450: if Assigned(FOnBeforeCheckNames) then
         FOnBeforeCheckNames(Self, WordBool((TVarData(Params[0]).VPointer)^) {var WordBool});
    61451: if Assigned(FOnAttachmentAdd) then
         FOnAttachmentAdd(Self, IUnknown(TVarData(Params[0]).VPointer) as Attachment {const Attachment});
    61452: if Assigned(FOnAttachmentRead) then
         FOnAttachmentRead(Self, IUnknown(TVarData(Params[0]).VPointer) as Attachment {const Attachment});
    61453: if Assigned(FOnBeforeAttachmentSave) then
         FOnBeforeAttachmentSave(Self,
                                 IUnknown(TVarData(Params[0]).VPointer) as Attachment {const Attachment},
                                 WordBool((TVarData(Params[1]).VPointer)^) {var WordBool});
    64117: if Assigned(FOnBeforeDelete) then
         FOnBeforeDelete(Self,
                         Params[0] {const IDispatch},
                         WordBool((TVarData(Params[1]).VPointer)^) {var WordBool});
  end; {case DispID}
end;

function TPostItem.Get_Application: _Application;
begin
    Result := DefaultInterface.Application;
end;

function TPostItem.Get_Class_: OlObjectClass;
begin
    Result := DefaultInterface.Class_;
end;

function TPostItem.Get_Session: _NameSpace;
begin
    Result := DefaultInterface.Session;
end;

function TPostItem.Get_Parent: IDispatch;
begin
    Result := DefaultInterface.Parent;
end;

function TPostItem.Get_Actions: Actions;
begin
    Result := DefaultInterface.Actions;
end;

function TPostItem.Get_Attachments: Attachments;
begin
    Result := DefaultInterface.Attachments;
end;

function TPostItem.Get_BillingInformation: WideString;
begin
    Result := DefaultInterface.BillingInformation;
end;

procedure TPostItem.Set_BillingInformation(const BillingInformation: WideString);
  { Warning: The property BillingInformation has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.BillingInformation := BillingInformation;
end;

function TPostItem.Get_Body: WideString;
begin
    Result := DefaultInterface.Body;
end;

procedure TPostItem.Set_Body(const Body: WideString);
  { Warning: The property Body has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Body := Body;
end;

function TPostItem.Get_Categories: WideString;
begin
    Result := DefaultInterface.Categories;
end;

procedure TPostItem.Set_Categories(const Categories: WideString);
  { Warning: The property Categories has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Categories := Categories;
end;

function TPostItem.Get_Companies: WideString;
begin
    Result := DefaultInterface.Companies;
end;

procedure TPostItem.Set_Companies(const Companies: WideString);
  { Warning: The property Companies has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Companies := Companies;
end;

function TPostItem.Get_ConversationIndex: WideString;
begin
    Result := DefaultInterface.ConversationIndex;
end;

function TPostItem.Get_ConversationTopic: WideString;
begin
    Result := DefaultInterface.ConversationTopic;
end;

function TPostItem.Get_CreationTime: TDateTime;
begin
    Result := DefaultInterface.CreationTime;
end;

function TPostItem.Get_EntryID: WideString;
begin
    Result := DefaultInterface.EntryID;
end;

function TPostItem.Get_FormDescription: FormDescription;
begin
    Result := DefaultInterface.FormDescription;
end;

function TPostItem.Get_GetInspector: _Inspector;
begin
    Result := DefaultInterface.GetInspector;
end;

function TPostItem.Get_Importance: OlImportance;
begin
    Result := DefaultInterface.Importance;
end;

procedure TPostItem.Set_Importance(Importance: OlImportance);
begin
  DefaultInterface.Set_Importance(Importance);
end;

function TPostItem.Get_LastModificationTime: TDateTime;
begin
    Result := DefaultInterface.LastModificationTime;
end;

function TPostItem.Get_MAPIOBJECT: IUnknown;
begin
    Result := DefaultInterface.MAPIOBJECT;
end;

function TPostItem.Get_MessageClass: WideString;
begin
    Result := DefaultInterface.MessageClass;
end;

procedure TPostItem.Set_MessageClass(const MessageClass: WideString);
  { Warning: The property MessageClass has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.MessageClass := MessageClass;
end;

function TPostItem.Get_Mileage: WideString;
begin
    Result := DefaultInterface.Mileage;
end;

procedure TPostItem.Set_Mileage(const Mileage: WideString);
  { Warning: The property Mileage has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Mileage := Mileage;
end;

function TPostItem.Get_NoAging: WordBool;
begin
    Result := DefaultInterface.NoAging;
end;

procedure TPostItem.Set_NoAging(NoAging: WordBool);
begin
  DefaultInterface.Set_NoAging(NoAging);
end;

function TPostItem.Get_OutlookInternalVersion: Integer;
begin
    Result := DefaultInterface.OutlookInternalVersion;
end;

function TPostItem.Get_OutlookVersion: WideString;
begin
    Result := DefaultInterface.OutlookVersion;
end;

function TPostItem.Get_Saved: WordBool;
begin
    Result := DefaultInterface.Saved;
end;

function TPostItem.Get_Sensitivity: OlSensitivity;
begin
    Result := DefaultInterface.Sensitivity;
end;

procedure TPostItem.Set_Sensitivity(Sensitivity: OlSensitivity);
begin
  DefaultInterface.Set_Sensitivity(Sensitivity);
end;

function TPostItem.Get_Size: Integer;
begin
    Result := DefaultInterface.Size;
end;

function TPostItem.Get_Subject: WideString;
begin
    Result := DefaultInterface.Subject;
end;

procedure TPostItem.Set_Subject(const Subject: WideString);
  { Warning: The property Subject has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Subject := Subject;
end;

function TPostItem.Get_UnRead: WordBool;
begin
    Result := DefaultInterface.UnRead;
end;

procedure TPostItem.Set_UnRead(UnRead: WordBool);
begin
  DefaultInterface.Set_UnRead(UnRead);
end;

function TPostItem.Get_UserProperties: UserProperties;
begin
    Result := DefaultInterface.UserProperties;
end;

function TPostItem.Get_ExpiryTime: TDateTime;
begin
    Result := DefaultInterface.ExpiryTime;
end;

procedure TPostItem.Set_ExpiryTime(ExpiryTime: TDateTime);
begin
  DefaultInterface.Set_ExpiryTime(ExpiryTime);
end;

function TPostItem.Get_HTMLBody: WideString;
begin
    Result := DefaultInterface.HTMLBody;
end;

procedure TPostItem.Set_HTMLBody(const HTMLBody: WideString);
  { Warning: The property HTMLBody has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.HTMLBody := HTMLBody;
end;

function TPostItem.Get_ReceivedTime: TDateTime;
begin
    Result := DefaultInterface.ReceivedTime;
end;

function TPostItem.Get_SenderName: WideString;
begin
    Result := DefaultInterface.SenderName;
end;

function TPostItem.Get_SentOn: TDateTime;
begin
    Result := DefaultInterface.SentOn;
end;

function TPostItem.Get_Links: Links;
begin
    Result := DefaultInterface.Links;
end;

function TPostItem.Get_ItemProperties: ItemProperties;
begin
    Result := DefaultInterface.ItemProperties;
end;

function TPostItem.Get_BodyFormat: OlBodyFormat;
begin
    Result := DefaultInterface.BodyFormat;
end;

procedure TPostItem.Set_BodyFormat(BodyFormat: OlBodyFormat);
begin
  DefaultInterface.Set_BodyFormat(BodyFormat);
end;

function TPostItem.Get_DownloadState: OlDownloadState;
begin
    Result := DefaultInterface.DownloadState;
end;

function TPostItem.Get_InternetCodepage: Integer;
begin
    Result := DefaultInterface.InternetCodepage;
end;

procedure TPostItem.Set_InternetCodepage(InternetCodepage: Integer);
begin
  DefaultInterface.Set_InternetCodepage(InternetCodepage);
end;

function TPostItem.Get_MarkForDownload: OlRemoteStatus;
begin
    Result := DefaultInterface.MarkForDownload;
end;

procedure TPostItem.Set_MarkForDownload(MarkForDownload: OlRemoteStatus);
begin
  DefaultInterface.Set_MarkForDownload(MarkForDownload);
end;

function TPostItem.Get_IsConflict: WordBool;
begin
    Result := DefaultInterface.IsConflict;
end;

procedure TPostItem.Close(SaveMode: OlInspectorClose);
begin
  DefaultInterface.Close(SaveMode);
end;

function TPostItem.Copy: IDispatch;
begin
  Result := DefaultInterface.Copy;
end;

procedure TPostItem.Delete;
begin
  DefaultInterface.Delete;
end;

procedure TPostItem.Display;
begin
  DefaultInterface.Display(EmptyParam);
end;

procedure TPostItem.Display(Modal: OleVariant);
begin
  DefaultInterface.Display(Modal);
end;

function TPostItem.Move(const DestFldr: MAPIFolder): IDispatch;
begin
  Result := DefaultInterface.Move(DestFldr);
end;

procedure TPostItem.PrintOut;
begin
  DefaultInterface.PrintOut;
end;

procedure TPostItem.Save;
begin
  DefaultInterface.Save;
end;

procedure TPostItem.SaveAs(const Path: WideString);
begin
  DefaultInterface.SaveAs(Path, EmptyParam);
end;

procedure TPostItem.SaveAs(const Path: WideString; Type_: OleVariant);
begin
  DefaultInterface.SaveAs(Path, Type_);
end;

procedure TPostItem.ClearConversationIndex;
begin
  DefaultInterface.ClearConversationIndex;
end;

function TPostItem.Forward: MailItem;
begin
  Result := DefaultInterface.Forward;
end;

procedure TPostItem.Post;
begin
  DefaultInterface.Post;
end;

function TPostItem.Reply: MailItem;
begin
  Result := DefaultInterface.Reply;
end;

procedure TPostItem.ShowCategoriesDialog;
begin
  DefaultInterface.ShowCategoriesDialog;
end;

function TPostItem.SetACLs: WordBool;
begin
  Result := DefaultInterface.SetACLs;
end;

{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
constructor TPostItemProperties.Create(AServer: TPostItem);
begin
  inherited Create;
  FServer := AServer;
end;

function TPostItemProperties.GetDefaultInterface: _PostItem;
begin
  Result := FServer.DefaultInterface;
end;

function TPostItemProperties.Get_Application: _Application;
begin
    Result := DefaultInterface.Application;
end;

function TPostItemProperties.Get_Class_: OlObjectClass;
begin
    Result := DefaultInterface.Class_;
end;

function TPostItemProperties.Get_Session: _NameSpace;
begin
    Result := DefaultInterface.Session;
end;

function TPostItemProperties.Get_Parent: IDispatch;
begin
    Result := DefaultInterface.Parent;
end;

function TPostItemProperties.Get_Actions: Actions;
begin
    Result := DefaultInterface.Actions;
end;

function TPostItemProperties.Get_Attachments: Attachments;
begin
    Result := DefaultInterface.Attachments;
end;

function TPostItemProperties.Get_BillingInformation: WideString;
begin
    Result := DefaultInterface.BillingInformation;
end;

procedure TPostItemProperties.Set_BillingInformation(const BillingInformation: WideString);
  { Warning: The property BillingInformation has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.BillingInformation := BillingInformation;
end;

function TPostItemProperties.Get_Body: WideString;
begin
    Result := DefaultInterface.Body;
end;

procedure TPostItemProperties.Set_Body(const Body: WideString);
  { Warning: The property Body has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Body := Body;
end;

function TPostItemProperties.Get_Categories: WideString;
begin
    Result := DefaultInterface.Categories;
end;

procedure TPostItemProperties.Set_Categories(const Categories: WideString);
  { Warning: The property Categories has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Categories := Categories;
end;

function TPostItemProperties.Get_Companies: WideString;
begin
    Result := DefaultInterface.Companies;
end;

procedure TPostItemProperties.Set_Companies(const Companies: WideString);
  { Warning: The property Companies has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Companies := Companies;
end;

function TPostItemProperties.Get_ConversationIndex: WideString;
begin
    Result := DefaultInterface.ConversationIndex;
end;

function TPostItemProperties.Get_ConversationTopic: WideString;
begin
    Result := DefaultInterface.ConversationTopic;
end;

function TPostItemProperties.Get_CreationTime: TDateTime;
begin
    Result := DefaultInterface.CreationTime;
end;

function TPostItemProperties.Get_EntryID: WideString;
begin
    Result := DefaultInterface.EntryID;
end;

function TPostItemProperties.Get_FormDescription: FormDescription;
begin
    Result := DefaultInterface.FormDescription;
end;

function TPostItemProperties.Get_GetInspector: _Inspector;
begin
    Result := DefaultInterface.GetInspector;
end;

function TPostItemProperties.Get_Importance: OlImportance;
begin
    Result := DefaultInterface.Importance;
end;

procedure TPostItemProperties.Set_Importance(Importance: OlImportance);
begin
  DefaultInterface.Set_Importance(Importance);
end;

function TPostItemProperties.Get_LastModificationTime: TDateTime;
begin
    Result := DefaultInterface.LastModificationTime;
end;

function TPostItemProperties.Get_MAPIOBJECT: IUnknown;
begin
    Result := DefaultInterface.MAPIOBJECT;
end;

function TPostItemProperties.Get_MessageClass: WideString;
begin
    Result := DefaultInterface.MessageClass;
end;

procedure TPostItemProperties.Set_MessageClass(const MessageClass: WideString);
  { Warning: The property MessageClass has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.MessageClass := MessageClass;
end;

function TPostItemProperties.Get_Mileage: WideString;
begin
    Result := DefaultInterface.Mileage;
end;

procedure TPostItemProperties.Set_Mileage(const Mileage: WideString);
  { Warning: The property Mileage has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Mileage := Mileage;
end;

function TPostItemProperties.Get_NoAging: WordBool;
begin
    Result := DefaultInterface.NoAging;
end;

procedure TPostItemProperties.Set_NoAging(NoAging: WordBool);
begin
  DefaultInterface.Set_NoAging(NoAging);
end;

function TPostItemProperties.Get_OutlookInternalVersion: Integer;
begin
    Result := DefaultInterface.OutlookInternalVersion;
end;

function TPostItemProperties.Get_OutlookVersion: WideString;
begin
    Result := DefaultInterface.OutlookVersion;
end;

function TPostItemProperties.Get_Saved: WordBool;
begin
    Result := DefaultInterface.Saved;
end;

function TPostItemProperties.Get_Sensitivity: OlSensitivity;
begin
    Result := DefaultInterface.Sensitivity;
end;

procedure TPostItemProperties.Set_Sensitivity(Sensitivity: OlSensitivity);
begin
  DefaultInterface.Set_Sensitivity(Sensitivity);
end;

function TPostItemProperties.Get_Size: Integer;
begin
    Result := DefaultInterface.Size;
end;

function TPostItemProperties.Get_Subject: WideString;
begin
    Result := DefaultInterface.Subject;
end;

procedure TPostItemProperties.Set_Subject(const Subject: WideString);
  { Warning: The property Subject has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Subject := Subject;
end;

function TPostItemProperties.Get_UnRead: WordBool;
begin
    Result := DefaultInterface.UnRead;
end;

procedure TPostItemProperties.Set_UnRead(UnRead: WordBool);
begin
  DefaultInterface.Set_UnRead(UnRead);
end;

function TPostItemProperties.Get_UserProperties: UserProperties;
begin
    Result := DefaultInterface.UserProperties;
end;

function TPostItemProperties.Get_ExpiryTime: TDateTime;
begin
    Result := DefaultInterface.ExpiryTime;
end;

procedure TPostItemProperties.Set_ExpiryTime(ExpiryTime: TDateTime);
begin
  DefaultInterface.Set_ExpiryTime(ExpiryTime);
end;

function TPostItemProperties.Get_HTMLBody: WideString;
begin
    Result := DefaultInterface.HTMLBody;
end;

procedure TPostItemProperties.Set_HTMLBody(const HTMLBody: WideString);
  { Warning: The property HTMLBody has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.HTMLBody := HTMLBody;
end;

function TPostItemProperties.Get_ReceivedTime: TDateTime;
begin
    Result := DefaultInterface.ReceivedTime;
end;

function TPostItemProperties.Get_SenderName: WideString;
begin
    Result := DefaultInterface.SenderName;
end;

function TPostItemProperties.Get_SentOn: TDateTime;
begin
    Result := DefaultInterface.SentOn;
end;

function TPostItemProperties.Get_Links: Links;
begin
    Result := DefaultInterface.Links;
end;

function TPostItemProperties.Get_ItemProperties: ItemProperties;
begin
    Result := DefaultInterface.ItemProperties;
end;

function TPostItemProperties.Get_BodyFormat: OlBodyFormat;
begin
    Result := DefaultInterface.BodyFormat;
end;

procedure TPostItemProperties.Set_BodyFormat(BodyFormat: OlBodyFormat);
begin
  DefaultInterface.Set_BodyFormat(BodyFormat);
end;

function TPostItemProperties.Get_DownloadState: OlDownloadState;
begin
    Result := DefaultInterface.DownloadState;
end;

function TPostItemProperties.Get_InternetCodepage: Integer;
begin
    Result := DefaultInterface.InternetCodepage;
end;

procedure TPostItemProperties.Set_InternetCodepage(InternetCodepage: Integer);
begin
  DefaultInterface.Set_InternetCodepage(InternetCodepage);
end;

function TPostItemProperties.Get_MarkForDownload: OlRemoteStatus;
begin
    Result := DefaultInterface.MarkForDownload;
end;

procedure TPostItemProperties.Set_MarkForDownload(MarkForDownload: OlRemoteStatus);
begin
  DefaultInterface.Set_MarkForDownload(MarkForDownload);
end;

function TPostItemProperties.Get_IsConflict: WordBool;
begin
    Result := DefaultInterface.IsConflict;
end;

{$ENDIF}

class function CoRemoteItem.Create: _RemoteItem;
begin
  Result := CreateComObject(CLASS_RemoteItem) as _RemoteItem;
end;

class function CoRemoteItem.CreateRemote(const MachineName: string): _RemoteItem;
begin
  Result := CreateRemoteComObject(MachineName, CLASS_RemoteItem) as _RemoteItem;
end;

procedure TRemoteItem.InitServerData;
const
  CServerData: TServerData = (
    ClassID:   '{00061060-0000-0000-C000-000000000046}';
    IntfIID:   '{00063023-0000-0000-C000-000000000046}';
    EventIID:  '{0006302B-0000-0000-C000-000000000046}';
    LicenseKey: nil;
    Version: 500);
begin
  ServerData := @CServerData;
end;

procedure TRemoteItem.Connect;
var
  punk: IUnknown;
begin
  if FIntf = nil then
  begin
    punk := GetServer;
    ConnectEvents(punk);
    Fintf:= punk as _RemoteItem;
  end;
end;

procedure TRemoteItem.ConnectTo(svrIntf: _RemoteItem);
begin
  Disconnect;
  FIntf := svrIntf;
  ConnectEvents(FIntf);
end;

procedure TRemoteItem.DisConnect;
begin
  if Fintf <> nil then
  begin
    DisconnectEvents(FIntf);
    FIntf := nil;
  end;
end;

function TRemoteItem.GetDefaultInterface: _RemoteItem;
begin
  if FIntf = nil then
    Connect;
  Assert(FIntf <> nil, 'DefaultInterface is NULL. Component is not connected to Server. You must call ''Connect'' or ''ConnectTo'' before this operation');
  Result := FIntf;
end;

constructor TRemoteItem.Create(AOwner: TComponent);
begin
  inherited Create(AOwner);
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  FProps := TRemoteItemProperties.Create(Self);
{$ENDIF}
end;

destructor TRemoteItem.Destroy;
begin
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  FProps.Free;
{$ENDIF}
  inherited Destroy;
end;

{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
function TRemoteItem.GetServerProperties: TRemoteItemProperties;
begin
  Result := FProps;
end;
{$ENDIF}

procedure TRemoteItem.InvokeEvent(DispID: TDispID; var Params: TVariantArray);
begin
  case DispID of
    -1: Exit;  // DISPID_UNKNOWN
    61443: if Assigned(FOnOpen) then
         FOnOpen(Self, WordBool((TVarData(Params[0]).VPointer)^) {var WordBool});
    61446: if Assigned(FOnCustomAction) then
         FOnCustomAction(Self,
                         Params[0] {const IDispatch},
                         Params[1] {const IDispatch},
                         WordBool((TVarData(Params[2]).VPointer)^) {var WordBool});
    61448: if Assigned(FOnCustomPropertyChange) then
         FOnCustomPropertyChange(Self, Params[0] {const WideString});
    62568: if Assigned(FOnForward) then
         FOnForward(Self,
                    Params[0] {const IDispatch},
                    WordBool((TVarData(Params[1]).VPointer)^) {var WordBool});
    61444: if Assigned(FOnClose) then
         FOnClose(Self, WordBool((TVarData(Params[0]).VPointer)^) {var WordBool});
    61449: if Assigned(FOnPropertyChange) then
         FOnPropertyChange(Self, Params[0] {const WideString});
    61441: if Assigned(FOnRead) then
         FOnRead(Self);
    62566: if Assigned(FOnReply) then
         FOnReply(Self,
                  Params[0] {const IDispatch},
                  WordBool((TVarData(Params[1]).VPointer)^) {var WordBool});
    62567: if Assigned(FOnReplyAll) then
         FOnReplyAll(Self,
                     Params[0] {const IDispatch},
                     WordBool((TVarData(Params[1]).VPointer)^) {var WordBool});
    61445: if Assigned(FOnSend) then
         FOnSend(Self, WordBool((TVarData(Params[0]).VPointer)^) {var WordBool});
    61442: if Assigned(FOnWrite) then
         FOnWrite(Self, WordBool((TVarData(Params[0]).VPointer)^) {var WordBool});
    61450: if Assigned(FOnBeforeCheckNames) then
         FOnBeforeCheckNames(Self, WordBool((TVarData(Params[0]).VPointer)^) {var WordBool});
    61451: if Assigned(FOnAttachmentAdd) then
         FOnAttachmentAdd(Self, IUnknown(TVarData(Params[0]).VPointer) as Attachment {const Attachment});
    61452: if Assigned(FOnAttachmentRead) then
         FOnAttachmentRead(Self, IUnknown(TVarData(Params[0]).VPointer) as Attachment {const Attachment});
    61453: if Assigned(FOnBeforeAttachmentSave) then
         FOnBeforeAttachmentSave(Self,
                                 IUnknown(TVarData(Params[0]).VPointer) as Attachment {const Attachment},
                                 WordBool((TVarData(Params[1]).VPointer)^) {var WordBool});
    64117: if Assigned(FOnBeforeDelete) then
         FOnBeforeDelete(Self,
                         Params[0] {const IDispatch},
                         WordBool((TVarData(Params[1]).VPointer)^) {var WordBool});
  end; {case DispID}
end;

function TRemoteItem.Get_Application: _Application;
begin
    Result := DefaultInterface.Application;
end;

function TRemoteItem.Get_Class_: OlObjectClass;
begin
    Result := DefaultInterface.Class_;
end;

function TRemoteItem.Get_Session: _NameSpace;
begin
    Result := DefaultInterface.Session;
end;

function TRemoteItem.Get_Parent: IDispatch;
begin
    Result := DefaultInterface.Parent;
end;

function TRemoteItem.Get_Actions: Actions;
begin
    Result := DefaultInterface.Actions;
end;

function TRemoteItem.Get_Attachments: Attachments;
begin
    Result := DefaultInterface.Attachments;
end;

function TRemoteItem.Get_BillingInformation: WideString;
begin
    Result := DefaultInterface.BillingInformation;
end;

procedure TRemoteItem.Set_BillingInformation(const BillingInformation: WideString);
  { Warning: The property BillingInformation has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.BillingInformation := BillingInformation;
end;

function TRemoteItem.Get_Body: WideString;
begin
    Result := DefaultInterface.Body;
end;

procedure TRemoteItem.Set_Body(const Body: WideString);
  { Warning: The property Body has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Body := Body;
end;

function TRemoteItem.Get_Categories: WideString;
begin
    Result := DefaultInterface.Categories;
end;

procedure TRemoteItem.Set_Categories(const Categories: WideString);
  { Warning: The property Categories has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Categories := Categories;
end;

function TRemoteItem.Get_Companies: WideString;
begin
    Result := DefaultInterface.Companies;
end;

procedure TRemoteItem.Set_Companies(const Companies: WideString);
  { Warning: The property Companies has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Companies := Companies;
end;

function TRemoteItem.Get_ConversationIndex: WideString;
begin
    Result := DefaultInterface.ConversationIndex;
end;

function TRemoteItem.Get_ConversationTopic: WideString;
begin
    Result := DefaultInterface.ConversationTopic;
end;

function TRemoteItem.Get_CreationTime: TDateTime;
begin
    Result := DefaultInterface.CreationTime;
end;

function TRemoteItem.Get_EntryID: WideString;
begin
    Result := DefaultInterface.EntryID;
end;

function TRemoteItem.Get_FormDescription: FormDescription;
begin
    Result := DefaultInterface.FormDescription;
end;

function TRemoteItem.Get_GetInspector: _Inspector;
begin
    Result := DefaultInterface.GetInspector;
end;

function TRemoteItem.Get_Importance: OlImportance;
begin
    Result := DefaultInterface.Importance;
end;

procedure TRemoteItem.Set_Importance(Importance: OlImportance);
begin
  DefaultInterface.Set_Importance(Importance);
end;

function TRemoteItem.Get_LastModificationTime: TDateTime;
begin
    Result := DefaultInterface.LastModificationTime;
end;

function TRemoteItem.Get_MAPIOBJECT: IUnknown;
begin
    Result := DefaultInterface.MAPIOBJECT;
end;

function TRemoteItem.Get_MessageClass: WideString;
begin
    Result := DefaultInterface.MessageClass;
end;

procedure TRemoteItem.Set_MessageClass(const MessageClass: WideString);
  { Warning: The property MessageClass has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.MessageClass := MessageClass;
end;

function TRemoteItem.Get_Mileage: WideString;
begin
    Result := DefaultInterface.Mileage;
end;

procedure TRemoteItem.Set_Mileage(const Mileage: WideString);
  { Warning: The property Mileage has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Mileage := Mileage;
end;

function TRemoteItem.Get_NoAging: WordBool;
begin
    Result := DefaultInterface.NoAging;
end;

procedure TRemoteItem.Set_NoAging(NoAging: WordBool);
begin
  DefaultInterface.Set_NoAging(NoAging);
end;

function TRemoteItem.Get_OutlookInternalVersion: Integer;
begin
    Result := DefaultInterface.OutlookInternalVersion;
end;

function TRemoteItem.Get_OutlookVersion: WideString;
begin
    Result := DefaultInterface.OutlookVersion;
end;

function TRemoteItem.Get_Saved: WordBool;
begin
    Result := DefaultInterface.Saved;
end;

function TRemoteItem.Get_Sensitivity: OlSensitivity;
begin
    Result := DefaultInterface.Sensitivity;
end;

procedure TRemoteItem.Set_Sensitivity(Sensitivity: OlSensitivity);
begin
  DefaultInterface.Set_Sensitivity(Sensitivity);
end;

function TRemoteItem.Get_Size: Integer;
begin
    Result := DefaultInterface.Size;
end;

function TRemoteItem.Get_Subject: WideString;
begin
    Result := DefaultInterface.Subject;
end;

procedure TRemoteItem.Set_Subject(const Subject: WideString);
  { Warning: The property Subject has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Subject := Subject;
end;

function TRemoteItem.Get_UnRead: WordBool;
begin
    Result := DefaultInterface.UnRead;
end;

procedure TRemoteItem.Set_UnRead(UnRead: WordBool);
begin
  DefaultInterface.Set_UnRead(UnRead);
end;

function TRemoteItem.Get_UserProperties: UserProperties;
begin
    Result := DefaultInterface.UserProperties;
end;

function TRemoteItem.Get_HasAttachment: WordBool;
begin
    Result := DefaultInterface.HasAttachment;
end;

function TRemoteItem.Get_RemoteMessageClass: WideString;
begin
    Result := DefaultInterface.RemoteMessageClass;
end;

function TRemoteItem.Get_TransferSize: Integer;
begin
    Result := DefaultInterface.TransferSize;
end;

function TRemoteItem.Get_TransferTime: Integer;
begin
    Result := DefaultInterface.TransferTime;
end;

function TRemoteItem.Get_Links: Links;
begin
    Result := DefaultInterface.Links;
end;

function TRemoteItem.Get_DownloadState: OlDownloadState;
begin
    Result := DefaultInterface.DownloadState;
end;

function TRemoteItem.Get_ItemProperties: ItemProperties;
begin
    Result := DefaultInterface.ItemProperties;
end;

function TRemoteItem.Get_MarkForDownload: OlRemoteStatus;
begin
    Result := DefaultInterface.MarkForDownload;
end;

procedure TRemoteItem.Set_MarkForDownload(MarkForDownload: OlRemoteStatus);
begin
  DefaultInterface.Set_MarkForDownload(MarkForDownload);
end;

function TRemoteItem.Get_IsConflict: WordBool;
begin
    Result := DefaultInterface.IsConflict;
end;

procedure TRemoteItem.Close(SaveMode: OlInspectorClose);
begin
  DefaultInterface.Close(SaveMode);
end;

function TRemoteItem.Copy: IDispatch;
begin
  Result := DefaultInterface.Copy;
end;

procedure TRemoteItem.Delete;
begin
  DefaultInterface.Delete;
end;

procedure TRemoteItem.Display;
begin
  DefaultInterface.Display(EmptyParam);
end;

procedure TRemoteItem.Display(Modal: OleVariant);
begin
  DefaultInterface.Display(Modal);
end;

function TRemoteItem.Move(const DestFldr: MAPIFolder): IDispatch;
begin
  Result := DefaultInterface.Move(DestFldr);
end;

procedure TRemoteItem.PrintOut;
begin
  DefaultInterface.PrintOut;
end;

procedure TRemoteItem.Save;
begin
  DefaultInterface.Save;
end;

procedure TRemoteItem.SaveAs(const Path: WideString);
begin
  DefaultInterface.SaveAs(Path, EmptyParam);
end;

procedure TRemoteItem.SaveAs(const Path: WideString; Type_: OleVariant);
begin
  DefaultInterface.SaveAs(Path, Type_);
end;

procedure TRemoteItem.ShowCategoriesDialog;
begin
  DefaultInterface.ShowCategoriesDialog;
end;

{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
constructor TRemoteItemProperties.Create(AServer: TRemoteItem);
begin
  inherited Create;
  FServer := AServer;
end;

function TRemoteItemProperties.GetDefaultInterface: _RemoteItem;
begin
  Result := FServer.DefaultInterface;
end;

function TRemoteItemProperties.Get_Application: _Application;
begin
    Result := DefaultInterface.Application;
end;

function TRemoteItemProperties.Get_Class_: OlObjectClass;
begin
    Result := DefaultInterface.Class_;
end;

function TRemoteItemProperties.Get_Session: _NameSpace;
begin
    Result := DefaultInterface.Session;
end;

function TRemoteItemProperties.Get_Parent: IDispatch;
begin
    Result := DefaultInterface.Parent;
end;

function TRemoteItemProperties.Get_Actions: Actions;
begin
    Result := DefaultInterface.Actions;
end;

function TRemoteItemProperties.Get_Attachments: Attachments;
begin
    Result := DefaultInterface.Attachments;
end;

function TRemoteItemProperties.Get_BillingInformation: WideString;
begin
    Result := DefaultInterface.BillingInformation;
end;

procedure TRemoteItemProperties.Set_BillingInformation(const BillingInformation: WideString);
  { Warning: The property BillingInformation has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.BillingInformation := BillingInformation;
end;

function TRemoteItemProperties.Get_Body: WideString;
begin
    Result := DefaultInterface.Body;
end;

procedure TRemoteItemProperties.Set_Body(const Body: WideString);
  { Warning: The property Body has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Body := Body;
end;

function TRemoteItemProperties.Get_Categories: WideString;
begin
    Result := DefaultInterface.Categories;
end;

procedure TRemoteItemProperties.Set_Categories(const Categories: WideString);
  { Warning: The property Categories has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Categories := Categories;
end;

function TRemoteItemProperties.Get_Companies: WideString;
begin
    Result := DefaultInterface.Companies;
end;

procedure TRemoteItemProperties.Set_Companies(const Companies: WideString);
  { Warning: The property Companies has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Companies := Companies;
end;

function TRemoteItemProperties.Get_ConversationIndex: WideString;
begin
    Result := DefaultInterface.ConversationIndex;
end;

function TRemoteItemProperties.Get_ConversationTopic: WideString;
begin
    Result := DefaultInterface.ConversationTopic;
end;

function TRemoteItemProperties.Get_CreationTime: TDateTime;
begin
    Result := DefaultInterface.CreationTime;
end;

function TRemoteItemProperties.Get_EntryID: WideString;
begin
    Result := DefaultInterface.EntryID;
end;

function TRemoteItemProperties.Get_FormDescription: FormDescription;
begin
    Result := DefaultInterface.FormDescription;
end;

function TRemoteItemProperties.Get_GetInspector: _Inspector;
begin
    Result := DefaultInterface.GetInspector;
end;

function TRemoteItemProperties.Get_Importance: OlImportance;
begin
    Result := DefaultInterface.Importance;
end;

procedure TRemoteItemProperties.Set_Importance(Importance: OlImportance);
begin
  DefaultInterface.Set_Importance(Importance);
end;

function TRemoteItemProperties.Get_LastModificationTime: TDateTime;
begin
    Result := DefaultInterface.LastModificationTime;
end;

function TRemoteItemProperties.Get_MAPIOBJECT: IUnknown;
begin
    Result := DefaultInterface.MAPIOBJECT;
end;

function TRemoteItemProperties.Get_MessageClass: WideString;
begin
    Result := DefaultInterface.MessageClass;
end;

procedure TRemoteItemProperties.Set_MessageClass(const MessageClass: WideString);
  { Warning: The property MessageClass has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.MessageClass := MessageClass;
end;

function TRemoteItemProperties.Get_Mileage: WideString;
begin
    Result := DefaultInterface.Mileage;
end;

procedure TRemoteItemProperties.Set_Mileage(const Mileage: WideString);
  { Warning: The property Mileage has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Mileage := Mileage;
end;

function TRemoteItemProperties.Get_NoAging: WordBool;
begin
    Result := DefaultInterface.NoAging;
end;

procedure TRemoteItemProperties.Set_NoAging(NoAging: WordBool);
begin
  DefaultInterface.Set_NoAging(NoAging);
end;

function TRemoteItemProperties.Get_OutlookInternalVersion: Integer;
begin
    Result := DefaultInterface.OutlookInternalVersion;
end;

function TRemoteItemProperties.Get_OutlookVersion: WideString;
begin
    Result := DefaultInterface.OutlookVersion;
end;

function TRemoteItemProperties.Get_Saved: WordBool;
begin
    Result := DefaultInterface.Saved;
end;

function TRemoteItemProperties.Get_Sensitivity: OlSensitivity;
begin
    Result := DefaultInterface.Sensitivity;
end;

procedure TRemoteItemProperties.Set_Sensitivity(Sensitivity: OlSensitivity);
begin
  DefaultInterface.Set_Sensitivity(Sensitivity);
end;

function TRemoteItemProperties.Get_Size: Integer;
begin
    Result := DefaultInterface.Size;
end;

function TRemoteItemProperties.Get_Subject: WideString;
begin
    Result := DefaultInterface.Subject;
end;

procedure TRemoteItemProperties.Set_Subject(const Subject: WideString);
  { Warning: The property Subject has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Subject := Subject;
end;

function TRemoteItemProperties.Get_UnRead: WordBool;
begin
    Result := DefaultInterface.UnRead;
end;

procedure TRemoteItemProperties.Set_UnRead(UnRead: WordBool);
begin
  DefaultInterface.Set_UnRead(UnRead);
end;

function TRemoteItemProperties.Get_UserProperties: UserProperties;
begin
    Result := DefaultInterface.UserProperties;
end;

function TRemoteItemProperties.Get_HasAttachment: WordBool;
begin
    Result := DefaultInterface.HasAttachment;
end;

function TRemoteItemProperties.Get_RemoteMessageClass: WideString;
begin
    Result := DefaultInterface.RemoteMessageClass;
end;

function TRemoteItemProperties.Get_TransferSize: Integer;
begin
    Result := DefaultInterface.TransferSize;
end;

function TRemoteItemProperties.Get_TransferTime: Integer;
begin
    Result := DefaultInterface.TransferTime;
end;

function TRemoteItemProperties.Get_Links: Links;
begin
    Result := DefaultInterface.Links;
end;

function TRemoteItemProperties.Get_DownloadState: OlDownloadState;
begin
    Result := DefaultInterface.DownloadState;
end;

function TRemoteItemProperties.Get_ItemProperties: ItemProperties;
begin
    Result := DefaultInterface.ItemProperties;
end;

function TRemoteItemProperties.Get_MarkForDownload: OlRemoteStatus;
begin
    Result := DefaultInterface.MarkForDownload;
end;

procedure TRemoteItemProperties.Set_MarkForDownload(MarkForDownload: OlRemoteStatus);
begin
  DefaultInterface.Set_MarkForDownload(MarkForDownload);
end;

function TRemoteItemProperties.Get_IsConflict: WordBool;
begin
    Result := DefaultInterface.IsConflict;
end;

{$ENDIF}

class function CoReportItem.Create: _ReportItem;
begin
  Result := CreateComObject(CLASS_ReportItem) as _ReportItem;
end;

class function CoReportItem.CreateRemote(const MachineName: string): _ReportItem;
begin
  Result := CreateRemoteComObject(MachineName, CLASS_ReportItem) as _ReportItem;
end;

procedure TReportItem.InitServerData;
const
  CServerData: TServerData = (
    ClassID:   '{00061035-0000-0000-C000-000000000046}';
    IntfIID:   '{00063026-0000-0000-C000-000000000046}';
    EventIID:  '{0006302B-0000-0000-C000-000000000046}';
    LicenseKey: nil;
    Version: 500);
begin
  ServerData := @CServerData;
end;

procedure TReportItem.Connect;
var
  punk: IUnknown;
begin
  if FIntf = nil then
  begin
    punk := GetServer;
    ConnectEvents(punk);
    Fintf:= punk as _ReportItem;
  end;
end;

procedure TReportItem.ConnectTo(svrIntf: _ReportItem);
begin
  Disconnect;
  FIntf := svrIntf;
  ConnectEvents(FIntf);
end;

procedure TReportItem.DisConnect;
begin
  if Fintf <> nil then
  begin
    DisconnectEvents(FIntf);
    FIntf := nil;
  end;
end;

function TReportItem.GetDefaultInterface: _ReportItem;
begin
  if FIntf = nil then
    Connect;
  Assert(FIntf <> nil, 'DefaultInterface is NULL. Component is not connected to Server. You must call ''Connect'' or ''ConnectTo'' before this operation');
  Result := FIntf;
end;

constructor TReportItem.Create(AOwner: TComponent);
begin
  inherited Create(AOwner);
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  FProps := TReportItemProperties.Create(Self);
{$ENDIF}
end;

destructor TReportItem.Destroy;
begin
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  FProps.Free;
{$ENDIF}
  inherited Destroy;
end;

{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
function TReportItem.GetServerProperties: TReportItemProperties;
begin
  Result := FProps;
end;
{$ENDIF}

procedure TReportItem.InvokeEvent(DispID: TDispID; var Params: TVariantArray);
begin
  case DispID of
    -1: Exit;  // DISPID_UNKNOWN
    61443: if Assigned(FOnOpen) then
         FOnOpen(Self, WordBool((TVarData(Params[0]).VPointer)^) {var WordBool});
    61446: if Assigned(FOnCustomAction) then
         FOnCustomAction(Self,
                         Params[0] {const IDispatch},
                         Params[1] {const IDispatch},
                         WordBool((TVarData(Params[2]).VPointer)^) {var WordBool});
    61448: if Assigned(FOnCustomPropertyChange) then
         FOnCustomPropertyChange(Self, Params[0] {const WideString});
    62568: if Assigned(FOnForward) then
         FOnForward(Self,
                    Params[0] {const IDispatch},
                    WordBool((TVarData(Params[1]).VPointer)^) {var WordBool});
    61444: if Assigned(FOnClose) then
         FOnClose(Self, WordBool((TVarData(Params[0]).VPointer)^) {var WordBool});
    61449: if Assigned(FOnPropertyChange) then
         FOnPropertyChange(Self, Params[0] {const WideString});
    61441: if Assigned(FOnRead) then
         FOnRead(Self);
    62566: if Assigned(FOnReply) then
         FOnReply(Self,
                  Params[0] {const IDispatch},
                  WordBool((TVarData(Params[1]).VPointer)^) {var WordBool});
    62567: if Assigned(FOnReplyAll) then
         FOnReplyAll(Self,
                     Params[0] {const IDispatch},
                     WordBool((TVarData(Params[1]).VPointer)^) {var WordBool});
    61445: if Assigned(FOnSend) then
         FOnSend(Self, WordBool((TVarData(Params[0]).VPointer)^) {var WordBool});
    61442: if Assigned(FOnWrite) then
         FOnWrite(Self, WordBool((TVarData(Params[0]).VPointer)^) {var WordBool});
    61450: if Assigned(FOnBeforeCheckNames) then
         FOnBeforeCheckNames(Self, WordBool((TVarData(Params[0]).VPointer)^) {var WordBool});
    61451: if Assigned(FOnAttachmentAdd) then
         FOnAttachmentAdd(Self, IUnknown(TVarData(Params[0]).VPointer) as Attachment {const Attachment});
    61452: if Assigned(FOnAttachmentRead) then
         FOnAttachmentRead(Self, IUnknown(TVarData(Params[0]).VPointer) as Attachment {const Attachment});
    61453: if Assigned(FOnBeforeAttachmentSave) then
         FOnBeforeAttachmentSave(Self,
                                 IUnknown(TVarData(Params[0]).VPointer) as Attachment {const Attachment},
                                 WordBool((TVarData(Params[1]).VPointer)^) {var WordBool});
    64117: if Assigned(FOnBeforeDelete) then
         FOnBeforeDelete(Self,
                         Params[0] {const IDispatch},
                         WordBool((TVarData(Params[1]).VPointer)^) {var WordBool});
  end; {case DispID}
end;

function TReportItem.Get_Application: _Application;
begin
    Result := DefaultInterface.Application;
end;

function TReportItem.Get_Class_: OlObjectClass;
begin
    Result := DefaultInterface.Class_;
end;

function TReportItem.Get_Session: _NameSpace;
begin
    Result := DefaultInterface.Session;
end;

function TReportItem.Get_Parent: IDispatch;
begin
    Result := DefaultInterface.Parent;
end;

function TReportItem.Get_Actions: Actions;
begin
    Result := DefaultInterface.Actions;
end;

function TReportItem.Get_Attachments: Attachments;
begin
    Result := DefaultInterface.Attachments;
end;

function TReportItem.Get_BillingInformation: WideString;
begin
    Result := DefaultInterface.BillingInformation;
end;

procedure TReportItem.Set_BillingInformation(const BillingInformation: WideString);
  { Warning: The property BillingInformation has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.BillingInformation := BillingInformation;
end;

function TReportItem.Get_Body: WideString;
begin
    Result := DefaultInterface.Body;
end;

procedure TReportItem.Set_Body(const Body: WideString);
  { Warning: The property Body has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Body := Body;
end;

function TReportItem.Get_Categories: WideString;
begin
    Result := DefaultInterface.Categories;
end;

procedure TReportItem.Set_Categories(const Categories: WideString);
  { Warning: The property Categories has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Categories := Categories;
end;

function TReportItem.Get_Companies: WideString;
begin
    Result := DefaultInterface.Companies;
end;

procedure TReportItem.Set_Companies(const Companies: WideString);
  { Warning: The property Companies has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Companies := Companies;
end;

function TReportItem.Get_ConversationIndex: WideString;
begin
    Result := DefaultInterface.ConversationIndex;
end;

function TReportItem.Get_ConversationTopic: WideString;
begin
    Result := DefaultInterface.ConversationTopic;
end;

function TReportItem.Get_CreationTime: TDateTime;
begin
    Result := DefaultInterface.CreationTime;
end;

function TReportItem.Get_EntryID: WideString;
begin
    Result := DefaultInterface.EntryID;
end;

function TReportItem.Get_FormDescription: FormDescription;
begin
    Result := DefaultInterface.FormDescription;
end;

function TReportItem.Get_GetInspector: _Inspector;
begin
    Result := DefaultInterface.GetInspector;
end;

function TReportItem.Get_Importance: OlImportance;
begin
    Result := DefaultInterface.Importance;
end;

procedure TReportItem.Set_Importance(Importance: OlImportance);
begin
  DefaultInterface.Set_Importance(Importance);
end;

function TReportItem.Get_LastModificationTime: TDateTime;
begin
    Result := DefaultInterface.LastModificationTime;
end;

function TReportItem.Get_MAPIOBJECT: IUnknown;
begin
    Result := DefaultInterface.MAPIOBJECT;
end;

function TReportItem.Get_MessageClass: WideString;
begin
    Result := DefaultInterface.MessageClass;
end;

procedure TReportItem.Set_MessageClass(const MessageClass: WideString);
  { Warning: The property MessageClass has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.MessageClass := MessageClass;
end;

function TReportItem.Get_Mileage: WideString;
begin
    Result := DefaultInterface.Mileage;
end;

procedure TReportItem.Set_Mileage(const Mileage: WideString);
  { Warning: The property Mileage has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Mileage := Mileage;
end;

function TReportItem.Get_NoAging: WordBool;
begin
    Result := DefaultInterface.NoAging;
end;

procedure TReportItem.Set_NoAging(NoAging: WordBool);
begin
  DefaultInterface.Set_NoAging(NoAging);
end;

function TReportItem.Get_OutlookInternalVersion: Integer;
begin
    Result := DefaultInterface.OutlookInternalVersion;
end;

function TReportItem.Get_OutlookVersion: WideString;
begin
    Result := DefaultInterface.OutlookVersion;
end;

function TReportItem.Get_Saved: WordBool;
begin
    Result := DefaultInterface.Saved;
end;

function TReportItem.Get_Sensitivity: OlSensitivity;
begin
    Result := DefaultInterface.Sensitivity;
end;

procedure TReportItem.Set_Sensitivity(Sensitivity: OlSensitivity);
begin
  DefaultInterface.Set_Sensitivity(Sensitivity);
end;

function TReportItem.Get_Size: Integer;
begin
    Result := DefaultInterface.Size;
end;

function TReportItem.Get_Subject: WideString;
begin
    Result := DefaultInterface.Subject;
end;

procedure TReportItem.Set_Subject(const Subject: WideString);
  { Warning: The property Subject has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Subject := Subject;
end;

function TReportItem.Get_UnRead: WordBool;
begin
    Result := DefaultInterface.UnRead;
end;

procedure TReportItem.Set_UnRead(UnRead: WordBool);
begin
  DefaultInterface.Set_UnRead(UnRead);
end;

function TReportItem.Get_UserProperties: UserProperties;
begin
    Result := DefaultInterface.UserProperties;
end;

function TReportItem.Get_Links: Links;
begin
    Result := DefaultInterface.Links;
end;

function TReportItem.Get_DownloadState: OlDownloadState;
begin
    Result := DefaultInterface.DownloadState;
end;

function TReportItem.Get_ItemProperties: ItemProperties;
begin
    Result := DefaultInterface.ItemProperties;
end;

function TReportItem.Get_MarkForDownload: OlRemoteStatus;
begin
    Result := DefaultInterface.MarkForDownload;
end;

procedure TReportItem.Set_MarkForDownload(MarkForDownload: OlRemoteStatus);
begin
  DefaultInterface.Set_MarkForDownload(MarkForDownload);
end;

function TReportItem.Get_IsConflict: WordBool;
begin
    Result := DefaultInterface.IsConflict;
end;

procedure TReportItem.Close(SaveMode: OlInspectorClose);
begin
  DefaultInterface.Close(SaveMode);
end;

function TReportItem.Copy: IDispatch;
begin
  Result := DefaultInterface.Copy;
end;

procedure TReportItem.Delete;
begin
  DefaultInterface.Delete;
end;

procedure TReportItem.Display;
begin
  DefaultInterface.Display(EmptyParam);
end;

procedure TReportItem.Display(Modal: OleVariant);
begin
  DefaultInterface.Display(Modal);
end;

function TReportItem.Move(const DestFldr: MAPIFolder): IDispatch;
begin
  Result := DefaultInterface.Move(DestFldr);
end;

procedure TReportItem.PrintOut;
begin
  DefaultInterface.PrintOut;
end;

procedure TReportItem.Save;
begin
  DefaultInterface.Save;
end;

procedure TReportItem.SaveAs(const Path: WideString);
begin
  DefaultInterface.SaveAs(Path, EmptyParam);
end;

procedure TReportItem.SaveAs(const Path: WideString; Type_: OleVariant);
begin
  DefaultInterface.SaveAs(Path, Type_);
end;

procedure TReportItem.ShowCategoriesDialog;
begin
  DefaultInterface.ShowCategoriesDialog;
end;

{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
constructor TReportItemProperties.Create(AServer: TReportItem);
begin
  inherited Create;
  FServer := AServer;
end;

function TReportItemProperties.GetDefaultInterface: _ReportItem;
begin
  Result := FServer.DefaultInterface;
end;

function TReportItemProperties.Get_Application: _Application;
begin
    Result := DefaultInterface.Application;
end;

function TReportItemProperties.Get_Class_: OlObjectClass;
begin
    Result := DefaultInterface.Class_;
end;

function TReportItemProperties.Get_Session: _NameSpace;
begin
    Result := DefaultInterface.Session;
end;

function TReportItemProperties.Get_Parent: IDispatch;
begin
    Result := DefaultInterface.Parent;
end;

function TReportItemProperties.Get_Actions: Actions;
begin
    Result := DefaultInterface.Actions;
end;

function TReportItemProperties.Get_Attachments: Attachments;
begin
    Result := DefaultInterface.Attachments;
end;

function TReportItemProperties.Get_BillingInformation: WideString;
begin
    Result := DefaultInterface.BillingInformation;
end;

procedure TReportItemProperties.Set_BillingInformation(const BillingInformation: WideString);
  { Warning: The property BillingInformation has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.BillingInformation := BillingInformation;
end;

function TReportItemProperties.Get_Body: WideString;
begin
    Result := DefaultInterface.Body;
end;

procedure TReportItemProperties.Set_Body(const Body: WideString);
  { Warning: The property Body has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Body := Body;
end;

function TReportItemProperties.Get_Categories: WideString;
begin
    Result := DefaultInterface.Categories;
end;

procedure TReportItemProperties.Set_Categories(const Categories: WideString);
  { Warning: The property Categories has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Categories := Categories;
end;

function TReportItemProperties.Get_Companies: WideString;
begin
    Result := DefaultInterface.Companies;
end;

procedure TReportItemProperties.Set_Companies(const Companies: WideString);
  { Warning: The property Companies has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Companies := Companies;
end;

function TReportItemProperties.Get_ConversationIndex: WideString;
begin
    Result := DefaultInterface.ConversationIndex;
end;

function TReportItemProperties.Get_ConversationTopic: WideString;
begin
    Result := DefaultInterface.ConversationTopic;
end;

function TReportItemProperties.Get_CreationTime: TDateTime;
begin
    Result := DefaultInterface.CreationTime;
end;

function TReportItemProperties.Get_EntryID: WideString;
begin
    Result := DefaultInterface.EntryID;
end;

function TReportItemProperties.Get_FormDescription: FormDescription;
begin
    Result := DefaultInterface.FormDescription;
end;

function TReportItemProperties.Get_GetInspector: _Inspector;
begin
    Result := DefaultInterface.GetInspector;
end;

function TReportItemProperties.Get_Importance: OlImportance;
begin
    Result := DefaultInterface.Importance;
end;

procedure TReportItemProperties.Set_Importance(Importance: OlImportance);
begin
  DefaultInterface.Set_Importance(Importance);
end;

function TReportItemProperties.Get_LastModificationTime: TDateTime;
begin
    Result := DefaultInterface.LastModificationTime;
end;

function TReportItemProperties.Get_MAPIOBJECT: IUnknown;
begin
    Result := DefaultInterface.MAPIOBJECT;
end;

function TReportItemProperties.Get_MessageClass: WideString;
begin
    Result := DefaultInterface.MessageClass;
end;

procedure TReportItemProperties.Set_MessageClass(const MessageClass: WideString);
  { Warning: The property MessageClass has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.MessageClass := MessageClass;
end;

function TReportItemProperties.Get_Mileage: WideString;
begin
    Result := DefaultInterface.Mileage;
end;

procedure TReportItemProperties.Set_Mileage(const Mileage: WideString);
  { Warning: The property Mileage has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Mileage := Mileage;
end;

function TReportItemProperties.Get_NoAging: WordBool;
begin
    Result := DefaultInterface.NoAging;
end;

procedure TReportItemProperties.Set_NoAging(NoAging: WordBool);
begin
  DefaultInterface.Set_NoAging(NoAging);
end;

function TReportItemProperties.Get_OutlookInternalVersion: Integer;
begin
    Result := DefaultInterface.OutlookInternalVersion;
end;

function TReportItemProperties.Get_OutlookVersion: WideString;
begin
    Result := DefaultInterface.OutlookVersion;
end;

function TReportItemProperties.Get_Saved: WordBool;
begin
    Result := DefaultInterface.Saved;
end;

function TReportItemProperties.Get_Sensitivity: OlSensitivity;
begin
    Result := DefaultInterface.Sensitivity;
end;

procedure TReportItemProperties.Set_Sensitivity(Sensitivity: OlSensitivity);
begin
  DefaultInterface.Set_Sensitivity(Sensitivity);
end;

function TReportItemProperties.Get_Size: Integer;
begin
    Result := DefaultInterface.Size;
end;

function TReportItemProperties.Get_Subject: WideString;
begin
    Result := DefaultInterface.Subject;
end;

procedure TReportItemProperties.Set_Subject(const Subject: WideString);
  { Warning: The property Subject has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Subject := Subject;
end;

function TReportItemProperties.Get_UnRead: WordBool;
begin
    Result := DefaultInterface.UnRead;
end;

procedure TReportItemProperties.Set_UnRead(UnRead: WordBool);
begin
  DefaultInterface.Set_UnRead(UnRead);
end;

function TReportItemProperties.Get_UserProperties: UserProperties;
begin
    Result := DefaultInterface.UserProperties;
end;

function TReportItemProperties.Get_Links: Links;
begin
    Result := DefaultInterface.Links;
end;

function TReportItemProperties.Get_DownloadState: OlDownloadState;
begin
    Result := DefaultInterface.DownloadState;
end;

function TReportItemProperties.Get_ItemProperties: ItemProperties;
begin
    Result := DefaultInterface.ItemProperties;
end;

function TReportItemProperties.Get_MarkForDownload: OlRemoteStatus;
begin
    Result := DefaultInterface.MarkForDownload;
end;

procedure TReportItemProperties.Set_MarkForDownload(MarkForDownload: OlRemoteStatus);
begin
  DefaultInterface.Set_MarkForDownload(MarkForDownload);
end;

function TReportItemProperties.Get_IsConflict: WordBool;
begin
    Result := DefaultInterface.IsConflict;
end;

{$ENDIF}

class function CoTaskRequestAcceptItem.Create: _TaskRequestAcceptItem;
begin
  Result := CreateComObject(CLASS_TaskRequestAcceptItem) as _TaskRequestAcceptItem;
end;

class function CoTaskRequestAcceptItem.CreateRemote(const MachineName: string): _TaskRequestAcceptItem;
begin
  Result := CreateRemoteComObject(MachineName, CLASS_TaskRequestAcceptItem) as _TaskRequestAcceptItem;
end;

procedure TTaskRequestAcceptItem.InitServerData;
const
  CServerData: TServerData = (
    ClassID:   '{00061052-0000-0000-C000-000000000046}';
    IntfIID:   '{00063038-0000-0000-C000-000000000046}';
    EventIID:  '{0006302B-0000-0000-C000-000000000046}';
    LicenseKey: nil;
    Version: 500);
begin
  ServerData := @CServerData;
end;

procedure TTaskRequestAcceptItem.Connect;
var
  punk: IUnknown;
begin
  if FIntf = nil then
  begin
    punk := GetServer;
    ConnectEvents(punk);
    Fintf:= punk as _TaskRequestAcceptItem;
  end;
end;

procedure TTaskRequestAcceptItem.ConnectTo(svrIntf: _TaskRequestAcceptItem);
begin
  Disconnect;
  FIntf := svrIntf;
  ConnectEvents(FIntf);
end;

procedure TTaskRequestAcceptItem.DisConnect;
begin
  if Fintf <> nil then
  begin
    DisconnectEvents(FIntf);
    FIntf := nil;
  end;
end;

function TTaskRequestAcceptItem.GetDefaultInterface: _TaskRequestAcceptItem;
begin
  if FIntf = nil then
    Connect;
  Assert(FIntf <> nil, 'DefaultInterface is NULL. Component is not connected to Server. You must call ''Connect'' or ''ConnectTo'' before this operation');
  Result := FIntf;
end;

constructor TTaskRequestAcceptItem.Create(AOwner: TComponent);
begin
  inherited Create(AOwner);
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  FProps := TTaskRequestAcceptItemProperties.Create(Self);
{$ENDIF}
end;

destructor TTaskRequestAcceptItem.Destroy;
begin
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  FProps.Free;
{$ENDIF}
  inherited Destroy;
end;

{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
function TTaskRequestAcceptItem.GetServerProperties: TTaskRequestAcceptItemProperties;
begin
  Result := FProps;
end;
{$ENDIF}

procedure TTaskRequestAcceptItem.InvokeEvent(DispID: TDispID; var Params: TVariantArray);
begin
  case DispID of
    -1: Exit;  // DISPID_UNKNOWN
    61443: if Assigned(FOnOpen) then
         FOnOpen(Self, WordBool((TVarData(Params[0]).VPointer)^) {var WordBool});
    61446: if Assigned(FOnCustomAction) then
         FOnCustomAction(Self,
                         Params[0] {const IDispatch},
                         Params[1] {const IDispatch},
                         WordBool((TVarData(Params[2]).VPointer)^) {var WordBool});
    61448: if Assigned(FOnCustomPropertyChange) then
         FOnCustomPropertyChange(Self, Params[0] {const WideString});
    62568: if Assigned(FOnForward) then
         FOnForward(Self,
                    Params[0] {const IDispatch},
                    WordBool((TVarData(Params[1]).VPointer)^) {var WordBool});
    61444: if Assigned(FOnClose) then
         FOnClose(Self, WordBool((TVarData(Params[0]).VPointer)^) {var WordBool});
    61449: if Assigned(FOnPropertyChange) then
         FOnPropertyChange(Self, Params[0] {const WideString});
    61441: if Assigned(FOnRead) then
         FOnRead(Self);
    62566: if Assigned(FOnReply) then
         FOnReply(Self,
                  Params[0] {const IDispatch},
                  WordBool((TVarData(Params[1]).VPointer)^) {var WordBool});
    62567: if Assigned(FOnReplyAll) then
         FOnReplyAll(Self,
                     Params[0] {const IDispatch},
                     WordBool((TVarData(Params[1]).VPointer)^) {var WordBool});
    61445: if Assigned(FOnSend) then
         FOnSend(Self, WordBool((TVarData(Params[0]).VPointer)^) {var WordBool});
    61442: if Assigned(FOnWrite) then
         FOnWrite(Self, WordBool((TVarData(Params[0]).VPointer)^) {var WordBool});
    61450: if Assigned(FOnBeforeCheckNames) then
         FOnBeforeCheckNames(Self, WordBool((TVarData(Params[0]).VPointer)^) {var WordBool});
    61451: if Assigned(FOnAttachmentAdd) then
         FOnAttachmentAdd(Self, IUnknown(TVarData(Params[0]).VPointer) as Attachment {const Attachment});
    61452: if Assigned(FOnAttachmentRead) then
         FOnAttachmentRead(Self, IUnknown(TVarData(Params[0]).VPointer) as Attachment {const Attachment});
    61453: if Assigned(FOnBeforeAttachmentSave) then
         FOnBeforeAttachmentSave(Self,
                                 IUnknown(TVarData(Params[0]).VPointer) as Attachment {const Attachment},
                                 WordBool((TVarData(Params[1]).VPointer)^) {var WordBool});
    64117: if Assigned(FOnBeforeDelete) then
         FOnBeforeDelete(Self,
                         Params[0] {const IDispatch},
                         WordBool((TVarData(Params[1]).VPointer)^) {var WordBool});
  end; {case DispID}
end;

function TTaskRequestAcceptItem.Get_Application: _Application;
begin
    Result := DefaultInterface.Application;
end;

function TTaskRequestAcceptItem.Get_Class_: OlObjectClass;
begin
    Result := DefaultInterface.Class_;
end;

function TTaskRequestAcceptItem.Get_Session: _NameSpace;
begin
    Result := DefaultInterface.Session;
end;

function TTaskRequestAcceptItem.Get_Parent: IDispatch;
begin
    Result := DefaultInterface.Parent;
end;

function TTaskRequestAcceptItem.Get_Actions: Actions;
begin
    Result := DefaultInterface.Actions;
end;

function TTaskRequestAcceptItem.Get_Attachments: Attachments;
begin
    Result := DefaultInterface.Attachments;
end;

function TTaskRequestAcceptItem.Get_BillingInformation: WideString;
begin
    Result := DefaultInterface.BillingInformation;
end;

procedure TTaskRequestAcceptItem.Set_BillingInformation(const BillingInformation: WideString);
  { Warning: The property BillingInformation has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.BillingInformation := BillingInformation;
end;

function TTaskRequestAcceptItem.Get_Body: WideString;
begin
    Result := DefaultInterface.Body;
end;

procedure TTaskRequestAcceptItem.Set_Body(const Body: WideString);
  { Warning: The property Body has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Body := Body;
end;

function TTaskRequestAcceptItem.Get_Categories: WideString;
begin
    Result := DefaultInterface.Categories;
end;

procedure TTaskRequestAcceptItem.Set_Categories(const Categories: WideString);
  { Warning: The property Categories has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Categories := Categories;
end;

function TTaskRequestAcceptItem.Get_Companies: WideString;
begin
    Result := DefaultInterface.Companies;
end;

procedure TTaskRequestAcceptItem.Set_Companies(const Companies: WideString);
  { Warning: The property Companies has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Companies := Companies;
end;

function TTaskRequestAcceptItem.Get_ConversationIndex: WideString;
begin
    Result := DefaultInterface.ConversationIndex;
end;

function TTaskRequestAcceptItem.Get_ConversationTopic: WideString;
begin
    Result := DefaultInterface.ConversationTopic;
end;

function TTaskRequestAcceptItem.Get_CreationTime: TDateTime;
begin
    Result := DefaultInterface.CreationTime;
end;

function TTaskRequestAcceptItem.Get_EntryID: WideString;
begin
    Result := DefaultInterface.EntryID;
end;

function TTaskRequestAcceptItem.Get_FormDescription: FormDescription;
begin
    Result := DefaultInterface.FormDescription;
end;

function TTaskRequestAcceptItem.Get_GetInspector: _Inspector;
begin
    Result := DefaultInterface.GetInspector;
end;

function TTaskRequestAcceptItem.Get_Importance: OlImportance;
begin
    Result := DefaultInterface.Importance;
end;

procedure TTaskRequestAcceptItem.Set_Importance(Importance: OlImportance);
begin
  DefaultInterface.Set_Importance(Importance);
end;

function TTaskRequestAcceptItem.Get_LastModificationTime: TDateTime;
begin
    Result := DefaultInterface.LastModificationTime;
end;

function TTaskRequestAcceptItem.Get_MAPIOBJECT: IUnknown;
begin
    Result := DefaultInterface.MAPIOBJECT;
end;

function TTaskRequestAcceptItem.Get_MessageClass: WideString;
begin
    Result := DefaultInterface.MessageClass;
end;

procedure TTaskRequestAcceptItem.Set_MessageClass(const MessageClass: WideString);
  { Warning: The property MessageClass has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.MessageClass := MessageClass;
end;

function TTaskRequestAcceptItem.Get_Mileage: WideString;
begin
    Result := DefaultInterface.Mileage;
end;

procedure TTaskRequestAcceptItem.Set_Mileage(const Mileage: WideString);
  { Warning: The property Mileage has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Mileage := Mileage;
end;

function TTaskRequestAcceptItem.Get_NoAging: WordBool;
begin
    Result := DefaultInterface.NoAging;
end;

procedure TTaskRequestAcceptItem.Set_NoAging(NoAging: WordBool);
begin
  DefaultInterface.Set_NoAging(NoAging);
end;

function TTaskRequestAcceptItem.Get_OutlookInternalVersion: Integer;
begin
    Result := DefaultInterface.OutlookInternalVersion;
end;

function TTaskRequestAcceptItem.Get_OutlookVersion: WideString;
begin
    Result := DefaultInterface.OutlookVersion;
end;

function TTaskRequestAcceptItem.Get_Saved: WordBool;
begin
    Result := DefaultInterface.Saved;
end;

function TTaskRequestAcceptItem.Get_Sensitivity: OlSensitivity;
begin
    Result := DefaultInterface.Sensitivity;
end;

procedure TTaskRequestAcceptItem.Set_Sensitivity(Sensitivity: OlSensitivity);
begin
  DefaultInterface.Set_Sensitivity(Sensitivity);
end;

function TTaskRequestAcceptItem.Get_Size: Integer;
begin
    Result := DefaultInterface.Size;
end;

function TTaskRequestAcceptItem.Get_Subject: WideString;
begin
    Result := DefaultInterface.Subject;
end;

procedure TTaskRequestAcceptItem.Set_Subject(const Subject: WideString);
  { Warning: The property Subject has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Subject := Subject;
end;

function TTaskRequestAcceptItem.Get_UnRead: WordBool;
begin
    Result := DefaultInterface.UnRead;
end;

procedure TTaskRequestAcceptItem.Set_UnRead(UnRead: WordBool);
begin
  DefaultInterface.Set_UnRead(UnRead);
end;

function TTaskRequestAcceptItem.Get_UserProperties: UserProperties;
begin
    Result := DefaultInterface.UserProperties;
end;

function TTaskRequestAcceptItem.Get_Links: Links;
begin
    Result := DefaultInterface.Links;
end;

function TTaskRequestAcceptItem.Get_DownloadState: OlDownloadState;
begin
    Result := DefaultInterface.DownloadState;
end;

function TTaskRequestAcceptItem.Get_ItemProperties: ItemProperties;
begin
    Result := DefaultInterface.ItemProperties;
end;

function TTaskRequestAcceptItem.Get_MarkForDownload: OlRemoteStatus;
begin
    Result := DefaultInterface.MarkForDownload;
end;

procedure TTaskRequestAcceptItem.Set_MarkForDownload(MarkForDownload: OlRemoteStatus);
begin
  DefaultInterface.Set_MarkForDownload(MarkForDownload);
end;

function TTaskRequestAcceptItem.Get_IsConflict: WordBool;
begin
    Result := DefaultInterface.IsConflict;
end;

procedure TTaskRequestAcceptItem.Close(SaveMode: OlInspectorClose);
begin
  DefaultInterface.Close(SaveMode);
end;

function TTaskRequestAcceptItem.Copy: IDispatch;
begin
  Result := DefaultInterface.Copy;
end;

procedure TTaskRequestAcceptItem.Delete;
begin
  DefaultInterface.Delete;
end;

procedure TTaskRequestAcceptItem.Display;
begin
  DefaultInterface.Display(EmptyParam);
end;

procedure TTaskRequestAcceptItem.Display(Modal: OleVariant);
begin
  DefaultInterface.Display(Modal);
end;

function TTaskRequestAcceptItem.Move(const DestFldr: MAPIFolder): IDispatch;
begin
  Result := DefaultInterface.Move(DestFldr);
end;

procedure TTaskRequestAcceptItem.PrintOut;
begin
  DefaultInterface.PrintOut;
end;

procedure TTaskRequestAcceptItem.Save;
begin
  DefaultInterface.Save;
end;

procedure TTaskRequestAcceptItem.SaveAs(const Path: WideString);
begin
  DefaultInterface.SaveAs(Path, EmptyParam);
end;

procedure TTaskRequestAcceptItem.SaveAs(const Path: WideString; Type_: OleVariant);
begin
  DefaultInterface.SaveAs(Path, Type_);
end;

function TTaskRequestAcceptItem.GetAssociatedTask(AddToTaskList: WordBool): TaskItem;
begin
  Result := DefaultInterface.GetAssociatedTask(AddToTaskList);
end;

procedure TTaskRequestAcceptItem.ShowCategoriesDialog;
begin
  DefaultInterface.ShowCategoriesDialog;
end;

{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
constructor TTaskRequestAcceptItemProperties.Create(AServer: TTaskRequestAcceptItem);
begin
  inherited Create;
  FServer := AServer;
end;

function TTaskRequestAcceptItemProperties.GetDefaultInterface: _TaskRequestAcceptItem;
begin
  Result := FServer.DefaultInterface;
end;

function TTaskRequestAcceptItemProperties.Get_Application: _Application;
begin
    Result := DefaultInterface.Application;
end;

function TTaskRequestAcceptItemProperties.Get_Class_: OlObjectClass;
begin
    Result := DefaultInterface.Class_;
end;

function TTaskRequestAcceptItemProperties.Get_Session: _NameSpace;
begin
    Result := DefaultInterface.Session;
end;

function TTaskRequestAcceptItemProperties.Get_Parent: IDispatch;
begin
    Result := DefaultInterface.Parent;
end;

function TTaskRequestAcceptItemProperties.Get_Actions: Actions;
begin
    Result := DefaultInterface.Actions;
end;

function TTaskRequestAcceptItemProperties.Get_Attachments: Attachments;
begin
    Result := DefaultInterface.Attachments;
end;

function TTaskRequestAcceptItemProperties.Get_BillingInformation: WideString;
begin
    Result := DefaultInterface.BillingInformation;
end;

procedure TTaskRequestAcceptItemProperties.Set_BillingInformation(const BillingInformation: WideString);
  { Warning: The property BillingInformation has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.BillingInformation := BillingInformation;
end;

function TTaskRequestAcceptItemProperties.Get_Body: WideString;
begin
    Result := DefaultInterface.Body;
end;

procedure TTaskRequestAcceptItemProperties.Set_Body(const Body: WideString);
  { Warning: The property Body has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Body := Body;
end;

function TTaskRequestAcceptItemProperties.Get_Categories: WideString;
begin
    Result := DefaultInterface.Categories;
end;

procedure TTaskRequestAcceptItemProperties.Set_Categories(const Categories: WideString);
  { Warning: The property Categories has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Categories := Categories;
end;

function TTaskRequestAcceptItemProperties.Get_Companies: WideString;
begin
    Result := DefaultInterface.Companies;
end;

procedure TTaskRequestAcceptItemProperties.Set_Companies(const Companies: WideString);
  { Warning: The property Companies has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Companies := Companies;
end;

function TTaskRequestAcceptItemProperties.Get_ConversationIndex: WideString;
begin
    Result := DefaultInterface.ConversationIndex;
end;

function TTaskRequestAcceptItemProperties.Get_ConversationTopic: WideString;
begin
    Result := DefaultInterface.ConversationTopic;
end;

function TTaskRequestAcceptItemProperties.Get_CreationTime: TDateTime;
begin
    Result := DefaultInterface.CreationTime;
end;

function TTaskRequestAcceptItemProperties.Get_EntryID: WideString;
begin
    Result := DefaultInterface.EntryID;
end;

function TTaskRequestAcceptItemProperties.Get_FormDescription: FormDescription;
begin
    Result := DefaultInterface.FormDescription;
end;

function TTaskRequestAcceptItemProperties.Get_GetInspector: _Inspector;
begin
    Result := DefaultInterface.GetInspector;
end;

function TTaskRequestAcceptItemProperties.Get_Importance: OlImportance;
begin
    Result := DefaultInterface.Importance;
end;

procedure TTaskRequestAcceptItemProperties.Set_Importance(Importance: OlImportance);
begin
  DefaultInterface.Set_Importance(Importance);
end;

function TTaskRequestAcceptItemProperties.Get_LastModificationTime: TDateTime;
begin
    Result := DefaultInterface.LastModificationTime;
end;

function TTaskRequestAcceptItemProperties.Get_MAPIOBJECT: IUnknown;
begin
    Result := DefaultInterface.MAPIOBJECT;
end;

function TTaskRequestAcceptItemProperties.Get_MessageClass: WideString;
begin
    Result := DefaultInterface.MessageClass;
end;

procedure TTaskRequestAcceptItemProperties.Set_MessageClass(const MessageClass: WideString);
  { Warning: The property MessageClass has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.MessageClass := MessageClass;
end;

function TTaskRequestAcceptItemProperties.Get_Mileage: WideString;
begin
    Result := DefaultInterface.Mileage;
end;

procedure TTaskRequestAcceptItemProperties.Set_Mileage(const Mileage: WideString);
  { Warning: The property Mileage has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Mileage := Mileage;
end;

function TTaskRequestAcceptItemProperties.Get_NoAging: WordBool;
begin
    Result := DefaultInterface.NoAging;
end;

procedure TTaskRequestAcceptItemProperties.Set_NoAging(NoAging: WordBool);
begin
  DefaultInterface.Set_NoAging(NoAging);
end;

function TTaskRequestAcceptItemProperties.Get_OutlookInternalVersion: Integer;
begin
    Result := DefaultInterface.OutlookInternalVersion;
end;

function TTaskRequestAcceptItemProperties.Get_OutlookVersion: WideString;
begin
    Result := DefaultInterface.OutlookVersion;
end;

function TTaskRequestAcceptItemProperties.Get_Saved: WordBool;
begin
    Result := DefaultInterface.Saved;
end;

function TTaskRequestAcceptItemProperties.Get_Sensitivity: OlSensitivity;
begin
    Result := DefaultInterface.Sensitivity;
end;

procedure TTaskRequestAcceptItemProperties.Set_Sensitivity(Sensitivity: OlSensitivity);
begin
  DefaultInterface.Set_Sensitivity(Sensitivity);
end;

function TTaskRequestAcceptItemProperties.Get_Size: Integer;
begin
    Result := DefaultInterface.Size;
end;

function TTaskRequestAcceptItemProperties.Get_Subject: WideString;
begin
    Result := DefaultInterface.Subject;
end;

procedure TTaskRequestAcceptItemProperties.Set_Subject(const Subject: WideString);
  { Warning: The property Subject has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Subject := Subject;
end;

function TTaskRequestAcceptItemProperties.Get_UnRead: WordBool;
begin
    Result := DefaultInterface.UnRead;
end;

procedure TTaskRequestAcceptItemProperties.Set_UnRead(UnRead: WordBool);
begin
  DefaultInterface.Set_UnRead(UnRead);
end;

function TTaskRequestAcceptItemProperties.Get_UserProperties: UserProperties;
begin
    Result := DefaultInterface.UserProperties;
end;

function TTaskRequestAcceptItemProperties.Get_Links: Links;
begin
    Result := DefaultInterface.Links;
end;

function TTaskRequestAcceptItemProperties.Get_DownloadState: OlDownloadState;
begin
    Result := DefaultInterface.DownloadState;
end;

function TTaskRequestAcceptItemProperties.Get_ItemProperties: ItemProperties;
begin
    Result := DefaultInterface.ItemProperties;
end;

function TTaskRequestAcceptItemProperties.Get_MarkForDownload: OlRemoteStatus;
begin
    Result := DefaultInterface.MarkForDownload;
end;

procedure TTaskRequestAcceptItemProperties.Set_MarkForDownload(MarkForDownload: OlRemoteStatus);
begin
  DefaultInterface.Set_MarkForDownload(MarkForDownload);
end;

function TTaskRequestAcceptItemProperties.Get_IsConflict: WordBool;
begin
    Result := DefaultInterface.IsConflict;
end;

{$ENDIF}

class function CoTaskRequestDeclineItem.Create: _TaskRequestDeclineItem;
begin
  Result := CreateComObject(CLASS_TaskRequestDeclineItem) as _TaskRequestDeclineItem;
end;

class function CoTaskRequestDeclineItem.CreateRemote(const MachineName: string): _TaskRequestDeclineItem;
begin
  Result := CreateRemoteComObject(MachineName, CLASS_TaskRequestDeclineItem) as _TaskRequestDeclineItem;
end;

procedure TTaskRequestDeclineItem.InitServerData;
const
  CServerData: TServerData = (
    ClassID:   '{00061053-0000-0000-C000-000000000046}';
    IntfIID:   '{00063039-0000-0000-C000-000000000046}';
    EventIID:  '{0006302B-0000-0000-C000-000000000046}';
    LicenseKey: nil;
    Version: 500);
begin
  ServerData := @CServerData;
end;

procedure TTaskRequestDeclineItem.Connect;
var
  punk: IUnknown;
begin
  if FIntf = nil then
  begin
    punk := GetServer;
    ConnectEvents(punk);
    Fintf:= punk as _TaskRequestDeclineItem;
  end;
end;

procedure TTaskRequestDeclineItem.ConnectTo(svrIntf: _TaskRequestDeclineItem);
begin
  Disconnect;
  FIntf := svrIntf;
  ConnectEvents(FIntf);
end;

procedure TTaskRequestDeclineItem.DisConnect;
begin
  if Fintf <> nil then
  begin
    DisconnectEvents(FIntf);
    FIntf := nil;
  end;
end;

function TTaskRequestDeclineItem.GetDefaultInterface: _TaskRequestDeclineItem;
begin
  if FIntf = nil then
    Connect;
  Assert(FIntf <> nil, 'DefaultInterface is NULL. Component is not connected to Server. You must call ''Connect'' or ''ConnectTo'' before this operation');
  Result := FIntf;
end;

constructor TTaskRequestDeclineItem.Create(AOwner: TComponent);
begin
  inherited Create(AOwner);
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  FProps := TTaskRequestDeclineItemProperties.Create(Self);
{$ENDIF}
end;

destructor TTaskRequestDeclineItem.Destroy;
begin
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  FProps.Free;
{$ENDIF}
  inherited Destroy;
end;

{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
function TTaskRequestDeclineItem.GetServerProperties: TTaskRequestDeclineItemProperties;
begin
  Result := FProps;
end;
{$ENDIF}

procedure TTaskRequestDeclineItem.InvokeEvent(DispID: TDispID; var Params: TVariantArray);
begin
  case DispID of
    -1: Exit;  // DISPID_UNKNOWN
    61443: if Assigned(FOnOpen) then
         FOnOpen(Self, WordBool((TVarData(Params[0]).VPointer)^) {var WordBool});
    61446: if Assigned(FOnCustomAction) then
         FOnCustomAction(Self,
                         Params[0] {const IDispatch},
                         Params[1] {const IDispatch},
                         WordBool((TVarData(Params[2]).VPointer)^) {var WordBool});
    61448: if Assigned(FOnCustomPropertyChange) then
         FOnCustomPropertyChange(Self, Params[0] {const WideString});
    62568: if Assigned(FOnForward) then
         FOnForward(Self,
                    Params[0] {const IDispatch},
                    WordBool((TVarData(Params[1]).VPointer)^) {var WordBool});
    61444: if Assigned(FOnClose) then
         FOnClose(Self, WordBool((TVarData(Params[0]).VPointer)^) {var WordBool});
    61449: if Assigned(FOnPropertyChange) then
         FOnPropertyChange(Self, Params[0] {const WideString});
    61441: if Assigned(FOnRead) then
         FOnRead(Self);
    62566: if Assigned(FOnReply) then
         FOnReply(Self,
                  Params[0] {const IDispatch},
                  WordBool((TVarData(Params[1]).VPointer)^) {var WordBool});
    62567: if Assigned(FOnReplyAll) then
         FOnReplyAll(Self,
                     Params[0] {const IDispatch},
                     WordBool((TVarData(Params[1]).VPointer)^) {var WordBool});
    61445: if Assigned(FOnSend) then
         FOnSend(Self, WordBool((TVarData(Params[0]).VPointer)^) {var WordBool});
    61442: if Assigned(FOnWrite) then
         FOnWrite(Self, WordBool((TVarData(Params[0]).VPointer)^) {var WordBool});
    61450: if Assigned(FOnBeforeCheckNames) then
         FOnBeforeCheckNames(Self, WordBool((TVarData(Params[0]).VPointer)^) {var WordBool});
    61451: if Assigned(FOnAttachmentAdd) then
         FOnAttachmentAdd(Self, IUnknown(TVarData(Params[0]).VPointer) as Attachment {const Attachment});
    61452: if Assigned(FOnAttachmentRead) then
         FOnAttachmentRead(Self, IUnknown(TVarData(Params[0]).VPointer) as Attachment {const Attachment});
    61453: if Assigned(FOnBeforeAttachmentSave) then
         FOnBeforeAttachmentSave(Self,
                                 IUnknown(TVarData(Params[0]).VPointer) as Attachment {const Attachment},
                                 WordBool((TVarData(Params[1]).VPointer)^) {var WordBool});
    64117: if Assigned(FOnBeforeDelete) then
         FOnBeforeDelete(Self,
                         Params[0] {const IDispatch},
                         WordBool((TVarData(Params[1]).VPointer)^) {var WordBool});
  end; {case DispID}
end;

function TTaskRequestDeclineItem.Get_Application: _Application;
begin
    Result := DefaultInterface.Application;
end;

function TTaskRequestDeclineItem.Get_Class_: OlObjectClass;
begin
    Result := DefaultInterface.Class_;
end;

function TTaskRequestDeclineItem.Get_Session: _NameSpace;
begin
    Result := DefaultInterface.Session;
end;

function TTaskRequestDeclineItem.Get_Parent: IDispatch;
begin
    Result := DefaultInterface.Parent;
end;

function TTaskRequestDeclineItem.Get_Actions: Actions;
begin
    Result := DefaultInterface.Actions;
end;

function TTaskRequestDeclineItem.Get_Attachments: Attachments;
begin
    Result := DefaultInterface.Attachments;
end;

function TTaskRequestDeclineItem.Get_BillingInformation: WideString;
begin
    Result := DefaultInterface.BillingInformation;
end;

procedure TTaskRequestDeclineItem.Set_BillingInformation(const BillingInformation: WideString);
  { Warning: The property BillingInformation has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.BillingInformation := BillingInformation;
end;

function TTaskRequestDeclineItem.Get_Body: WideString;
begin
    Result := DefaultInterface.Body;
end;

procedure TTaskRequestDeclineItem.Set_Body(const Body: WideString);
  { Warning: The property Body has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Body := Body;
end;

function TTaskRequestDeclineItem.Get_Categories: WideString;
begin
    Result := DefaultInterface.Categories;
end;

procedure TTaskRequestDeclineItem.Set_Categories(const Categories: WideString);
  { Warning: The property Categories has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Categories := Categories;
end;

function TTaskRequestDeclineItem.Get_Companies: WideString;
begin
    Result := DefaultInterface.Companies;
end;

procedure TTaskRequestDeclineItem.Set_Companies(const Companies: WideString);
  { Warning: The property Companies has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Companies := Companies;
end;

function TTaskRequestDeclineItem.Get_ConversationIndex: WideString;
begin
    Result := DefaultInterface.ConversationIndex;
end;

function TTaskRequestDeclineItem.Get_ConversationTopic: WideString;
begin
    Result := DefaultInterface.ConversationTopic;
end;

function TTaskRequestDeclineItem.Get_CreationTime: TDateTime;
begin
    Result := DefaultInterface.CreationTime;
end;

function TTaskRequestDeclineItem.Get_EntryID: WideString;
begin
    Result := DefaultInterface.EntryID;
end;

function TTaskRequestDeclineItem.Get_FormDescription: FormDescription;
begin
    Result := DefaultInterface.FormDescription;
end;

function TTaskRequestDeclineItem.Get_GetInspector: _Inspector;
begin
    Result := DefaultInterface.GetInspector;
end;

function TTaskRequestDeclineItem.Get_Importance: OlImportance;
begin
    Result := DefaultInterface.Importance;
end;

procedure TTaskRequestDeclineItem.Set_Importance(Importance: OlImportance);
begin
  DefaultInterface.Set_Importance(Importance);
end;

function TTaskRequestDeclineItem.Get_LastModificationTime: TDateTime;
begin
    Result := DefaultInterface.LastModificationTime;
end;

function TTaskRequestDeclineItem.Get_MAPIOBJECT: IUnknown;
begin
    Result := DefaultInterface.MAPIOBJECT;
end;

function TTaskRequestDeclineItem.Get_MessageClass: WideString;
begin
    Result := DefaultInterface.MessageClass;
end;

procedure TTaskRequestDeclineItem.Set_MessageClass(const MessageClass: WideString);
  { Warning: The property MessageClass has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.MessageClass := MessageClass;
end;

function TTaskRequestDeclineItem.Get_Mileage: WideString;
begin
    Result := DefaultInterface.Mileage;
end;

procedure TTaskRequestDeclineItem.Set_Mileage(const Mileage: WideString);
  { Warning: The property Mileage has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Mileage := Mileage;
end;

function TTaskRequestDeclineItem.Get_NoAging: WordBool;
begin
    Result := DefaultInterface.NoAging;
end;

procedure TTaskRequestDeclineItem.Set_NoAging(NoAging: WordBool);
begin
  DefaultInterface.Set_NoAging(NoAging);
end;

function TTaskRequestDeclineItem.Get_OutlookInternalVersion: Integer;
begin
    Result := DefaultInterface.OutlookInternalVersion;
end;

function TTaskRequestDeclineItem.Get_OutlookVersion: WideString;
begin
    Result := DefaultInterface.OutlookVersion;
end;

function TTaskRequestDeclineItem.Get_Saved: WordBool;
begin
    Result := DefaultInterface.Saved;
end;

function TTaskRequestDeclineItem.Get_Sensitivity: OlSensitivity;
begin
    Result := DefaultInterface.Sensitivity;
end;

procedure TTaskRequestDeclineItem.Set_Sensitivity(Sensitivity: OlSensitivity);
begin
  DefaultInterface.Set_Sensitivity(Sensitivity);
end;

function TTaskRequestDeclineItem.Get_Size: Integer;
begin
    Result := DefaultInterface.Size;
end;

function TTaskRequestDeclineItem.Get_Subject: WideString;
begin
    Result := DefaultInterface.Subject;
end;

procedure TTaskRequestDeclineItem.Set_Subject(const Subject: WideString);
  { Warning: The property Subject has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Subject := Subject;
end;

function TTaskRequestDeclineItem.Get_UnRead: WordBool;
begin
    Result := DefaultInterface.UnRead;
end;

procedure TTaskRequestDeclineItem.Set_UnRead(UnRead: WordBool);
begin
  DefaultInterface.Set_UnRead(UnRead);
end;

function TTaskRequestDeclineItem.Get_UserProperties: UserProperties;
begin
    Result := DefaultInterface.UserProperties;
end;

function TTaskRequestDeclineItem.Get_Links: Links;
begin
    Result := DefaultInterface.Links;
end;

function TTaskRequestDeclineItem.Get_DownloadState: OlDownloadState;
begin
    Result := DefaultInterface.DownloadState;
end;

function TTaskRequestDeclineItem.Get_ItemProperties: ItemProperties;
begin
    Result := DefaultInterface.ItemProperties;
end;

function TTaskRequestDeclineItem.Get_MarkForDownload: OlRemoteStatus;
begin
    Result := DefaultInterface.MarkForDownload;
end;

procedure TTaskRequestDeclineItem.Set_MarkForDownload(MarkForDownload: OlRemoteStatus);
begin
  DefaultInterface.Set_MarkForDownload(MarkForDownload);
end;

function TTaskRequestDeclineItem.Get_IsConflict: WordBool;
begin
    Result := DefaultInterface.IsConflict;
end;

procedure TTaskRequestDeclineItem.Close(SaveMode: OlInspectorClose);
begin
  DefaultInterface.Close(SaveMode);
end;

function TTaskRequestDeclineItem.Copy: IDispatch;
begin
  Result := DefaultInterface.Copy;
end;

procedure TTaskRequestDeclineItem.Delete;
begin
  DefaultInterface.Delete;
end;

procedure TTaskRequestDeclineItem.Display;
begin
  DefaultInterface.Display(EmptyParam);
end;

procedure TTaskRequestDeclineItem.Display(Modal: OleVariant);
begin
  DefaultInterface.Display(Modal);
end;

function TTaskRequestDeclineItem.Move(const DestFldr: MAPIFolder): IDispatch;
begin
  Result := DefaultInterface.Move(DestFldr);
end;

procedure TTaskRequestDeclineItem.PrintOut;
begin
  DefaultInterface.PrintOut;
end;

procedure TTaskRequestDeclineItem.Save;
begin
  DefaultInterface.Save;
end;

procedure TTaskRequestDeclineItem.SaveAs(const Path: WideString);
begin
  DefaultInterface.SaveAs(Path, EmptyParam);
end;

procedure TTaskRequestDeclineItem.SaveAs(const Path: WideString; Type_: OleVariant);
begin
  DefaultInterface.SaveAs(Path, Type_);
end;

function TTaskRequestDeclineItem.GetAssociatedTask(AddToTaskList: WordBool): TaskItem;
begin
  Result := DefaultInterface.GetAssociatedTask(AddToTaskList);
end;

procedure TTaskRequestDeclineItem.ShowCategoriesDialog;
begin
  DefaultInterface.ShowCategoriesDialog;
end;

{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
constructor TTaskRequestDeclineItemProperties.Create(AServer: TTaskRequestDeclineItem);
begin
  inherited Create;
  FServer := AServer;
end;

function TTaskRequestDeclineItemProperties.GetDefaultInterface: _TaskRequestDeclineItem;
begin
  Result := FServer.DefaultInterface;
end;

function TTaskRequestDeclineItemProperties.Get_Application: _Application;
begin
    Result := DefaultInterface.Application;
end;

function TTaskRequestDeclineItemProperties.Get_Class_: OlObjectClass;
begin
    Result := DefaultInterface.Class_;
end;

function TTaskRequestDeclineItemProperties.Get_Session: _NameSpace;
begin
    Result := DefaultInterface.Session;
end;

function TTaskRequestDeclineItemProperties.Get_Parent: IDispatch;
begin
    Result := DefaultInterface.Parent;
end;

function TTaskRequestDeclineItemProperties.Get_Actions: Actions;
begin
    Result := DefaultInterface.Actions;
end;

function TTaskRequestDeclineItemProperties.Get_Attachments: Attachments;
begin
    Result := DefaultInterface.Attachments;
end;

function TTaskRequestDeclineItemProperties.Get_BillingInformation: WideString;
begin
    Result := DefaultInterface.BillingInformation;
end;

procedure TTaskRequestDeclineItemProperties.Set_BillingInformation(const BillingInformation: WideString);
  { Warning: The property BillingInformation has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.BillingInformation := BillingInformation;
end;

function TTaskRequestDeclineItemProperties.Get_Body: WideString;
begin
    Result := DefaultInterface.Body;
end;

procedure TTaskRequestDeclineItemProperties.Set_Body(const Body: WideString);
  { Warning: The property Body has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Body := Body;
end;

function TTaskRequestDeclineItemProperties.Get_Categories: WideString;
begin
    Result := DefaultInterface.Categories;
end;

procedure TTaskRequestDeclineItemProperties.Set_Categories(const Categories: WideString);
  { Warning: The property Categories has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Categories := Categories;
end;

function TTaskRequestDeclineItemProperties.Get_Companies: WideString;
begin
    Result := DefaultInterface.Companies;
end;

procedure TTaskRequestDeclineItemProperties.Set_Companies(const Companies: WideString);
  { Warning: The property Companies has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Companies := Companies;
end;

function TTaskRequestDeclineItemProperties.Get_ConversationIndex: WideString;
begin
    Result := DefaultInterface.ConversationIndex;
end;

function TTaskRequestDeclineItemProperties.Get_ConversationTopic: WideString;
begin
    Result := DefaultInterface.ConversationTopic;
end;

function TTaskRequestDeclineItemProperties.Get_CreationTime: TDateTime;
begin
    Result := DefaultInterface.CreationTime;
end;

function TTaskRequestDeclineItemProperties.Get_EntryID: WideString;
begin
    Result := DefaultInterface.EntryID;
end;

function TTaskRequestDeclineItemProperties.Get_FormDescription: FormDescription;
begin
    Result := DefaultInterface.FormDescription;
end;

function TTaskRequestDeclineItemProperties.Get_GetInspector: _Inspector;
begin
    Result := DefaultInterface.GetInspector;
end;

function TTaskRequestDeclineItemProperties.Get_Importance: OlImportance;
begin
    Result := DefaultInterface.Importance;
end;

procedure TTaskRequestDeclineItemProperties.Set_Importance(Importance: OlImportance);
begin
  DefaultInterface.Set_Importance(Importance);
end;

function TTaskRequestDeclineItemProperties.Get_LastModificationTime: TDateTime;
begin
    Result := DefaultInterface.LastModificationTime;
end;

function TTaskRequestDeclineItemProperties.Get_MAPIOBJECT: IUnknown;
begin
    Result := DefaultInterface.MAPIOBJECT;
end;

function TTaskRequestDeclineItemProperties.Get_MessageClass: WideString;
begin
    Result := DefaultInterface.MessageClass;
end;

procedure TTaskRequestDeclineItemProperties.Set_MessageClass(const MessageClass: WideString);
  { Warning: The property MessageClass has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.MessageClass := MessageClass;
end;

function TTaskRequestDeclineItemProperties.Get_Mileage: WideString;
begin
    Result := DefaultInterface.Mileage;
end;

procedure TTaskRequestDeclineItemProperties.Set_Mileage(const Mileage: WideString);
  { Warning: The property Mileage has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Mileage := Mileage;
end;

function TTaskRequestDeclineItemProperties.Get_NoAging: WordBool;
begin
    Result := DefaultInterface.NoAging;
end;

procedure TTaskRequestDeclineItemProperties.Set_NoAging(NoAging: WordBool);
begin
  DefaultInterface.Set_NoAging(NoAging);
end;

function TTaskRequestDeclineItemProperties.Get_OutlookInternalVersion: Integer;
begin
    Result := DefaultInterface.OutlookInternalVersion;
end;

function TTaskRequestDeclineItemProperties.Get_OutlookVersion: WideString;
begin
    Result := DefaultInterface.OutlookVersion;
end;

function TTaskRequestDeclineItemProperties.Get_Saved: WordBool;
begin
    Result := DefaultInterface.Saved;
end;

function TTaskRequestDeclineItemProperties.Get_Sensitivity: OlSensitivity;
begin
    Result := DefaultInterface.Sensitivity;
end;

procedure TTaskRequestDeclineItemProperties.Set_Sensitivity(Sensitivity: OlSensitivity);
begin
  DefaultInterface.Set_Sensitivity(Sensitivity);
end;

function TTaskRequestDeclineItemProperties.Get_Size: Integer;
begin
    Result := DefaultInterface.Size;
end;

function TTaskRequestDeclineItemProperties.Get_Subject: WideString;
begin
    Result := DefaultInterface.Subject;
end;

procedure TTaskRequestDeclineItemProperties.Set_Subject(const Subject: WideString);
  { Warning: The property Subject has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Subject := Subject;
end;

function TTaskRequestDeclineItemProperties.Get_UnRead: WordBool;
begin
    Result := DefaultInterface.UnRead;
end;

procedure TTaskRequestDeclineItemProperties.Set_UnRead(UnRead: WordBool);
begin
  DefaultInterface.Set_UnRead(UnRead);
end;

function TTaskRequestDeclineItemProperties.Get_UserProperties: UserProperties;
begin
    Result := DefaultInterface.UserProperties;
end;

function TTaskRequestDeclineItemProperties.Get_Links: Links;
begin
    Result := DefaultInterface.Links;
end;

function TTaskRequestDeclineItemProperties.Get_DownloadState: OlDownloadState;
begin
    Result := DefaultInterface.DownloadState;
end;

function TTaskRequestDeclineItemProperties.Get_ItemProperties: ItemProperties;
begin
    Result := DefaultInterface.ItemProperties;
end;

function TTaskRequestDeclineItemProperties.Get_MarkForDownload: OlRemoteStatus;
begin
    Result := DefaultInterface.MarkForDownload;
end;

procedure TTaskRequestDeclineItemProperties.Set_MarkForDownload(MarkForDownload: OlRemoteStatus);
begin
  DefaultInterface.Set_MarkForDownload(MarkForDownload);
end;

function TTaskRequestDeclineItemProperties.Get_IsConflict: WordBool;
begin
    Result := DefaultInterface.IsConflict;
end;

{$ENDIF}

class function CoTaskRequestItem.Create: _TaskRequestItem;
begin
  Result := CreateComObject(CLASS_TaskRequestItem) as _TaskRequestItem;
end;

class function CoTaskRequestItem.CreateRemote(const MachineName: string): _TaskRequestItem;
begin
  Result := CreateRemoteComObject(MachineName, CLASS_TaskRequestItem) as _TaskRequestItem;
end;

procedure TTaskRequestItem.InitServerData;
const
  CServerData: TServerData = (
    ClassID:   '{00061050-0000-0000-C000-000000000046}';
    IntfIID:   '{00063036-0000-0000-C000-000000000046}';
    EventIID:  '{0006302B-0000-0000-C000-000000000046}';
    LicenseKey: nil;
    Version: 500);
begin
  ServerData := @CServerData;
end;

procedure TTaskRequestItem.Connect;
var
  punk: IUnknown;
begin
  if FIntf = nil then
  begin
    punk := GetServer;
    ConnectEvents(punk);
    Fintf:= punk as _TaskRequestItem;
  end;
end;

procedure TTaskRequestItem.ConnectTo(svrIntf: _TaskRequestItem);
begin
  Disconnect;
  FIntf := svrIntf;
  ConnectEvents(FIntf);
end;

procedure TTaskRequestItem.DisConnect;
begin
  if Fintf <> nil then
  begin
    DisconnectEvents(FIntf);
    FIntf := nil;
  end;
end;

function TTaskRequestItem.GetDefaultInterface: _TaskRequestItem;
begin
  if FIntf = nil then
    Connect;
  Assert(FIntf <> nil, 'DefaultInterface is NULL. Component is not connected to Server. You must call ''Connect'' or ''ConnectTo'' before this operation');
  Result := FIntf;
end;

constructor TTaskRequestItem.Create(AOwner: TComponent);
begin
  inherited Create(AOwner);
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  FProps := TTaskRequestItemProperties.Create(Self);
{$ENDIF}
end;

destructor TTaskRequestItem.Destroy;
begin
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  FProps.Free;
{$ENDIF}
  inherited Destroy;
end;

{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
function TTaskRequestItem.GetServerProperties: TTaskRequestItemProperties;
begin
  Result := FProps;
end;
{$ENDIF}

procedure TTaskRequestItem.InvokeEvent(DispID: TDispID; var Params: TVariantArray);
begin
  case DispID of
    -1: Exit;  // DISPID_UNKNOWN
    61443: if Assigned(FOnOpen) then
         FOnOpen(Self, WordBool((TVarData(Params[0]).VPointer)^) {var WordBool});
    61446: if Assigned(FOnCustomAction) then
         FOnCustomAction(Self,
                         Params[0] {const IDispatch},
                         Params[1] {const IDispatch},
                         WordBool((TVarData(Params[2]).VPointer)^) {var WordBool});
    61448: if Assigned(FOnCustomPropertyChange) then
         FOnCustomPropertyChange(Self, Params[0] {const WideString});
    62568: if Assigned(FOnForward) then
         FOnForward(Self,
                    Params[0] {const IDispatch},
                    WordBool((TVarData(Params[1]).VPointer)^) {var WordBool});
    61444: if Assigned(FOnClose) then
         FOnClose(Self, WordBool((TVarData(Params[0]).VPointer)^) {var WordBool});
    61449: if Assigned(FOnPropertyChange) then
         FOnPropertyChange(Self, Params[0] {const WideString});
    61441: if Assigned(FOnRead) then
         FOnRead(Self);
    62566: if Assigned(FOnReply) then
         FOnReply(Self,
                  Params[0] {const IDispatch},
                  WordBool((TVarData(Params[1]).VPointer)^) {var WordBool});
    62567: if Assigned(FOnReplyAll) then
         FOnReplyAll(Self,
                     Params[0] {const IDispatch},
                     WordBool((TVarData(Params[1]).VPointer)^) {var WordBool});
    61445: if Assigned(FOnSend) then
         FOnSend(Self, WordBool((TVarData(Params[0]).VPointer)^) {var WordBool});
    61442: if Assigned(FOnWrite) then
         FOnWrite(Self, WordBool((TVarData(Params[0]).VPointer)^) {var WordBool});
    61450: if Assigned(FOnBeforeCheckNames) then
         FOnBeforeCheckNames(Self, WordBool((TVarData(Params[0]).VPointer)^) {var WordBool});
    61451: if Assigned(FOnAttachmentAdd) then
         FOnAttachmentAdd(Self, IUnknown(TVarData(Params[0]).VPointer) as Attachment {const Attachment});
    61452: if Assigned(FOnAttachmentRead) then
         FOnAttachmentRead(Self, IUnknown(TVarData(Params[0]).VPointer) as Attachment {const Attachment});
    61453: if Assigned(FOnBeforeAttachmentSave) then
         FOnBeforeAttachmentSave(Self,
                                 IUnknown(TVarData(Params[0]).VPointer) as Attachment {const Attachment},
                                 WordBool((TVarData(Params[1]).VPointer)^) {var WordBool});
    64117: if Assigned(FOnBeforeDelete) then
         FOnBeforeDelete(Self,
                         Params[0] {const IDispatch},
                         WordBool((TVarData(Params[1]).VPointer)^) {var WordBool});
  end; {case DispID}
end;

function TTaskRequestItem.Get_Application: _Application;
begin
    Result := DefaultInterface.Application;
end;

function TTaskRequestItem.Get_Class_: OlObjectClass;
begin
    Result := DefaultInterface.Class_;
end;

function TTaskRequestItem.Get_Session: _NameSpace;
begin
    Result := DefaultInterface.Session;
end;

function TTaskRequestItem.Get_Parent: IDispatch;
begin
    Result := DefaultInterface.Parent;
end;

function TTaskRequestItem.Get_Actions: Actions;
begin
    Result := DefaultInterface.Actions;
end;

function TTaskRequestItem.Get_Attachments: Attachments;
begin
    Result := DefaultInterface.Attachments;
end;

function TTaskRequestItem.Get_BillingInformation: WideString;
begin
    Result := DefaultInterface.BillingInformation;
end;

procedure TTaskRequestItem.Set_BillingInformation(const BillingInformation: WideString);
  { Warning: The property BillingInformation has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.BillingInformation := BillingInformation;
end;

function TTaskRequestItem.Get_Body: WideString;
begin
    Result := DefaultInterface.Body;
end;

procedure TTaskRequestItem.Set_Body(const Body: WideString);
  { Warning: The property Body has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Body := Body;
end;

function TTaskRequestItem.Get_Categories: WideString;
begin
    Result := DefaultInterface.Categories;
end;

procedure TTaskRequestItem.Set_Categories(const Categories: WideString);
  { Warning: The property Categories has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Categories := Categories;
end;

function TTaskRequestItem.Get_Companies: WideString;
begin
    Result := DefaultInterface.Companies;
end;

procedure TTaskRequestItem.Set_Companies(const Companies: WideString);
  { Warning: The property Companies has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Companies := Companies;
end;

function TTaskRequestItem.Get_ConversationIndex: WideString;
begin
    Result := DefaultInterface.ConversationIndex;
end;

function TTaskRequestItem.Get_ConversationTopic: WideString;
begin
    Result := DefaultInterface.ConversationTopic;
end;

function TTaskRequestItem.Get_CreationTime: TDateTime;
begin
    Result := DefaultInterface.CreationTime;
end;

function TTaskRequestItem.Get_EntryID: WideString;
begin
    Result := DefaultInterface.EntryID;
end;

function TTaskRequestItem.Get_FormDescription: FormDescription;
begin
    Result := DefaultInterface.FormDescription;
end;

function TTaskRequestItem.Get_GetInspector: _Inspector;
begin
    Result := DefaultInterface.GetInspector;
end;

function TTaskRequestItem.Get_Importance: OlImportance;
begin
    Result := DefaultInterface.Importance;
end;

procedure TTaskRequestItem.Set_Importance(Importance: OlImportance);
begin
  DefaultInterface.Set_Importance(Importance);
end;

function TTaskRequestItem.Get_LastModificationTime: TDateTime;
begin
    Result := DefaultInterface.LastModificationTime;
end;

function TTaskRequestItem.Get_MAPIOBJECT: IUnknown;
begin
    Result := DefaultInterface.MAPIOBJECT;
end;

function TTaskRequestItem.Get_MessageClass: WideString;
begin
    Result := DefaultInterface.MessageClass;
end;

procedure TTaskRequestItem.Set_MessageClass(const MessageClass: WideString);
  { Warning: The property MessageClass has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.MessageClass := MessageClass;
end;

function TTaskRequestItem.Get_Mileage: WideString;
begin
    Result := DefaultInterface.Mileage;
end;

procedure TTaskRequestItem.Set_Mileage(const Mileage: WideString);
  { Warning: The property Mileage has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Mileage := Mileage;
end;

function TTaskRequestItem.Get_NoAging: WordBool;
begin
    Result := DefaultInterface.NoAging;
end;

procedure TTaskRequestItem.Set_NoAging(NoAging: WordBool);
begin
  DefaultInterface.Set_NoAging(NoAging);
end;

function TTaskRequestItem.Get_OutlookInternalVersion: Integer;
begin
    Result := DefaultInterface.OutlookInternalVersion;
end;

function TTaskRequestItem.Get_OutlookVersion: WideString;
begin
    Result := DefaultInterface.OutlookVersion;
end;

function TTaskRequestItem.Get_Saved: WordBool;
begin
    Result := DefaultInterface.Saved;
end;

function TTaskRequestItem.Get_Sensitivity: OlSensitivity;
begin
    Result := DefaultInterface.Sensitivity;
end;

procedure TTaskRequestItem.Set_Sensitivity(Sensitivity: OlSensitivity);
begin
  DefaultInterface.Set_Sensitivity(Sensitivity);
end;

function TTaskRequestItem.Get_Size: Integer;
begin
    Result := DefaultInterface.Size;
end;

function TTaskRequestItem.Get_Subject: WideString;
begin
    Result := DefaultInterface.Subject;
end;

procedure TTaskRequestItem.Set_Subject(const Subject: WideString);
  { Warning: The property Subject has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Subject := Subject;
end;

function TTaskRequestItem.Get_UnRead: WordBool;
begin
    Result := DefaultInterface.UnRead;
end;

procedure TTaskRequestItem.Set_UnRead(UnRead: WordBool);
begin
  DefaultInterface.Set_UnRead(UnRead);
end;

function TTaskRequestItem.Get_UserProperties: UserProperties;
begin
    Result := DefaultInterface.UserProperties;
end;

function TTaskRequestItem.Get_Links: Links;
begin
    Result := DefaultInterface.Links;
end;

function TTaskRequestItem.Get_DownloadState: OlDownloadState;
begin
    Result := DefaultInterface.DownloadState;
end;

function TTaskRequestItem.Get_ItemProperties: ItemProperties;
begin
    Result := DefaultInterface.ItemProperties;
end;

function TTaskRequestItem.Get_MarkForDownload: OlRemoteStatus;
begin
    Result := DefaultInterface.MarkForDownload;
end;

procedure TTaskRequestItem.Set_MarkForDownload(MarkForDownload: OlRemoteStatus);
begin
  DefaultInterface.Set_MarkForDownload(MarkForDownload);
end;

function TTaskRequestItem.Get_IsConflict: WordBool;
begin
    Result := DefaultInterface.IsConflict;
end;

procedure TTaskRequestItem.Close(SaveMode: OlInspectorClose);
begin
  DefaultInterface.Close(SaveMode);
end;

function TTaskRequestItem.Copy: IDispatch;
begin
  Result := DefaultInterface.Copy;
end;

procedure TTaskRequestItem.Delete;
begin
  DefaultInterface.Delete;
end;

procedure TTaskRequestItem.Display;
begin
  DefaultInterface.Display(EmptyParam);
end;

procedure TTaskRequestItem.Display(Modal: OleVariant);
begin
  DefaultInterface.Display(Modal);
end;

function TTaskRequestItem.Move(const DestFldr: MAPIFolder): IDispatch;
begin
  Result := DefaultInterface.Move(DestFldr);
end;

procedure TTaskRequestItem.PrintOut;
begin
  DefaultInterface.PrintOut;
end;

procedure TTaskRequestItem.Save;
begin
  DefaultInterface.Save;
end;

procedure TTaskRequestItem.SaveAs(const Path: WideString);
begin
  DefaultInterface.SaveAs(Path, EmptyParam);
end;

procedure TTaskRequestItem.SaveAs(const Path: WideString; Type_: OleVariant);
begin
  DefaultInterface.SaveAs(Path, Type_);
end;

function TTaskRequestItem.GetAssociatedTask(AddToTaskList: WordBool): TaskItem;
begin
  Result := DefaultInterface.GetAssociatedTask(AddToTaskList);
end;

procedure TTaskRequestItem.ShowCategoriesDialog;
begin
  DefaultInterface.ShowCategoriesDialog;
end;

{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
constructor TTaskRequestItemProperties.Create(AServer: TTaskRequestItem);
begin
  inherited Create;
  FServer := AServer;
end;

function TTaskRequestItemProperties.GetDefaultInterface: _TaskRequestItem;
begin
  Result := FServer.DefaultInterface;
end;

function TTaskRequestItemProperties.Get_Application: _Application;
begin
    Result := DefaultInterface.Application;
end;

function TTaskRequestItemProperties.Get_Class_: OlObjectClass;
begin
    Result := DefaultInterface.Class_;
end;

function TTaskRequestItemProperties.Get_Session: _NameSpace;
begin
    Result := DefaultInterface.Session;
end;

function TTaskRequestItemProperties.Get_Parent: IDispatch;
begin
    Result := DefaultInterface.Parent;
end;

function TTaskRequestItemProperties.Get_Actions: Actions;
begin
    Result := DefaultInterface.Actions;
end;

function TTaskRequestItemProperties.Get_Attachments: Attachments;
begin
    Result := DefaultInterface.Attachments;
end;

function TTaskRequestItemProperties.Get_BillingInformation: WideString;
begin
    Result := DefaultInterface.BillingInformation;
end;

procedure TTaskRequestItemProperties.Set_BillingInformation(const BillingInformation: WideString);
  { Warning: The property BillingInformation has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.BillingInformation := BillingInformation;
end;

function TTaskRequestItemProperties.Get_Body: WideString;
begin
    Result := DefaultInterface.Body;
end;

procedure TTaskRequestItemProperties.Set_Body(const Body: WideString);
  { Warning: The property Body has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Body := Body;
end;

function TTaskRequestItemProperties.Get_Categories: WideString;
begin
    Result := DefaultInterface.Categories;
end;

procedure TTaskRequestItemProperties.Set_Categories(const Categories: WideString);
  { Warning: The property Categories has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Categories := Categories;
end;

function TTaskRequestItemProperties.Get_Companies: WideString;
begin
    Result := DefaultInterface.Companies;
end;

procedure TTaskRequestItemProperties.Set_Companies(const Companies: WideString);
  { Warning: The property Companies has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Companies := Companies;
end;

function TTaskRequestItemProperties.Get_ConversationIndex: WideString;
begin
    Result := DefaultInterface.ConversationIndex;
end;

function TTaskRequestItemProperties.Get_ConversationTopic: WideString;
begin
    Result := DefaultInterface.ConversationTopic;
end;

function TTaskRequestItemProperties.Get_CreationTime: TDateTime;
begin
    Result := DefaultInterface.CreationTime;
end;

function TTaskRequestItemProperties.Get_EntryID: WideString;
begin
    Result := DefaultInterface.EntryID;
end;

function TTaskRequestItemProperties.Get_FormDescription: FormDescription;
begin
    Result := DefaultInterface.FormDescription;
end;

function TTaskRequestItemProperties.Get_GetInspector: _Inspector;
begin
    Result := DefaultInterface.GetInspector;
end;

function TTaskRequestItemProperties.Get_Importance: OlImportance;
begin
    Result := DefaultInterface.Importance;
end;

procedure TTaskRequestItemProperties.Set_Importance(Importance: OlImportance);
begin
  DefaultInterface.Set_Importance(Importance);
end;

function TTaskRequestItemProperties.Get_LastModificationTime: TDateTime;
begin
    Result := DefaultInterface.LastModificationTime;
end;

function TTaskRequestItemProperties.Get_MAPIOBJECT: IUnknown;
begin
    Result := DefaultInterface.MAPIOBJECT;
end;

function TTaskRequestItemProperties.Get_MessageClass: WideString;
begin
    Result := DefaultInterface.MessageClass;
end;

procedure TTaskRequestItemProperties.Set_MessageClass(const MessageClass: WideString);
  { Warning: The property MessageClass has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.MessageClass := MessageClass;
end;

function TTaskRequestItemProperties.Get_Mileage: WideString;
begin
    Result := DefaultInterface.Mileage;
end;

procedure TTaskRequestItemProperties.Set_Mileage(const Mileage: WideString);
  { Warning: The property Mileage has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Mileage := Mileage;
end;

function TTaskRequestItemProperties.Get_NoAging: WordBool;
begin
    Result := DefaultInterface.NoAging;
end;

procedure TTaskRequestItemProperties.Set_NoAging(NoAging: WordBool);
begin
  DefaultInterface.Set_NoAging(NoAging);
end;

function TTaskRequestItemProperties.Get_OutlookInternalVersion: Integer;
begin
    Result := DefaultInterface.OutlookInternalVersion;
end;

function TTaskRequestItemProperties.Get_OutlookVersion: WideString;
begin
    Result := DefaultInterface.OutlookVersion;
end;

function TTaskRequestItemProperties.Get_Saved: WordBool;
begin
    Result := DefaultInterface.Saved;
end;

function TTaskRequestItemProperties.Get_Sensitivity: OlSensitivity;
begin
    Result := DefaultInterface.Sensitivity;
end;

procedure TTaskRequestItemProperties.Set_Sensitivity(Sensitivity: OlSensitivity);
begin
  DefaultInterface.Set_Sensitivity(Sensitivity);
end;

function TTaskRequestItemProperties.Get_Size: Integer;
begin
    Result := DefaultInterface.Size;
end;

function TTaskRequestItemProperties.Get_Subject: WideString;
begin
    Result := DefaultInterface.Subject;
end;

procedure TTaskRequestItemProperties.Set_Subject(const Subject: WideString);
  { Warning: The property Subject has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Subject := Subject;
end;

function TTaskRequestItemProperties.Get_UnRead: WordBool;
begin
    Result := DefaultInterface.UnRead;
end;

procedure TTaskRequestItemProperties.Set_UnRead(UnRead: WordBool);
begin
  DefaultInterface.Set_UnRead(UnRead);
end;

function TTaskRequestItemProperties.Get_UserProperties: UserProperties;
begin
    Result := DefaultInterface.UserProperties;
end;

function TTaskRequestItemProperties.Get_Links: Links;
begin
    Result := DefaultInterface.Links;
end;

function TTaskRequestItemProperties.Get_DownloadState: OlDownloadState;
begin
    Result := DefaultInterface.DownloadState;
end;

function TTaskRequestItemProperties.Get_ItemProperties: ItemProperties;
begin
    Result := DefaultInterface.ItemProperties;
end;

function TTaskRequestItemProperties.Get_MarkForDownload: OlRemoteStatus;
begin
    Result := DefaultInterface.MarkForDownload;
end;

procedure TTaskRequestItemProperties.Set_MarkForDownload(MarkForDownload: OlRemoteStatus);
begin
  DefaultInterface.Set_MarkForDownload(MarkForDownload);
end;

function TTaskRequestItemProperties.Get_IsConflict: WordBool;
begin
    Result := DefaultInterface.IsConflict;
end;

{$ENDIF}

class function CoTaskRequestUpdateItem.Create: _TaskRequestUpdateItem;
begin
  Result := CreateComObject(CLASS_TaskRequestUpdateItem) as _TaskRequestUpdateItem;
end;

class function CoTaskRequestUpdateItem.CreateRemote(const MachineName: string): _TaskRequestUpdateItem;
begin
  Result := CreateRemoteComObject(MachineName, CLASS_TaskRequestUpdateItem) as _TaskRequestUpdateItem;
end;

procedure TTaskRequestUpdateItem.InitServerData;
const
  CServerData: TServerData = (
    ClassID:   '{00061051-0000-0000-C000-000000000046}';
    IntfIID:   '{00063037-0000-0000-C000-000000000046}';
    EventIID:  '{0006302B-0000-0000-C000-000000000046}';
    LicenseKey: nil;
    Version: 500);
begin
  ServerData := @CServerData;
end;

procedure TTaskRequestUpdateItem.Connect;
var
  punk: IUnknown;
begin
  if FIntf = nil then
  begin
    punk := GetServer;
    ConnectEvents(punk);
    Fintf:= punk as _TaskRequestUpdateItem;
  end;
end;

procedure TTaskRequestUpdateItem.ConnectTo(svrIntf: _TaskRequestUpdateItem);
begin
  Disconnect;
  FIntf := svrIntf;
  ConnectEvents(FIntf);
end;

procedure TTaskRequestUpdateItem.DisConnect;
begin
  if Fintf <> nil then
  begin
    DisconnectEvents(FIntf);
    FIntf := nil;
  end;
end;

function TTaskRequestUpdateItem.GetDefaultInterface: _TaskRequestUpdateItem;
begin
  if FIntf = nil then
    Connect;
  Assert(FIntf <> nil, 'DefaultInterface is NULL. Component is not connected to Server. You must call ''Connect'' or ''ConnectTo'' before this operation');
  Result := FIntf;
end;

constructor TTaskRequestUpdateItem.Create(AOwner: TComponent);
begin
  inherited Create(AOwner);
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  FProps := TTaskRequestUpdateItemProperties.Create(Self);
{$ENDIF}
end;

destructor TTaskRequestUpdateItem.Destroy;
begin
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  FProps.Free;
{$ENDIF}
  inherited Destroy;
end;

{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
function TTaskRequestUpdateItem.GetServerProperties: TTaskRequestUpdateItemProperties;
begin
  Result := FProps;
end;
{$ENDIF}

procedure TTaskRequestUpdateItem.InvokeEvent(DispID: TDispID; var Params: TVariantArray);
begin
  case DispID of
    -1: Exit;  // DISPID_UNKNOWN
    61443: if Assigned(FOnOpen) then
         FOnOpen(Self, WordBool((TVarData(Params[0]).VPointer)^) {var WordBool});
    61446: if Assigned(FOnCustomAction) then
         FOnCustomAction(Self,
                         Params[0] {const IDispatch},
                         Params[1] {const IDispatch},
                         WordBool((TVarData(Params[2]).VPointer)^) {var WordBool});
    61448: if Assigned(FOnCustomPropertyChange) then
         FOnCustomPropertyChange(Self, Params[0] {const WideString});
    62568: if Assigned(FOnForward) then
         FOnForward(Self,
                    Params[0] {const IDispatch},
                    WordBool((TVarData(Params[1]).VPointer)^) {var WordBool});
    61444: if Assigned(FOnClose) then
         FOnClose(Self, WordBool((TVarData(Params[0]).VPointer)^) {var WordBool});
    61449: if Assigned(FOnPropertyChange) then
         FOnPropertyChange(Self, Params[0] {const WideString});
    61441: if Assigned(FOnRead) then
         FOnRead(Self);
    62566: if Assigned(FOnReply) then
         FOnReply(Self,
                  Params[0] {const IDispatch},
                  WordBool((TVarData(Params[1]).VPointer)^) {var WordBool});
    62567: if Assigned(FOnReplyAll) then
         FOnReplyAll(Self,
                     Params[0] {const IDispatch},
                     WordBool((TVarData(Params[1]).VPointer)^) {var WordBool});
    61445: if Assigned(FOnSend) then
         FOnSend(Self, WordBool((TVarData(Params[0]).VPointer)^) {var WordBool});
    61442: if Assigned(FOnWrite) then
         FOnWrite(Self, WordBool((TVarData(Params[0]).VPointer)^) {var WordBool});
    61450: if Assigned(FOnBeforeCheckNames) then
         FOnBeforeCheckNames(Self, WordBool((TVarData(Params[0]).VPointer)^) {var WordBool});
    61451: if Assigned(FOnAttachmentAdd) then
         FOnAttachmentAdd(Self, IUnknown(TVarData(Params[0]).VPointer) as Attachment {const Attachment});
    61452: if Assigned(FOnAttachmentRead) then
         FOnAttachmentRead(Self, IUnknown(TVarData(Params[0]).VPointer) as Attachment {const Attachment});
    61453: if Assigned(FOnBeforeAttachmentSave) then
         FOnBeforeAttachmentSave(Self,
                                 IUnknown(TVarData(Params[0]).VPointer) as Attachment {const Attachment},
                                 WordBool((TVarData(Params[1]).VPointer)^) {var WordBool});
    64117: if Assigned(FOnBeforeDelete) then
         FOnBeforeDelete(Self,
                         Params[0] {const IDispatch},
                         WordBool((TVarData(Params[1]).VPointer)^) {var WordBool});
  end; {case DispID}
end;

function TTaskRequestUpdateItem.Get_Application: _Application;
begin
    Result := DefaultInterface.Application;
end;

function TTaskRequestUpdateItem.Get_Class_: OlObjectClass;
begin
    Result := DefaultInterface.Class_;
end;

function TTaskRequestUpdateItem.Get_Session: _NameSpace;
begin
    Result := DefaultInterface.Session;
end;

function TTaskRequestUpdateItem.Get_Parent: IDispatch;
begin
    Result := DefaultInterface.Parent;
end;

function TTaskRequestUpdateItem.Get_Actions: Actions;
begin
    Result := DefaultInterface.Actions;
end;

function TTaskRequestUpdateItem.Get_Attachments: Attachments;
begin
    Result := DefaultInterface.Attachments;
end;

function TTaskRequestUpdateItem.Get_BillingInformation: WideString;
begin
    Result := DefaultInterface.BillingInformation;
end;

procedure TTaskRequestUpdateItem.Set_BillingInformation(const BillingInformation: WideString);
  { Warning: The property BillingInformation has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.BillingInformation := BillingInformation;
end;

function TTaskRequestUpdateItem.Get_Body: WideString;
begin
    Result := DefaultInterface.Body;
end;

procedure TTaskRequestUpdateItem.Set_Body(const Body: WideString);
  { Warning: The property Body has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Body := Body;
end;

function TTaskRequestUpdateItem.Get_Categories: WideString;
begin
    Result := DefaultInterface.Categories;
end;

procedure TTaskRequestUpdateItem.Set_Categories(const Categories: WideString);
  { Warning: The property Categories has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Categories := Categories;
end;

function TTaskRequestUpdateItem.Get_Companies: WideString;
begin
    Result := DefaultInterface.Companies;
end;

procedure TTaskRequestUpdateItem.Set_Companies(const Companies: WideString);
  { Warning: The property Companies has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Companies := Companies;
end;

function TTaskRequestUpdateItem.Get_ConversationIndex: WideString;
begin
    Result := DefaultInterface.ConversationIndex;
end;

function TTaskRequestUpdateItem.Get_ConversationTopic: WideString;
begin
    Result := DefaultInterface.ConversationTopic;
end;

function TTaskRequestUpdateItem.Get_CreationTime: TDateTime;
begin
    Result := DefaultInterface.CreationTime;
end;

function TTaskRequestUpdateItem.Get_EntryID: WideString;
begin
    Result := DefaultInterface.EntryID;
end;

function TTaskRequestUpdateItem.Get_FormDescription: FormDescription;
begin
    Result := DefaultInterface.FormDescription;
end;

function TTaskRequestUpdateItem.Get_GetInspector: _Inspector;
begin
    Result := DefaultInterface.GetInspector;
end;

function TTaskRequestUpdateItem.Get_Importance: OlImportance;
begin
    Result := DefaultInterface.Importance;
end;

procedure TTaskRequestUpdateItem.Set_Importance(Importance: OlImportance);
begin
  DefaultInterface.Set_Importance(Importance);
end;

function TTaskRequestUpdateItem.Get_LastModificationTime: TDateTime;
begin
    Result := DefaultInterface.LastModificationTime;
end;

function TTaskRequestUpdateItem.Get_MAPIOBJECT: IUnknown;
begin
    Result := DefaultInterface.MAPIOBJECT;
end;

function TTaskRequestUpdateItem.Get_MessageClass: WideString;
begin
    Result := DefaultInterface.MessageClass;
end;

procedure TTaskRequestUpdateItem.Set_MessageClass(const MessageClass: WideString);
  { Warning: The property MessageClass has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.MessageClass := MessageClass;
end;

function TTaskRequestUpdateItem.Get_Mileage: WideString;
begin
    Result := DefaultInterface.Mileage;
end;

procedure TTaskRequestUpdateItem.Set_Mileage(const Mileage: WideString);
  { Warning: The property Mileage has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Mileage := Mileage;
end;

function TTaskRequestUpdateItem.Get_NoAging: WordBool;
begin
    Result := DefaultInterface.NoAging;
end;

procedure TTaskRequestUpdateItem.Set_NoAging(NoAging: WordBool);
begin
  DefaultInterface.Set_NoAging(NoAging);
end;

function TTaskRequestUpdateItem.Get_OutlookInternalVersion: Integer;
begin
    Result := DefaultInterface.OutlookInternalVersion;
end;

function TTaskRequestUpdateItem.Get_OutlookVersion: WideString;
begin
    Result := DefaultInterface.OutlookVersion;
end;

function TTaskRequestUpdateItem.Get_Saved: WordBool;
begin
    Result := DefaultInterface.Saved;
end;

function TTaskRequestUpdateItem.Get_Sensitivity: OlSensitivity;
begin
    Result := DefaultInterface.Sensitivity;
end;

procedure TTaskRequestUpdateItem.Set_Sensitivity(Sensitivity: OlSensitivity);
begin
  DefaultInterface.Set_Sensitivity(Sensitivity);
end;

function TTaskRequestUpdateItem.Get_Size: Integer;
begin
    Result := DefaultInterface.Size;
end;

function TTaskRequestUpdateItem.Get_Subject: WideString;
begin
    Result := DefaultInterface.Subject;
end;

procedure TTaskRequestUpdateItem.Set_Subject(const Subject: WideString);
  { Warning: The property Subject has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Subject := Subject;
end;

function TTaskRequestUpdateItem.Get_UnRead: WordBool;
begin
    Result := DefaultInterface.UnRead;
end;

procedure TTaskRequestUpdateItem.Set_UnRead(UnRead: WordBool);
begin
  DefaultInterface.Set_UnRead(UnRead);
end;

function TTaskRequestUpdateItem.Get_UserProperties: UserProperties;
begin
    Result := DefaultInterface.UserProperties;
end;

function TTaskRequestUpdateItem.Get_Links: Links;
begin
    Result := DefaultInterface.Links;
end;

function TTaskRequestUpdateItem.Get_DownloadState: OlDownloadState;
begin
    Result := DefaultInterface.DownloadState;
end;

function TTaskRequestUpdateItem.Get_ItemProperties: ItemProperties;
begin
    Result := DefaultInterface.ItemProperties;
end;

function TTaskRequestUpdateItem.Get_MarkForDownload: OlRemoteStatus;
begin
    Result := DefaultInterface.MarkForDownload;
end;

procedure TTaskRequestUpdateItem.Set_MarkForDownload(MarkForDownload: OlRemoteStatus);
begin
  DefaultInterface.Set_MarkForDownload(MarkForDownload);
end;

function TTaskRequestUpdateItem.Get_IsConflict: WordBool;
begin
    Result := DefaultInterface.IsConflict;
end;

procedure TTaskRequestUpdateItem.Close(SaveMode: OlInspectorClose);
begin
  DefaultInterface.Close(SaveMode);
end;

function TTaskRequestUpdateItem.Copy: IDispatch;
begin
  Result := DefaultInterface.Copy;
end;

procedure TTaskRequestUpdateItem.Delete;
begin
  DefaultInterface.Delete;
end;

procedure TTaskRequestUpdateItem.Display;
begin
  DefaultInterface.Display(EmptyParam);
end;

procedure TTaskRequestUpdateItem.Display(Modal: OleVariant);
begin
  DefaultInterface.Display(Modal);
end;

function TTaskRequestUpdateItem.Move(const DestFldr: MAPIFolder): IDispatch;
begin
  Result := DefaultInterface.Move(DestFldr);
end;

procedure TTaskRequestUpdateItem.PrintOut;
begin
  DefaultInterface.PrintOut;
end;

procedure TTaskRequestUpdateItem.Save;
begin
  DefaultInterface.Save;
end;

procedure TTaskRequestUpdateItem.SaveAs(const Path: WideString);
begin
  DefaultInterface.SaveAs(Path, EmptyParam);
end;

procedure TTaskRequestUpdateItem.SaveAs(const Path: WideString; Type_: OleVariant);
begin
  DefaultInterface.SaveAs(Path, Type_);
end;

function TTaskRequestUpdateItem.GetAssociatedTask(AddToTaskList: WordBool): TaskItem;
begin
  Result := DefaultInterface.GetAssociatedTask(AddToTaskList);
end;

procedure TTaskRequestUpdateItem.ShowCategoriesDialog;
begin
  DefaultInterface.ShowCategoriesDialog;
end;

{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
constructor TTaskRequestUpdateItemProperties.Create(AServer: TTaskRequestUpdateItem);
begin
  inherited Create;
  FServer := AServer;
end;

function TTaskRequestUpdateItemProperties.GetDefaultInterface: _TaskRequestUpdateItem;
begin
  Result := FServer.DefaultInterface;
end;

function TTaskRequestUpdateItemProperties.Get_Application: _Application;
begin
    Result := DefaultInterface.Application;
end;

function TTaskRequestUpdateItemProperties.Get_Class_: OlObjectClass;
begin
    Result := DefaultInterface.Class_;
end;

function TTaskRequestUpdateItemProperties.Get_Session: _NameSpace;
begin
    Result := DefaultInterface.Session;
end;

function TTaskRequestUpdateItemProperties.Get_Parent: IDispatch;
begin
    Result := DefaultInterface.Parent;
end;

function TTaskRequestUpdateItemProperties.Get_Actions: Actions;
begin
    Result := DefaultInterface.Actions;
end;

function TTaskRequestUpdateItemProperties.Get_Attachments: Attachments;
begin
    Result := DefaultInterface.Attachments;
end;

function TTaskRequestUpdateItemProperties.Get_BillingInformation: WideString;
begin
    Result := DefaultInterface.BillingInformation;
end;

procedure TTaskRequestUpdateItemProperties.Set_BillingInformation(const BillingInformation: WideString);
  { Warning: The property BillingInformation has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.BillingInformation := BillingInformation;
end;

function TTaskRequestUpdateItemProperties.Get_Body: WideString;
begin
    Result := DefaultInterface.Body;
end;

procedure TTaskRequestUpdateItemProperties.Set_Body(const Body: WideString);
  { Warning: The property Body has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Body := Body;
end;

function TTaskRequestUpdateItemProperties.Get_Categories: WideString;
begin
    Result := DefaultInterface.Categories;
end;

procedure TTaskRequestUpdateItemProperties.Set_Categories(const Categories: WideString);
  { Warning: The property Categories has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Categories := Categories;
end;

function TTaskRequestUpdateItemProperties.Get_Companies: WideString;
begin
    Result := DefaultInterface.Companies;
end;

procedure TTaskRequestUpdateItemProperties.Set_Companies(const Companies: WideString);
  { Warning: The property Companies has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Companies := Companies;
end;

function TTaskRequestUpdateItemProperties.Get_ConversationIndex: WideString;
begin
    Result := DefaultInterface.ConversationIndex;
end;

function TTaskRequestUpdateItemProperties.Get_ConversationTopic: WideString;
begin
    Result := DefaultInterface.ConversationTopic;
end;

function TTaskRequestUpdateItemProperties.Get_CreationTime: TDateTime;
begin
    Result := DefaultInterface.CreationTime;
end;

function TTaskRequestUpdateItemProperties.Get_EntryID: WideString;
begin
    Result := DefaultInterface.EntryID;
end;

function TTaskRequestUpdateItemProperties.Get_FormDescription: FormDescription;
begin
    Result := DefaultInterface.FormDescription;
end;

function TTaskRequestUpdateItemProperties.Get_GetInspector: _Inspector;
begin
    Result := DefaultInterface.GetInspector;
end;

function TTaskRequestUpdateItemProperties.Get_Importance: OlImportance;
begin
    Result := DefaultInterface.Importance;
end;

procedure TTaskRequestUpdateItemProperties.Set_Importance(Importance: OlImportance);
begin
  DefaultInterface.Set_Importance(Importance);
end;

function TTaskRequestUpdateItemProperties.Get_LastModificationTime: TDateTime;
begin
    Result := DefaultInterface.LastModificationTime;
end;

function TTaskRequestUpdateItemProperties.Get_MAPIOBJECT: IUnknown;
begin
    Result := DefaultInterface.MAPIOBJECT;
end;

function TTaskRequestUpdateItemProperties.Get_MessageClass: WideString;
begin
    Result := DefaultInterface.MessageClass;
end;

procedure TTaskRequestUpdateItemProperties.Set_MessageClass(const MessageClass: WideString);
  { Warning: The property MessageClass has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.MessageClass := MessageClass;
end;

function TTaskRequestUpdateItemProperties.Get_Mileage: WideString;
begin
    Result := DefaultInterface.Mileage;
end;

procedure TTaskRequestUpdateItemProperties.Set_Mileage(const Mileage: WideString);
  { Warning: The property Mileage has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Mileage := Mileage;
end;

function TTaskRequestUpdateItemProperties.Get_NoAging: WordBool;
begin
    Result := DefaultInterface.NoAging;
end;

procedure TTaskRequestUpdateItemProperties.Set_NoAging(NoAging: WordBool);
begin
  DefaultInterface.Set_NoAging(NoAging);
end;

function TTaskRequestUpdateItemProperties.Get_OutlookInternalVersion: Integer;
begin
    Result := DefaultInterface.OutlookInternalVersion;
end;

function TTaskRequestUpdateItemProperties.Get_OutlookVersion: WideString;
begin
    Result := DefaultInterface.OutlookVersion;
end;

function TTaskRequestUpdateItemProperties.Get_Saved: WordBool;
begin
    Result := DefaultInterface.Saved;
end;

function TTaskRequestUpdateItemProperties.Get_Sensitivity: OlSensitivity;
begin
    Result := DefaultInterface.Sensitivity;
end;

procedure TTaskRequestUpdateItemProperties.Set_Sensitivity(Sensitivity: OlSensitivity);
begin
  DefaultInterface.Set_Sensitivity(Sensitivity);
end;

function TTaskRequestUpdateItemProperties.Get_Size: Integer;
begin
    Result := DefaultInterface.Size;
end;

function TTaskRequestUpdateItemProperties.Get_Subject: WideString;
begin
    Result := DefaultInterface.Subject;
end;

procedure TTaskRequestUpdateItemProperties.Set_Subject(const Subject: WideString);
  { Warning: The property Subject has a setter and a getter whose
    types do not match. Delphi was unable to generate a property of
    this sort and so is using a Variant as a passthrough. }
var
  InterfaceVariant: OleVariant;
begin
  InterfaceVariant := DefaultInterface;
  InterfaceVariant.Subject := Subject;
end;

function TTaskRequestUpdateItemProperties.Get_UnRead: WordBool;
begin
    Result := DefaultInterface.UnRead;
end;

procedure TTaskRequestUpdateItemProperties.Set_UnRead(UnRead: WordBool);
begin
  DefaultInterface.Set_UnRead(UnRead);
end;

function TTaskRequestUpdateItemProperties.Get_UserProperties: UserProperties;
begin
    Result := DefaultInterface.UserProperties;
end;

function TTaskRequestUpdateItemProperties.Get_Links: Links;
begin
    Result := DefaultInterface.Links;
end;

function TTaskRequestUpdateItemProperties.Get_DownloadState: OlDownloadState;
begin
    Result := DefaultInterface.DownloadState;
end;

function TTaskRequestUpdateItemProperties.Get_ItemProperties: ItemProperties;
begin
    Result := DefaultInterface.ItemProperties;
end;

function TTaskRequestUpdateItemProperties.Get_MarkForDownload: OlRemoteStatus;
begin
    Result := DefaultInterface.MarkForDownload;
end;

procedure TTaskRequestUpdateItemProperties.Set_MarkForDownload(MarkForDownload: OlRemoteStatus);
begin
  DefaultInterface.Set_MarkForDownload(MarkForDownload);
end;

function TTaskRequestUpdateItemProperties.Get_IsConflict: WordBool;
begin
    Result := DefaultInterface.IsConflict;
end;

{$ENDIF}

procedure TDataSourceObject.InitControlData;
const
  CControlData: TControlData2 = (
    ClassID: '{0006F02C-0000-0000-C000-000000000046}';
    EventIID: '';
    EventCount: 0;
    EventDispIDs: nil;
    LicenseKey: nil (*HR:$80040154*);
    Flags: $00000000;
    Version: 401);
begin
  ControlData := @CControlData;
end;

procedure TDataSourceObject.CreateControl;

  procedure DoCreate;
  begin
    FIntf := IUnknown(OleObject) as DDataSourceObject;
  end;

begin
  if FIntf = nil then DoCreate;
end;

function TDataSourceObject.GetControlInterface: DDataSourceObject;
begin
  CreateControl;
  Result := FIntf;
end;

function TDataSourceObject.Get_OutlookItem: IDispatch;
begin
  Result := DefaultInterface.OutlookItem;
end;

procedure TDataSourceObject.Set_OutlookItem(const Value: IDispatch);
begin
  DefaultInterface.OutlookItem := Value;
end;

class function CoResults.Create: _Results;
begin
  Result := CreateComObject(CLASS_Results) as _Results;
end;

class function CoResults.CreateRemote(const MachineName: string): _Results;
begin
  Result := CreateRemoteComObject(MachineName, CLASS_Results) as _Results;
end;

procedure TResults.InitServerData;
const
  CServerData: TServerData = (
    ClassID:   '{00061039-0000-0000-C000-000000000046}';
    IntfIID:   '{0006300C-0000-0000-C000-000000000046}';
    EventIID:  '{0006300D-0000-0000-C000-000000000046}';
    LicenseKey: nil;
    Version: 500);
begin
  ServerData := @CServerData;
end;

procedure TResults.Connect;
var
  punk: IUnknown;
begin
  if FIntf = nil then
  begin
    punk := GetServer;
    ConnectEvents(punk);
    Fintf:= punk as _Results;
  end;
end;

procedure TResults.ConnectTo(svrIntf: _Results);
begin
  Disconnect;
  FIntf := svrIntf;
  ConnectEvents(FIntf);
end;

procedure TResults.DisConnect;
begin
  if Fintf <> nil then
  begin
    DisconnectEvents(FIntf);
    FIntf := nil;
  end;
end;

function TResults.GetDefaultInterface: _Results;
begin
  if FIntf = nil then
    Connect;
  Assert(FIntf <> nil, 'DefaultInterface is NULL. Component is not connected to Server. You must call ''Connect'' or ''ConnectTo'' before this operation');
  Result := FIntf;
end;

constructor TResults.Create(AOwner: TComponent);
begin
  inherited Create(AOwner);
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  FProps := TResultsProperties.Create(Self);
{$ENDIF}
end;

destructor TResults.Destroy;
begin
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  FProps.Free;
{$ENDIF}
  inherited Destroy;
end;

{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
function TResults.GetServerProperties: TResultsProperties;
begin
  Result := FProps;
end;
{$ENDIF}

procedure TResults.InvokeEvent(DispID: TDispID; var Params: TVariantArray);
begin
  case DispID of
    -1: Exit;  // DISPID_UNKNOWN
    61441: if Assigned(FOnItemAdd) then
         FOnItemAdd(Self, Params[0] {const IDispatch});
    61442: if Assigned(FOnItemChange) then
         FOnItemChange(Self, Params[0] {const IDispatch});
    61443: if Assigned(FOnItemRemove) then
         FOnItemRemove(Self);
  end; {case DispID}
end;

function TResults.Get_Application: _Application;
begin
    Result := DefaultInterface.Application;
end;

function TResults.Get_Class_: OlObjectClass;
begin
    Result := DefaultInterface.Class_;
end;

function TResults.Get_Session: _NameSpace;
begin
    Result := DefaultInterface.Session;
end;

function TResults.Get_Parent: IDispatch;
begin
    Result := DefaultInterface.Parent;
end;

function TResults.Get_Count: Integer;
begin
    Result := DefaultInterface.Count;
end;

function TResults.Get_RawTable: IUnknown;
begin
    Result := DefaultInterface.RawTable;
end;

function TResults.Get_DefaultItemType: OlItemType;
begin
    Result := DefaultInterface.DefaultItemType;
end;

procedure TResults.Set_DefaultItemType(DefaultItemType: OlItemType);
begin
  DefaultInterface.Set_DefaultItemType(DefaultItemType);
end;

function TResults.Item(Index: OleVariant): IDispatch;
begin
  Result := DefaultInterface.Item(Index);
end;

function TResults.GetFirst: IDispatch;
begin
  Result := DefaultInterface.GetFirst;
end;

function TResults.GetLast: IDispatch;
begin
  Result := DefaultInterface.GetLast;
end;

function TResults.GetNext: IDispatch;
begin
  Result := DefaultInterface.GetNext;
end;

function TResults.GetPrevious: IDispatch;
begin
  Result := DefaultInterface.GetPrevious;
end;

procedure TResults.ResetColumns;
begin
  DefaultInterface.ResetColumns;
end;

procedure TResults.SetColumns(const Columns: WideString);
begin
  DefaultInterface.SetColumns(Columns);
end;

procedure TResults.Sort(const Property_: WideString);
begin
  DefaultInterface.Sort(Property_, EmptyParam);
end;

procedure TResults.Sort(const Property_: WideString; Descending: OleVariant);
begin
  DefaultInterface.Sort(Property_, Descending);
end;

{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
constructor TResultsProperties.Create(AServer: TResults);
begin
  inherited Create;
  FServer := AServer;
end;

function TResultsProperties.GetDefaultInterface: _Results;
begin
  Result := FServer.DefaultInterface;
end;

function TResultsProperties.Get_Application: _Application;
begin
    Result := DefaultInterface.Application;
end;

function TResultsProperties.Get_Class_: OlObjectClass;
begin
    Result := DefaultInterface.Class_;
end;

function TResultsProperties.Get_Session: _NameSpace;
begin
    Result := DefaultInterface.Session;
end;

function TResultsProperties.Get_Parent: IDispatch;
begin
    Result := DefaultInterface.Parent;
end;

function TResultsProperties.Get_Count: Integer;
begin
    Result := DefaultInterface.Count;
end;

function TResultsProperties.Get_RawTable: IUnknown;
begin
    Result := DefaultInterface.RawTable;
end;

function TResultsProperties.Get_DefaultItemType: OlItemType;
begin
    Result := DefaultInterface.DefaultItemType;
end;

procedure TResultsProperties.Set_DefaultItemType(DefaultItemType: OlItemType);
begin
  DefaultInterface.Set_DefaultItemType(DefaultItemType);
end;

{$ENDIF}

class function CoViews.Create: _Views;
begin
  Result := CreateComObject(CLASS_Views) as _Views;
end;

class function CoViews.CreateRemote(const MachineName: string): _Views;
begin
  Result := CreateRemoteComObject(MachineName, CLASS_Views) as _Views;
end;

procedure TViews.InitServerData;
const
  CServerData: TServerData = (
    ClassID:   '{0006F027-0000-0000-C000-000000000046}';
    IntfIID:   '{0006308D-0000-0000-C000-000000000046}';
    EventIID:  '{000630A5-0000-0000-C000-000000000046}';
    LicenseKey: nil;
    Version: 500);
begin
  ServerData := @CServerData;
end;

procedure TViews.Connect;
var
  punk: IUnknown;
begin
  if FIntf = nil then
  begin
    punk := GetServer;
    ConnectEvents(punk);
    Fintf:= punk as _Views;
  end;
end;

procedure TViews.ConnectTo(svrIntf: _Views);
begin
  Disconnect;
  FIntf := svrIntf;
  ConnectEvents(FIntf);
end;

procedure TViews.DisConnect;
begin
  if Fintf <> nil then
  begin
    DisconnectEvents(FIntf);
    FIntf := nil;
  end;
end;

function TViews.GetDefaultInterface: _Views;
begin
  if FIntf = nil then
    Connect;
  Assert(FIntf <> nil, 'DefaultInterface is NULL. Component is not connected to Server. You must call ''Connect'' or ''ConnectTo'' before this operation');
  Result := FIntf;
end;

constructor TViews.Create(AOwner: TComponent);
begin
  inherited Create(AOwner);
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  FProps := TViewsProperties.Create(Self);
{$ENDIF}
end;

destructor TViews.Destroy;
begin
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  FProps.Free;
{$ENDIF}
  inherited Destroy;
end;

{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
function TViews.GetServerProperties: TViewsProperties;
begin
  Result := FProps;
end;
{$ENDIF}

procedure TViews.InvokeEvent(DispID: TDispID; var Params: TVariantArray);
begin
  case DispID of
    -1: Exit;  // DISPID_UNKNOWN
    400: if Assigned(FOnViewAdd) then
         FOnViewAdd(Self, IUnknown(TVarData(Params[0]).VPointer) as View {const View});
    64071: if Assigned(FOnViewRemove) then
         FOnViewRemove(Self, IUnknown(TVarData(Params[0]).VPointer) as View {const View});
  end; {case DispID}
end;

function TViews.Get_Application: _Application;
begin
    Result := DefaultInterface.Application;
end;

function TViews.Get_Class_: OlObjectClass;
begin
    Result := DefaultInterface.Class_;
end;

function TViews.Get_Session: _NameSpace;
begin
    Result := DefaultInterface.Session;
end;

function TViews.Get_Parent: IDispatch;
begin
    Result := DefaultInterface.Parent;
end;

function TViews.Get_Count: Integer;
begin
    Result := DefaultInterface.Count;
end;

function TViews.Item(Index: OleVariant): View;
begin
  Result := DefaultInterface.Item(Index);
end;

function TViews.Add(const Name: WideString; ViewType: OlViewType; SaveOption: OlViewSaveOption): View;
begin
  Result := DefaultInterface.Add(Name, ViewType, SaveOption);
end;

procedure TViews.Remove(Index: OleVariant);
begin
  DefaultInterface.Remove(Index);
end;

function TViews._NewEnum: IUnknown;
begin
  Result := DefaultInterface._NewEnum;
end;

{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
constructor TViewsProperties.Create(AServer: TViews);
begin
  inherited Create;
  FServer := AServer;
end;

function TViewsProperties.GetDefaultInterface: _Views;
begin
  Result := FServer.DefaultInterface;
end;

function TViewsProperties.Get_Application: _Application;
begin
    Result := DefaultInterface.Application;
end;

function TViewsProperties.Get_Class_: OlObjectClass;
begin
    Result := DefaultInterface.Class_;
end;

function TViewsProperties.Get_Session: _NameSpace;
begin
    Result := DefaultInterface.Session;
end;

function TViewsProperties.Get_Parent: IDispatch;
begin
    Result := DefaultInterface.Parent;
end;

function TViewsProperties.Get_Count: Integer;
begin
    Result := DefaultInterface.Count;
end;

{$ENDIF}

class function CoReminder.Create: _Reminder;
begin
  Result := CreateComObject(CLASS_Reminder) as _Reminder;
end;

class function CoReminder.CreateRemote(const MachineName: string): _Reminder;
begin
  Result := CreateRemoteComObject(MachineName, CLASS_Reminder) as _Reminder;
end;

procedure TReminder.InitServerData;
const
  CServerData: TServerData = (
    ClassID:   '{0006F028-0000-0000-C000-000000000046}';
    IntfIID:   '{000630B0-0000-0000-C000-000000000046}';
    EventIID:  '';
    LicenseKey: nil;
    Version: 500);
begin
  ServerData := @CServerData;
end;

procedure TReminder.Connect;
var
  punk: IUnknown;
begin
  if FIntf = nil then
  begin
    punk := GetServer;
    Fintf:= punk as _Reminder;
  end;
end;

procedure TReminder.ConnectTo(svrIntf: _Reminder);
begin
  Disconnect;
  FIntf := svrIntf;
end;

procedure TReminder.DisConnect;
begin
  if Fintf <> nil then
  begin
    FIntf := nil;
  end;
end;

function TReminder.GetDefaultInterface: _Reminder;
begin
  if FIntf = nil then
    Connect;
  Assert(FIntf <> nil, 'DefaultInterface is NULL. Component is not connected to Server. You must call ''Connect'' or ''ConnectTo'' before this operation');
  Result := FIntf;
end;

constructor TReminder.Create(AOwner: TComponent);
begin
  inherited Create(AOwner);
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  FProps := TReminderProperties.Create(Self);
{$ENDIF}
end;

destructor TReminder.Destroy;
begin
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  FProps.Free;
{$ENDIF}
  inherited Destroy;
end;

{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
function TReminder.GetServerProperties: TReminderProperties;
begin
  Result := FProps;
end;
{$ENDIF}

function TReminder.Get_Application: _Application;
begin
    Result := DefaultInterface.Application;
end;

function TReminder.Get_Class_: OlObjectClass;
begin
    Result := DefaultInterface.Class_;
end;

function TReminder.Get_Session: _NameSpace;
begin
    Result := DefaultInterface.Session;
end;

function TReminder.Get_Parent: IDispatch;
begin
    Result := DefaultInterface.Parent;
end;

function TReminder.Get_Caption: WideString;
begin
    Result := DefaultInterface.Caption;
end;

function TReminder.Get_IsVisible: WordBool;
begin
    Result := DefaultInterface.IsVisible;
end;

function TReminder.Get_Item: IDispatch;
begin
    Result := DefaultInterface.Item;
end;

function TReminder.Get_NextReminderDate: TDateTime;
begin
    Result := DefaultInterface.NextReminderDate;
end;

function TReminder.Get_OriginalReminderDate: TDateTime;
begin
    Result := DefaultInterface.OriginalReminderDate;
end;

procedure TReminder.Dismiss;
begin
  DefaultInterface.Dismiss;
end;

procedure TReminder.Snooze;
begin
  DefaultInterface.Snooze(EmptyParam);
end;

procedure TReminder.Snooze(SnoozeTime: OleVariant);
begin
  DefaultInterface.Snooze(SnoozeTime);
end;

{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
constructor TReminderProperties.Create(AServer: TReminder);
begin
  inherited Create;
  FServer := AServer;
end;

function TReminderProperties.GetDefaultInterface: _Reminder;
begin
  Result := FServer.DefaultInterface;
end;

function TReminderProperties.Get_Application: _Application;
begin
    Result := DefaultInterface.Application;
end;

function TReminderProperties.Get_Class_: OlObjectClass;
begin
    Result := DefaultInterface.Class_;
end;

function TReminderProperties.Get_Session: _NameSpace;
begin
    Result := DefaultInterface.Session;
end;

function TReminderProperties.Get_Parent: IDispatch;
begin
    Result := DefaultInterface.Parent;
end;

function TReminderProperties.Get_Caption: WideString;
begin
    Result := DefaultInterface.Caption;
end;

function TReminderProperties.Get_IsVisible: WordBool;
begin
    Result := DefaultInterface.IsVisible;
end;

function TReminderProperties.Get_Item: IDispatch;
begin
    Result := DefaultInterface.Item;
end;

function TReminderProperties.Get_NextReminderDate: TDateTime;
begin
    Result := DefaultInterface.NextReminderDate;
end;

function TReminderProperties.Get_OriginalReminderDate: TDateTime;
begin
    Result := DefaultInterface.OriginalReminderDate;
end;

{$ENDIF}

class function CoReminders.Create: _Reminders;
begin
  Result := CreateComObject(CLASS_Reminders) as _Reminders;
end;

class function CoReminders.CreateRemote(const MachineName: string): _Reminders;
begin
  Result := CreateRemoteComObject(MachineName, CLASS_Reminders) as _Reminders;
end;

procedure TReminders.InitServerData;
const
  CServerData: TServerData = (
    ClassID:   '{0006F029-0000-0000-C000-000000000046}';
    IntfIID:   '{000630B1-0000-0000-C000-000000000046}';
    EventIID:  '{000630B2-0000-0000-C000-000000000046}';
    LicenseKey: nil;
    Version: 500);
begin
  ServerData := @CServerData;
end;

procedure TReminders.Connect;
var
  punk: IUnknown;
begin
  if FIntf = nil then
  begin
    punk := GetServer;
    ConnectEvents(punk);
    Fintf:= punk as _Reminders;
  end;
end;

procedure TReminders.ConnectTo(svrIntf: _Reminders);
begin
  Disconnect;
  FIntf := svrIntf;
  ConnectEvents(FIntf);
end;

procedure TReminders.DisConnect;
begin
  if Fintf <> nil then
  begin
    DisconnectEvents(FIntf);
    FIntf := nil;
  end;
end;

function TReminders.GetDefaultInterface: _Reminders;
begin
  if FIntf = nil then
    Connect;
  Assert(FIntf <> nil, 'DefaultInterface is NULL. Component is not connected to Server. You must call ''Connect'' or ''ConnectTo'' before this operation');
  Result := FIntf;
end;

constructor TReminders.Create(AOwner: TComponent);
begin
  inherited Create(AOwner);
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  FProps := TRemindersProperties.Create(Self);
{$ENDIF}
end;

destructor TReminders.Destroy;
begin
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  FProps.Free;
{$ENDIF}
  inherited Destroy;
end;

{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
function TReminders.GetServerProperties: TRemindersProperties;
begin
  Result := FProps;
end;
{$ENDIF}

procedure TReminders.InvokeEvent(DispID: TDispID; var Params: TVariantArray);
begin
  case DispID of
    -1: Exit;  // DISPID_UNKNOWN
    64147: if Assigned(FOnBeforeReminderShow) then
         FOnBeforeReminderShow(Self, WordBool((TVarData(Params[0]).VPointer)^) {var WordBool});
    64148: if Assigned(FOnReminderAdd) then
         FOnReminderAdd(Self, IUnknown(TVarData(Params[0]).VPointer) as _Reminder {const _Reminder});
    64149: if Assigned(FOnReminderChange) then
         FOnReminderChange(Self, IUnknown(TVarData(Params[0]).VPointer) as _Reminder {const _Reminder});
    64150: if Assigned(FOnReminderFire) then
         FOnReminderFire(Self, IUnknown(TVarData(Params[0]).VPointer) as _Reminder {const _Reminder});
    64151: if Assigned(FOnReminderRemove) then
         FOnReminderRemove(Self);
    64152: if Assigned(FOnSnooze) then
         FOnSnooze(Self, IUnknown(TVarData(Params[0]).VPointer) as _Reminder {const _Reminder});
  end; {case DispID}
end;

function TReminders.Get_Application: _Application;
begin
    Result := DefaultInterface.Application;
end;

function TReminders.Get_Class_: OlObjectClass;
begin
    Result := DefaultInterface.Class_;
end;

function TReminders.Get_Session: _NameSpace;
begin
    Result := DefaultInterface.Session;
end;

function TReminders.Get_Parent: IDispatch;
begin
    Result := DefaultInterface.Parent;
end;

function TReminders.Get_Count: Integer;
begin
    Result := DefaultInterface.Count;
end;

function TReminders.Item(Index: OleVariant): _Reminder;
begin
  Result := DefaultInterface.Item(Index);
end;

procedure TReminders.Remove(Index: OleVariant);
begin
  DefaultInterface.Remove(Index);
end;

function TReminders._NewEnum: IUnknown;
begin
  Result := DefaultInterface._NewEnum;
end;

{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
constructor TRemindersProperties.Create(AServer: TReminders);
begin
  inherited Create;
  FServer := AServer;
end;

function TRemindersProperties.GetDefaultInterface: _Reminders;
begin
  Result := FServer.DefaultInterface;
end;

function TRemindersProperties.Get_Application: _Application;
begin
    Result := DefaultInterface.Application;
end;

function TRemindersProperties.Get_Class_: OlObjectClass;
begin
    Result := DefaultInterface.Class_;
end;

function TRemindersProperties.Get_Session: _NameSpace;
begin
    Result := DefaultInterface.Session;
end;

function TRemindersProperties.Get_Parent: IDispatch;
begin
    Result := DefaultInterface.Parent;
end;

function TRemindersProperties.Get_Count: Integer;
begin
    Result := DefaultInterface.Count;
end;

{$ENDIF}

end.
