C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

ログ内検索
  • キーワードを複数指定する場合は 半角スペース で区切ってください。
  • 検索条件は、(AND)=[A かつ B] (OR)=[A または B] となっています。
  • [返信]をクリックすると返信ページへ移動します。
キーワード/ 検索条件 /
検索範囲/ 強調表示/ ON (自動リンクOFF)
結果表示件数/ 記事No検索/ ON
大文字と小文字を区別する

全過去ログを検索

<< 0 >>
■43484  Re[3]: ListViewの並び替えについて
□投稿者/ オショウ -(2009/11/11(Wed) 13:52:17)
    よく考えたら・・・

    データがCSV形式なので、OleDbでDataSetに読み込んで
    DataGridViewにそのままバインドすれば、大層なことは
    しなくてよいですネ〜

    ソート項目は、どの列がクリックされたかでSQL文の
    Order byを適切に設定するだけで済む・・・

    もしくは、LINQ to DataSet で、CSVをDataSetにさえ
    読み込んでおけば、LINQのSQL文のorderby設定だけで
    データのソートして、DataGridViewに表示・・・

    難しいようで、その方が簡単・・・

    データの編集もDB的に行えば、DataGridViewの方が
    そのまま編集にも使えるし・・・

    以上。参考まで
記事No.43447 のレス /過去ログ74より / 関連記事表示
削除チェック/

■91513  Re[1]: メモリリークに関して
□投稿者/ WebSurfer -(2019/07/02(Tue) 18:32:00)
    No91509 (kiku さん) に返信

    質問に対する直接の回答にはなってないですが・・・

    > 質問1
    >  本当にフォントやラベルが解放されないことを確認する方法はないでしょうか?

    System.Drawing.Font クラスなどアンマネージドリソースを保持しているクラスは、IDisposable
    インターフェイスを継承して Dispose パターンを使った実装がされていて、Dispose メソッドで
    アンマネージドリソースを開放できるようになっているはずです。

    アンマネージドリソースは GC では解放されないので、確認するまでもなく Dispose しなければ
    解放されてないはずです。

    なので、IDisposable インターフェイス を継承して Dispose メソッドを実装しているクラスは全
    て、そのオブジェクトが使用されなくなった時点で Dispose メソッドを呼び出すべきということ
    のようです。

    詳しくは、自分のブログで恐縮ですか、以下の記事を見てください。

    Dispose パターン
    http://surferonwww.info/BlogEngine/post/2019/05/31/dispose-pattern.aspx


    > 質問2
    >  解放されないことが確認できたとして、
    >  ★の部分の対処は適切でしょうか? 

    上で紹介した記事に書いてある通り「Dispose パターン」というものがあります。Visual Studio
    で雛形を自動生成してくれますので、それを使うのがよさそうです。

    自分で作るカスタムクラスの場合、マネージドリソースしか保持しない場合は Dispose パターン
    の実装は不要です。必要なのはアンマネージドリソースを保持する場合のみですが、それには以下
    のケースがあると思います。

    (1) Dispose パターンを実装した .NET のクラスのインスタンスを保持している。

    (2) クラス内でアンマネージドリソースを取得し、それを保持している。

    プログラマが Dispose するのを忘れた場合でも GC は働きます。GC ではアンマネージドリソース
    は開放できませんが、その際ファイナライザが呼び出されます。なので、Dispose パターンによっ
    て、最悪でもファイナライザでアンマネージドリソースを開放できるようにします。
記事No.91509 のレス /過去ログ158より / 関連記事表示
削除チェック/

■91517  Re[2]: メモリリークに関して
□投稿者/ kiku -(2019/07/03(Wed) 09:10:40)
    No91513 (WebSurfer さん) に返信
    > ■No91509 (kiku さん) に返信
    >
    > 質問に対する直接の回答にはなってないですが・・・

    下記1と2を混同していたため、混乱させてしまいました。
    通常下記2でVusualStudiooの自動生成されたソース内の
    Control.Addされるため、Control.Dispose内で自動的に
    マネージドリソースもdisposeされる認識でした。
    下記1は関係ないですね。

    1.
    >※通常はGCで回収されると思っているのですが、
    > その発生を確認することができなかった。

    2.
    >※通常はControls.Addしているのでフォーム解放時にdisposeされる認識
記事No.91509 のレス /過去ログ158より / 関連記事表示
削除チェック/

■94970  Re[4]: Keyboard.GetKeyStatesに関して
□投稿者/ luka -(2020/06/07(Sun) 16:10:14)
    No94966 (Azulean さん) に返信
    > ■No94965 (luka さん) に返信
    >>Keysだとエラーになってしまったので(Key)listBox1.SelectedItemでエラーは出なくなったのですが
    >>エラーなく、アプリが落ちてしまうようになりました..
    >
    > 落ちるというのは、例外が出たときのダイアログが表示されず、静かにいなくなる…ということですか?
    > もし、exe ファイルをエクスプローラーなどから直接実行しているのであれば、デバッグ実行してみてください。
    >
    > 「(Keys)listBox1.SelectedItem」と手抜きで書いてしましたが、ListBox で何も選ばれていないときは、listBox1.SelectedItem が null になります。
    > null を (Keys) とキャストしようとすると例外になるので、事前に if (listBox1.SelectedItem == null) return; // 何もしない みたいな条件分岐が必要です。


    ブレイク状態になって消えていました。
    別のコードによるものでした
    お陰様で、自分が作りたい物が完成しました。
    ありがとうございました。!
記事No.94959 のレス / END /過去ログ164より / 関連記事表示
削除チェック/



<< 0 >>

パスワード/

- Child Tree -