問題タブ [objectdisposedexception]

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 に答える
2871 参照

c# - 以前に閉じたウィンドウ フォームを再度開く方法。「破棄されたオブジェクトにアクセスできません」

ここでこのようなことをいくつか読みましたが、問題の解決策が見つかりませんでした。

form1 から tempGraph フォームにデータを送信しています。tempGraph フォームを閉じて再度開くまで、すべて問題ありません。再開しようとすると、CANNOT ACCESS A DISPOSED OBJECTどちらが今私の問題であるかが表示されます。

tempGraph を再び開くにはどうすればよいですか?

これは、tempGraph のようなさまざまなフォームにデータを送信するためのコードです。

my にある tempGraph を開く際のコードは次のとおりですform1

右上にある X ボタンを使用して tempG/tempGraph を閉じるか、次のコマンドのボタンを使用して閉じます。

注: tempGraph を閉じた後に再度開くと、エラーが発生します。

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

c# - 私に objectDisposedException を与える描画

以下のコードでは、ObjectDisposedException が返されます。コンテンツローダーにコンテンツを問題なくロードします。時々動作しますが、例外がスローされることがあります。

すべてのテクスチャが完全に読み込まれ、すべてのオブジェクトが適切なテクスチャを持ち、実際に存在します。コンテンツをアンロードする行はどこにもありません。

エラーは最後の spriteBatch.End(); でスローされます。

何がうまくいかないのですか?

編集:

これは、コンテンツを動的にロードする方法です(この関数を使用する場合、フォルダーを文字列として指定します)

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

c# - TcpClient が時期尚早に破棄されました

私には理解できない問題があります。助けてください。TcpClient を使用して一部のハードウェアへのインターフェイスを処理するクラスを作成しました。このクラスが破壊される前に、最後のコマンドを HW に送信する必要があります。

これを解決するために、IDisposable.Dispose を実装して最後のコマンドの送信を処理し、接続を閉じました。また、デストラクタで Dispose を呼び出しました。これは、この記事で読んだ Microsoft の推奨事項です。私のコードは次のとおりです。

私の問題は次のとおりです。プログラムが終了すると、 MyHWInterface のオブジェクトがスコープ外になり、ガベージコレクションが発生します。最後のコマンドを送信しようとするデストラクタが呼び出されますが、何らかの形で TcpClient が既に破棄されているために失敗します。

明らかにまだ範囲外ではないオブジェクトが破棄されている理由を教えてください。そして、Dispose を明示的に呼び出さずに最後のコマンドが常に送信されるようにする方法を教えてください。

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

c# - フォーム表示中の ObjectDisposedException

表示するフォームを取得する必要がある場合、ObjectDisposedExpection を取得し続けます。これを行う方法を知っていますか?NotitiesForm.Show() による foreach で、エラー ObjectDisposedExpection が発生します。Visual Studio Ultimate 2012 C# でプログラミングしています。

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

c# - ソケット使用中の ObjectDisposedException

ソケットを介してテキストメッセージを取得および送信するために使用しているクラスライブラリに大きな問題があります。ここに私の簡単なコードがあります:

コンソール アプリケーションでライブラリを使用する場合、例外はありません。Windowsフォームアプリケーションで使用すると発生します。手伝って頂けますか ?

0 投票する
3 に答える
1790 参照

c# - ObjectDisposedException を適切に回避する

ObjectDisposedException約 50% の確率で がスローされるという問題に遭遇しました。try以下の( 内の) 内のコードfinallyは、例外を引き起こしています。これを処理する方法がわかりません。以下に示すように例外を食べることもできますが、例外が発生することなくオブジェクトをチェックして閉じる方法はありますか?

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

c# - C# で破棄されたオブジェクト (フォーム) にアクセスしますか?

2 つのフォームがあります。1 つのフォームの dataGridView の行をダブルクリックすると、もう 1 つのフォームが開き、その特定の行に関する情報が表示されます。しかし、2 番目のフォームを閉じて、dataGridView の別の行をダブルクリックして同じフォームを開くと、新しくクリックした行に関する情報が異なります。「破棄されたオブジェクトにアクセスできません。」「使用する前にリソースを解放していないことを確認してください」というエラーが表示されます。2 番目のフォームを再利用するにはどうすればよいですか??

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

c# - 外部エンティティの ObjectDisposedException

私は Linq to Sql の初心者で、外部エンティティへのアクセスに関する問題に直面しています。関連する DB は次のとおりです。

  • Id、ProducerId の 2 つの列を持つテーブル MyClass

  • Id、Affix の 2 つの列を持つ Table Person

ここに私の部分クラスがあります:

また、ProducerId 外部キーに関連する Producer プロパティが生成される dbml デザイナー ファイル:

MyClass の Affix プロパティにアクセスすると、ObjectDisposedException がスローされます... プロパティにアクセスするときに Datacontext を開く必要がありますか?

私はこの記事を読みましたLINQ to SQL ObjectDisposedException on entity that never ask for but really would want to avoiding a ViewModel a... 他に解決策はありますか?

どうもありがとう !

編集

JATの回答に従って、DLOを使用しようとしましたが、外部の値を返す方法が本当にわかりません...このチュートリアルを見つけました( http://www.codeproject.com/Articles/37857/Optimizing-LINQ-Queries -using-DataLoadOptions )、クエリを作成する必要がありますか?

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

vb.net - マルチスレッド アプリケーションの System.ObjectDisposedException

VB.NET のさまざまな機能をテストするための簡単なプログラムを作成しています。後でこれをもっと複雑なプログラムで使用します。アイデアは、シリアル ポート com5 経由でメッセージを送信することです。メッセージは、アプリケーションのテキストボックスに入力されたものから取得されます。バックグラウンド ワーカー (「送信」というラベルの付いたボタンが押されるとアクティブ化される) は、メッセージを継続的に送信します。何もしないラベルもあります。

もともと Application.DoEvents() を使っていたのですが、遅くてプログラミングのやり方が悪いと聞きました。(しかし、これはエラーがありませんでした。) そこで、バックグラウンド ワーカーを使用してプログラムを書き直しました。現在、プログラムは実行中は問題なく動作しますが、閉じると次のように表示されます。

System.ObjectDisposedException は未処理でしたメッセージ: mscorlib.dll で 'System.ObjectDisposedException' 型の未処理の例外が発生しました追加情報: 安全なハンドルが閉じられました

プログラムが閉じられていて、バックグラウンド ワーカーを実行していない場合、エラーは表示されないため、これはバックグラウンド ワーカーと関係があると思います。プログラムのすべてのサブ内に try-catch を配置しようとしましたが (SendSerialData の catch の例外タイプを任意の例外に変更することを含む)、役に立ちませんでした。これは私の最初の投稿です。問題が発生した場合は、お気軽にコメントしてください。

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

c# - C# dataContext の破棄後にデータベース オブジェクトを使用する

データベースから頻繁にロードされるデータを Web アプリケーションのサーバーの MemoryCache に保存したいと考えています。クラスがキャッシュにアクセスしてオブジェクトを取得するたびに、オブジェクトからの参照で ObjectDisposedException 例外が発生します。したがって、データベースの外部のどこかにすべての参照を含むオブジェクトを格納できるかどうかを知る必要があります。

例: これが私の ModelCache の主なメソッドです。他のメソッドは Singelton で、GlobalCachingProvider は通常どおり実装されます。

次に、コントローラーまたは独自の DataContext インスタンスを持つ他のクラスからこれらのメソッドにアクセスするメソッドの 1 つを次に示します。