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

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

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

全過去ログを検索

<< 0 >>
■39229  Re[1]: フォームClose後にデータ読みとってもよいのでしょうか?
□投稿者/ Hongliang -(2009/07/31(Fri) 23:01:33)
    > 私個人は、Hideだと変数等の領域はDisposeまで残っているので、値が壊れる心配はない、
    > Closeは画面を閉じるので、変数等の領域は保障されない、的なイメージを持っていたのですが、
    Dispose や Close とメモリには直接的な関係はありません。
    まあフォーム上に乗っているコントロールも破棄され、それらの場合はアンマネージドリソースから情報を取得することが多いので、それらのコントロールから値を取得する場合は例外ってことになるでしょうけど。

    しかしそもそも ShowDialog で表示されたフォームの場合、Close を呼び出してもそのフォームが非表示なるだけで破棄はされません。明示的に Dispose するまでハンドル等は残ったままです。
記事No.39228 のレス /過去ログ67より / 関連記事表示
削除チェック/

■55248  Re[5]: Parallel.For と Invoke メソッドの使い方
□投稿者/ Hongliang -(2010/11/23(Tue) 13:56:16)
    Parallel.For はすべての非同期操作が完了まで待機するわけですから、そこで Invoke とかやっちゃうとそりゃデッドロックも発生するってもんでは。
    メインスレッドが Parallel.For で待機してるからメッセージループが動かない、Invoke で処理完了待ちするけどメッセージループが動かないからいつまでたっても Invoke から返らない、Invoke が完了しないから For も完了しない。

    > なぜに MethodInvoker ?
    WinForm の Invoke において直接呼んでくれるデリゲートだからでは?
    Action とかは DynamicInvoke 経由の呼び出しになってしまいますから。
記事No.55213 のレス /過去ログ92より / 関連記事表示
削除チェック/

■77944  Re[3]: 帳票フォームの反映時間が遅い
□投稿者/ 魔界の仮面弁士 -(2015/12/02(Wed) 18:34:26)
    No77943 (たろう さん) に返信
    > 更新処理のところにCommitTransを入れてみたのですが同じでした。

    どのオブジェクトの BeginTrans / CommitTrans を呼んでいますか?

    レポートのバインドを RecordSource 指定で行っている場合は、
    (ADODB のトランザクションではなく)デフォルトワークスペースでの
    明示的トランザクションに含めるようにし、dbForceOSFlush 指定で
    CommitTrans してみてください。


    > RefreshやRepaintなども入れて試したのですが、反映に時間がかかっているのか?
    Refrsh や Repaint では、遅延参照を解決できないと思います。
    どちらかといえば、Report.Requery メソッドでは無いでしょうか。
    それで駄目なら、効率は落ちますが、再クエリマクロ もしくは DoCmd.Reqery で。



    > 直接テーブルを開いて更新の状態を確認すると、すぐに反映されているようなので。
    リードキャッシュのフラッシュは行っていますか?
    http://www.ruriplus.com/msaccess/bbscbrwb.asp?root=11829
記事No.77941 のレス /過去ログ132より / 関連記事表示
削除チェック/

■90488  Re[1]: 2つのリストから1つのリストを作成する方法
□投稿者/ 魔界の仮面弁士 -(2019/03/14(Thu) 15:18:27)
    No90487 (河童 さん) に返信
    > uf.day1 = d.taion //?dateが「1」のときに、day1に体温をセットしたいです。

    "1" という文字列から day1 プロパティにアクセスしようとすると、
    リフレクション頼りになってしまいますね。

    この場合は UserInfo クラスに手を加えて、
     uf.day[d.date] = d.taion;
    あるいは
     uf[d.date] = d.taion;
    の形でアクセスできるよう改修してみては如何でしょう?




    private void Form1_Load(object sender, EventArgs e)
    {
      #region サンプルデータ
      d_dataList = new List<d_data>
      {
        new d_data { date = "1", user_id = "1", taion = "36"},
        new d_data { date = "2", user_id = "1", taion = "38"},
        new d_data { date = "3", user_id = "1", taion = "39"},
        new d_data { date = "1", user_id = "2", taion = "35"},
        new d_data { date = "2", user_id = "2", taion = "37"},
        new d_data { date = "3", user_id = "2", taion = "36"},
      };
      userList = new List<m_User>
      {
        new m_User { user_id = "1", user_name = "testA", user_kana = null },
        new m_User { user_id = "2", user_name = "testB", user_kana = null },
      };
      #endregion

      // データグリッドのソース作成
      var dictList = userList.ToDictionary(k => k.user_id);
      List<UserInfo> list = d_dataList
        .GroupBy(x => x.user_id, x => new { x.date, x.taion })
        .Select(y => new UserInfo(y.ToDictionary(k => k.date, v => v.taion))
        {
          user_id = dictList[y.Key].user_id,
          user_name = dictList[y.Key].user_name,
          user_kana = dictList[y.Key].user_kana
        }).ToList();

      // ソースセット
      this.dgvRiyojoho.DataSource = list;
    }


    public class UserInfo
    {
      private readonly Dictionary<string, string> days;
      public UserInfo() { this.days = new Dictionary<string, string>(); }
      public UserInfo(IDictionary<string, string> days) { this.days = new Dictionary<string, string>(days); }
      private string getDay(string d) { return days.ContainsKey(d) ? days[d] : null; }

      public string user_id { get; set; }
      public string user_name { get; set; }
      public string user_kana { get; set; }

      public string day1 { get { return getDay("1"); } set { days["1"] = value; } }
      public string day2 { get { return getDay("2"); } set { days["2"] = value; } }
      public string day3 { get { return getDay("3"); } set { days["3"] = value; } }
      public string day4 { get { return getDay("4"); } set { days["4"] = value; } }
      // 以下略
    }
