問題タブ [interopservices]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
3058 参照

c# - このコードで "InteropServices.COMException / ForwardCallToInvokeMember" が発生するのはなぜですか?

データを取得して一般的なリストに保存した後、Excel Interop コードを使用して Excel スプレッドシートに入力する次のコードを取得しました。

「 System.Runtime.InteropServices.COMException was unhandled ... StackTrace: at System.RuntimeType.ForwardCallToInvokeMember(String memberName, BindingFlags flags, Object ... "

なぜそうなるのかはわかりません。データを追加する前にこれを呼び出しています:

完全な例外は次のとおりです。

System.Runtime.InteropServices.COMException が処理されませんでした。 、MessageData& msgData) の Microsoft.Office.Interop.Excel.Range.get__Default(Object RowIndex, Object ColumnIndex) at Pivotal.FormMain.AddData(PriceVarianceData _pvd) in c:\Projects\Pivotal\Pivotal\Form1.cs:line 155 at c:\Projects\Pivotal\Pivotal\Form1.cs の Pivotal.FormMain.GenerateAndSaveSpreadsheetFile(): c:\Projects\Pivotal\Pivotal\Form1.cs の Pivotal.FormMain.buttonRun_Click(オブジェクト送信者、EventArgs e) の 134 行目: System.Windows.Forms.Control.OnClick(EventArgs e) の 77 行目。Windows.Forms.Button.OnClick(EventArgs e) で System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent) で System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons ボタン, Int32 クリック) で System.Windows. Forms.Control.WndProc(Message& m) で System.Windows.Forms.ButtonBase.WndProc(Message& m) で System.Windows.Forms.Button.WndProc(Message& m) で System.Windows.Forms.Control.ControlNativeWindow.OnMessage( Message& m) System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m) で System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam) で System.Windows.Forms.UnsafeNativeMethods System.Windows.Forms.Application.ComponentManager.System.Windows.Forms の .DispatchMessageW(MSG& msg)。UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData) at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context) at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, System.Windows.Forms.Application.Run(Form mainForm) at Pivotal.Program.Main() in c:\Projects\Pivotal\Pivotal\Program.cs:line 19 at System.AppDomain._nExecuteAssembly(RuntimeAssembly assembly) 、System.AppDomain.ExecuteAssembly の String[] args) (String assemblyFile、Evidence assemblySecurity、String[] args) at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly() at System.Threading.ThreadHelper.ThreadStart_Context(Object state) at System .スレッド。System.Threading.ExecutionContext.Run(ExecutionContext 実行コンテキスト、ContextCallback コールバック、オブジェクト状態、ブール値 preserveSyncCtx) での ExecutionContext.RunInternal(ExecutionContext 実行コンテキスト、ContextCallback コールバック、オブジェクト状態、ブール値 preserveSyncCtx)コールバック、オブジェクト状態) で System.Threading.ThreadHelper.ThreadStart() InnerException:オブジェクトの状態) System.Threading.ThreadHelper.ThreadStart() InnerException:オブジェクトの状態) System.Threading.ThreadHelper.ThreadStart() InnerException:

ここで何が問題になる可能性がありますか? thisを見ましたが、この状況に当てはまる提案はないようでした。

アップデート

私は今朝、約 40 個の Excel プロセスが実行されていることに気付きました。それでも同じ結果が得られましたが、その Excel プロセスもハングアップしました (予想どおり、実行が突然停止したため)。

0 投票する
1 に答える
1212 参照

c# - 子コントロールではなく、別のプロセスから子ウィンドウを取得するにはどうすればよいですか?

私は、別のアプリケーションを他のウィンドウの上に表示する方法を見つけることを任されています (Always On Top)。RetrieveProcesses() 関数を使用して、ウィンドウ タイトルを持つプロセスを取得できます。ユーザーが変更するプロセスを選択すると、アプリケーションは MakeProcessOnTop または MakeProcessNormal を呼び出します。どちらの関数も、メイン アプリケーションのウィンドウを変更します。その子の変更を追加する前は、これは正しく機能していました。

その後、これが子ウィンドウ (Outlook の電子メールなど) では機能しないことがわかったので、子ウィンドウを処理する方法を探し始めました。次のコードの書き方では、子ウィンドウが台無しになります。子コントロールではなく、子ウィンドウのハンドル ポインタを取得するにはどうすればよいですか?

0 投票する
0 に答える
373 参照

c# - C# システム ランタイム Interopservices 外部例外でのビットマップの保存エラー

以下のコードはあちこちで機能します。画像がうまく保存される場合もあれば、保存されない場合もあります。画像はローカルに保存されており、フォルダーには適切な権限があります。

これが私が得ているエラーです:

