/// <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); } }
/// <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); } }
/// <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); }
/// <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); }
/// <summary> /// Creates a new instance of Microsoft Project /// </summary> public ApplicationClass() { ICOMObjectInitialize init = (ICOMObjectInitialize)this; init.InitializeCOMObject(_defaultProgId); }