示例#1
0
 /// <summary>
 /// Creates a new instance of Microsoft Project
 /// </summary>
 /// <param name="mode">indicates where is the call coming from</param>
 public ApplicationClass(NetOffice.Callers.InteropCompatibilityClassCreateMode mode)
 {
     if (mode == NetOffice.Callers.InteropCompatibilityClassCreateMode.Direct)
     {
         ICOMObjectInitialize init = (ICOMObjectInitialize)this;
         init.InitializeCOMObject(_defaultProgId);
     }
 }
示例#2
0
 /// <summary>
 /// Creates new instance and initialize new instance trough ICOMObjectInitialize interface
 /// </summary>
 /// <param name="factory">affected netoffice core</param>
 /// <param name="type">type to create</param>
 /// <param name="parentObject">parent caller</param>
 /// <param name="comProxy">underlying proxy</param>
 /// <param name="comProxyType">underlying proxy type</param>
 /// <returns>newly created instance</returns>
 /// <exception cref="ActivationException">failed to activate or initialize the instance</exception>
 public static ICOMObject CreateInitializeInstanceWithoutFactory(Core factory, Type type, ICOMObject parentObject, object comProxy, Type comProxyType)
 {
     try
     {
         var newInstance           = (ICOMObject)Activator.CreateInstance(type);
         ICOMObjectInitialize init = (ICOMObjectInitialize)newInstance;
         init.InitializeCOMObject(factory, parentObject, comProxy, comProxyType);
         return(newInstance);
     }
     catch (Exception exception)
     {
         throw new ActivationException(exception);
     }
 }
示例#3
0
        /// <summary>
        /// Initialize replace instance if necessary
        /// </summary>
        /// <param name="caller">calling instance</param>
        /// <param name="instance">instance to replace</param>
        /// <param name="replaceInstance">new replaced instance</param>
        private void ProceedReplaceByEventInstance(ICOMObject caller, ICOMObject instance, ICOMObject replaceInstance)
        {
            ICOMObjectInitialize init = replaceInstance as ICOMObjectInitialize;

            if (null != init && false == init.IsInitialized)
            {
                init.InitializeCOMObject(Parent, caller, instance.UnderlyingObject, instance.UnderlyingType);
            }
            if (null != caller)
            {
                caller.RemoveChildObject(instance);
            }
            Parent.InternalObjectRegister.RemoveObjectFromList(instance, null);
        }
        internal static ICOMObject TryCreateObjectByResolveEvent(Core value, ICOMObject caller, Type contractType, object comProxy)
        {
            ICOMObject result = value.InternalObjectResolver.RaiseResolve(caller, contractType, comProxy);

            if (null != result)
            {
                ICOMObjectInitialize init = result as ICOMObjectInitialize;
                if (null != init && false == init.IsInitialized)
                {
                    init.InitializeCOMObject(caller, comProxy);
                }
            }
            return(result);
        }
示例#5
0
        /// <summary>
        /// Creates a new instance of Microsoft Project based on given id.
        /// This can be used to target a specific version of Microsoft Project.
        /// Example usage:
        /// "Microsoft.MSProject.12" to target MSProject 2007
        /// "Microsoft.MSProject.14" to target MSProject 2010
        /// </summary>
        /// <param name="progId">given progid for specific version</param>
        public ApplicationClass(string progId)
        {
            ICOMObjectInitialize init = (ICOMObjectInitialize)this;

            init.InitializeCOMObject(progId);
        }
示例#6
0
        /// <summary>
        /// Creates a new instance of Microsoft Project
        /// </summary>
        public ApplicationClass()
        {
            ICOMObjectInitialize init = (ICOMObjectInitialize)this;

            init.InitializeCOMObject(_defaultProgId);
        }