1

MS Word で一時的なテスト アプリケーション (デバッグ用) 内で Imanage ドキュメントを開こうとしています。後で ActiveX コントロール プロジェクトにコピーします。ポップアップしているエラーは次のとおりです。

w3wp.exe の 0x7618851A (msvcrt.dll) で例外がスローされました: 0xC0000005: Access >violation reading location 0x09801000.

この例外のハンドラがあれば、プログラムは安全に続行できます。

cmd.Execute 行を実行するとエラーが発生し、エラーが発生する理由がわかりません。

    using IManage;
    using IMANEXTLib;
    using System;        

        namespace WebApplication3
        {
            public partial class WebForm2 : System.Web.UI.Page
            {
                IManDatabase imanagedatabase;
                IManDMS myDMS = new ManDMSClass();
        
                protected void Page_Load(object sender, EventArgs e)
                {
                    openImanageDoc("docNumber", "versionNumber", "server", "database", ReadOnly);
                }
                public void imanageLogin(string server, string database)
                {
                    try
                    {
                        IManSession session = myDMS.Sessions.Add(server);
                        IManWorkArea oWorkArea = session.WorkArea;
                        session.TrustedLogin();
        
                        foreach (IManDatabase dbase in session.Databases)
                        {
                            if (dbase.Name == database)
                            {
                                imanagedatabase = dbase;
                            }
                        }
                    }
                    catch (Exception ex)
                    {
                        throw ex;
                    }
                }
        
                public void openImanageDoc(string docNo, string versionNo, string server, string database, bool isReadOnly = true)
                {
                    IManDocument doc;
                    try
                    {
                        imanageLogin(server, database);
                        int iDocNo = int.Parse(docNo);
                        int iVersion = int.Parse(versionNo);
                        doc = imanagedatabase.GetDocument(iDocNo, iVersion);
                        openNRTDocument(ref doc, isReadOnly);
                        imanagedatabase.Session.Logout();
                        myDMS.Close();
                    }
                    catch (Exception Ex)
                    {
                        imanagedatabase.Session.Logout();
                        throw Ex;
                    }
                    finally
                    {
                        imanagedatabase = null;
                        myDMS = null;
        
                    }
                }
        
        
                public void openNRTDocument(ref IManDocument nrtDocument, Boolean isReadonly)
                {
                    OpenCmd cmd = new OpenCmd();
                    ContextItems objContextItems = new ContextItems();
        
        
                    objContextItems.Add("NRTDMS", myDMS);
                    objContextItems.Add("SelectedNRTDocuments", new[] { (NRTDocument)nrtDocument.LatestVersion });
                    objContextItems.Add("IManExt.OpenCmd.Integration", false);
                    objContextItems.Add("IManExt.OpenCmd.NoCmdUI", true);
        
                    cmd.Initialize(objContextItems);
                    cmd.Update();
                    cmd.Execute();
        
                }
            }
        }

エラーの性質上、コード エラーではなく構成の問題であると推測していますが、私はプログラミングに非常に慣れていないため、完全に間違っている可能性があります。

w3wp.exe はアプリケーション プールによって作成された IIS ワーカー プロセスであることがわかりましたが、それ以外は数値コードが何を表しているのかわかりません。どんな助けやアドバイスも大歓迎です。

4

1 に答える 1