ここに画像の説明を入力

誰かが私が間違っていることを教えてもらえますか?

0 投票する
1 に答える
421 参照

c# - Range.InsertParagraphAfter() 使用時の COM 例外

Hello Guys こんにちは (アルゼンチン時間)。私は、システムがクライアントからの要件に従ってワード文書をフォーマットするプロジェクトを受け取りました。受け取った Word ドキュメントは .doc にあり、別の形式または内部デザインでエクスポートまたは作成した Word ドキュメントは .docx です。重要なことは、これと同じコードが Office12 アセンブリで動作していたことですが、Office15 である新しいアセンブリを追加すると、クラッシュしました。

フローがクラッシュするプロジェクトの部分に使用しているサンプル コードは次のとおりです。

例外メッセージは次のとおりです。

興味深いこと:

  1. 新しいファイルを使用してもクラッシュしません。
  2. 手でコンテンツを書いてもクラッシュしません。
  3. コンテンツまたはコンテンツの一部をコピーして貼り付けると、クラッシュします。
  4. 新しいドキュメントのコンテンツを削除して再試行すると、クラッシュします。

これは、元のドキュメントの単語または段落の書式設定に関連するものだと思います。元のドキュメントのコンテンツを使用した場合にのみ発生するためです。しかし、何が起こっているのか、これをどのように処理するのか、またはこれを回避する方法はまだわかりません. 例外はそれほど説明的ではないため(必要な特定の情報やエラーメッセージを常に受け​​取るとは限りません)、すでにWebを検索して、誰かが同じ、関連する、または無関係な種類を持っているかどうかを確認していますエラーの。

コードを読んで理解してくれてありがとう。

敬具 ダグラス・リーカム

0 投票する
1 に答える
430 参照

c# - C# でアンマネージ変数をマーシャリングする

C# コードにアンマネージ DLL をインポートしています。.h ファイルには、次のようにメソッドが記述されています。

SetConfiguration メソッドを呼び出すことができました

単純な C# 文字列を指定するだけでうまくいきました。

今私は GetErrorMessage_UTF16 メソッドを成功させようとしています。では、errorCode の長さをどのように割り当て、wchar_t *messageText 変数を宣言するのですか?

私はこのようなことを試しましたが、うまくいかないようです

私が試したものは何でも私は得る

0 投票する
1 に答える
975 参照

c# - Unity に System.Runtime.InteropServices を認識させ、HoloToolKit を使用して HoloLens 用のプロジェクトをビルドします。

まず第一に、皆さん、どうもありがとうございました。ここでの投稿と回答は、HoloLens 開発の取り組みにおいて非常に貴重なものでした!

だから、ここに私の問題があります:

  • HoloToolKit が最初に開始されたときに開発された古いプロジェクト。
  • 空間マッピングと共有を実装したい
  • メタ ファイルを含む HoloToolKit の共有フォルダーのみを手動で Unity にインポートしました
  • 再生を押すと、いくつかのスクリプトを変更して、HoloToolKit.Unity ではなく HoloToolKit 名前空間を探すようにすると、すべてがうまく機能します。
  • プレハブをドロップして共有する
  • テストすると、これはエディターからうまく機能します(サーバー上の接続を確認してください)
  • プロジェクトを構築してください - すべての地獄が解き放たれます!
  • エディターに 647 エラーが表示され、Visual Studio には何も表示されない
  • これらはすべて SDK からのものです
  • 次のようにすべて同じエラーがあります。
  • エラー CS0234: 型または名前空間名 'HandleRef' が名前空間 'System.Runtime.InteropServices' に存在しません (アセンブリ参照がありませんか?)
  • 私が試したこと:
  • パッケージから共有グッズのみをインポートします....これは、シリアル化されたすべてのゲームオブジェクトがリセットされるという点で私のプロジェクトを壊します。これらすべてのゲーム オブジェクトをリセットすることはできません....
  • System.Runtime.InteropServices.dll ファイルを assets フォルダーの plugins フォルダーにコピーします。
  • csc、gmcs、mcs、および smcs ファイル (ファイルが何であれ) をプロジェクトにコピーして、再構築を試みます。
  • 髪を引っ張り、岩や硬い場所に頭をぶつけて、ほとんど意識がなくなりました。喜びはありませんでした。

皆さんの助けがあれば、100% 感謝します。よろしくお願いします。コーディングをお楽しみください。

0 投票する
0 に答える
73 参照

.net - Windows サービスによる追跡

こんにちは、特定の単語ファイルが以下のテクニックを使用して Windows サービスで開くときを追跡しようとしていますが、これらのメソッドが Windows サービスで機能していません。それを達成できる方法を教えてください。