1

最近、.NET フレームワーク経由で MAPI にアクセスする際のエラーに対処しています (この記事で説明されています)。現在、一連のメモリ アクセス違反エラーが残っています。

この問題を回避するために、Visual C++ コアを備えたこのサードパーティ コンポーネントを使用しようとしました。残念ながら、まだ同じエラーが発生しています。

私は個人的に Visual C++ を使用したことはありませんが、私の質問は、C++ ライブラリが Visual Studio 2005 を使用してコンパイルされている場合、Visual C++ を使用して、プロジェクトのメモリも .NET フレームワークによって管理されるようになるのでしょうか?使用している .NET ライブラリと同じ問題が発生する可能性がありますか? それとも、間違った木を吠えていますか?

4

3 に答える 3

1

前の 2 つの回答で「マネージ C++」について言及されていましたが、これは、.NET 環境でマネージ C++ を使用できるようにするために彼らが行った古いボルトオンです。それは第一級市民ではありませんでした - C++/CLI とは異なり (リンク テキスト

于 2008-08-21T12:44:17.590 に答える
0

Managed C++ を使用していない限り (そうではないように聞こえます)、いいえ、メモリは CLR によって管理されません。

.Net で Exchange と対話するための推奨される方法は、WebDAV を使用することです。

于 2008-08-21T11:59:38.260 に答える
0

あなたが何を求めているのか完全にはわかりませんが、試してみます。

Visual C++ は純粋な C/C++ コンパイラであるため、.NET のメモリ管理もランタイムもありません。手動で new と delete を呼び出す必要があります。

.NET は、C++/CLI も提供します。これは、.NET ランタイムを対象とする C++ のわずかに変更されたバージョンであり、GC 対応です。そのメモリは .NET ランタイムによって管理されます。

あなたのバグに関する詳細がなければ、適切な GC ガードを確実に使用し、必要な場所にファイナライザーを提供することを提案する以外に、実際に提案することはできません。

于 2008-08-21T12:00:51.690 に答える