記事No.90487 のレス /過去ログ156より / 関連記事表示
削除チェック/

■90489  Re[2]: 2つのリストから1つのリストを作成する方法
□投稿者/ 魔界の仮面弁士 -(2019/03/14(Thu) 15:54:47)
    No90487 (河童 さん) に返信
    > ・利用者の1ヵ月間のデータを1行にまとめたもの

    データ List<d_data> 内の user_id が、利用者リスト List<m_User> に無かった場合や、
    利用者リスト List<m_User> には居るけれど、taion データ List<d_data> に記録の無い人が
    あった場合を考慮する必要があるかどうかも気になるところ。



    No90488 (魔界の仮面弁士) に追記
    > "1" という文字列から day1 プロパティにアクセスしようとすると、
    > リフレクション頼りになってしまいますね。
    >
    > この場合は UserInfo クラスに手を加えて、

    リフレクション頼みの別案。
    今回の UserInfo クラスは、元の No90487 の実装のままにしています。



    Action<UserInfo, string, string> setter = (target, date, taion) => typeof(UserInfo).GetProperty("day" + date).SetValue(target, taion, null);

    Dictionary<string, UserInfo> dic = userList.ToDictionary(
      k => k.user_id,
      v => new UserInfo { user_id = v.user_id, user_kana = v.user_kana, user_name = v.user_name });
    foreach (d_data d in d_dataList)
    {
      UserInfo uf;
      if(dic.TryGetValue(d.user_id, out uf)) { setter(uf, d.date, d.taion); }
    }

    List<UserInfo> list = new List<UserInfo>(dic.Values);

    this.dgvRiyojoho.DataSource = list;
記事No.90487 のレス /過去ログ156より / 関連記事表示
削除チェック/

■96810  Re[2]: Prismで画面遷移時に行う処理をvmに記述する
□投稿者/ angra -(2021/02/12(Fri) 09:41:28)
    No96808 (YuO さん) に返信
    > ■No96799 (angra さん) に返信
    >>Prismを使用してMVVM設計をしています。
    >>例えば、RequestNavigateによってViewA→ViewBと遷移したときの処理を
    >>ViewBViewModelに記述したいのですが、何か方法はありますか?
    >>Viewでイベントを受けてViewModelに通知というのは避けたいです。
    >
    > ViewBViewModelにINavigationAwareを実装するのはどうでしょうか。
    > ViewAViewModelでRequestNavigateするときにnavigationParametersに専用の値を設定しておけば、ViewAからの遷移であることも確認できますし。

    ありがとうございます!
    INavigationAwareを継承し、OnNavigatedToにて通知を得ることができました。
記事No.96799 のレス / END /過去ログ168より / 関連記事表示
削除チェック/

■102146  Re[1]: jennov mseriesの監視カメラから動画を取得したい
□投稿者/ radian -(2023/07/11(Tue) 13:14:24)
    Windowsにキャプチャデバイスとして認識される一般的なUSBカメラなら、
    DirectShowやMediaFoundation等で扱えると思いますが、
    ネットワークカメラのようなものは、カメラにアクセスする仕様が統一されていないので、
    会社・製品毎にバラバラなので、直接販売元に問い合わせるしかないと思います。
記事No.102142 のレス /過去ログ178より / 関連記事表示
削除チェック/



<< 0 >>

パスワード/

- Child Tree -