Imagentの文書を、一時的なテストアプリケーション(デバッグ用)内でMS Wordで開いて、後でActiveXコントロールプロジェクトにコピーしようとしています。ポップアップされるエラーは次のとおりです。0x7618851Aで投げWord 2065でImanageから文書を開く
例外w3wp.exeの中(MSVCRT.DLL):0xc0000005で:アクセス>違反場所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ワーカープロセスであることを知りましたが、数値コードが何を表しているのかわかりません。助けやアドバイスをいただければ幸いです。
ありがとうございました。私は、これらの機能がWebアプリケーション内で機能しないことを知りませんでした。私がウェブアプリにいた唯一の理由は、テストすることでした。私はActiveXコントロールとして使用しようとしています。 コードをActiveXコントロールプロジェクトにコピーしましたが、エラーは発生しなくなりました。 –