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

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

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

全過去ログを検索

<< 0 >>
■6955  Re[10]: Control.Invokeが使えない件。
□投稿者/ 困ったちゃん -(2007/08/27(Mon) 21:42:51)
    No6953 (れい さん) に返信
    > BeginInvokeでCloseがスレッドのInvokeキューに入り、
    > 後で処理されますが、
    > この一連の動作の最中に他のスレッドに切り替わることが保証できないので、
    > 同様に停止します。

    Me.Close()をBeginInvokeした時のForm2のスレッドを時系列で追うと;
    Invoke
    ...
    Form2_FormClosing
    formClose = True
    Invoke ' formCloseを潜り抜けたInvoke
    ...
    Invoke ' formCloseを潜り抜けた#最後#のInvoke
    Close ' Form2_FormClosingでBeginInvokeしたClose
    を期待したのですが、そうなることが保障できないということでしょうか。
    それとも、私が論点を全く取り違えているのでしょうか???

    > FormClosingイベントで確認してます。
    > (FormClosedと書いてありますが、間違いですよね)
    はい。うっかりコピペしちゃいました。すみません。
記事No.6843 のレス /過去ログ18より / 関連記事表示
削除チェック/

■29155  Re[5]: あなたの持っているプログラマーの技能を教えてください
□投稿者/ yamyam -(2008/12/04(Thu) 19:56:58)
    技能:C++とC#とVBが混ざったコードを書いて、IDEに怒られるまで気付かない能力。
記事No.29136 のレス /過去ログ52より / 関連記事表示
削除チェック/

■29443  UDP非同期通信について
□投稿者/ フミ -(2008/12/09(Tue) 20:24:24)

    分類:[C#] 

    毎度お世話になります。
    フミと申します。

    C#にてUDPによる非同期通信を行っています。
    通信をやめるためにUdpClientを閉じたところ、
    コールバック内で例外が発生してしまい困っています。

    ウィンドウズのフォームにボタンが2つあり、
    ボタン1を押すとUDPの受信待ち(udpclient.BeginReceive)、
    ボタン2を押すとUDPのソケットをクローズ(udpclient.Close)します。

    受信はうまくいくのですが、
    受信が終わって、ボタン2を押しクローズしようとすると、
    非同期受信のコールバック内でエラーが発生します。

    エラー内容は

        「破棄されたオブジェクトにアクセスできません。
         オブジェクト名 'System.Net.Sockets.UdpClient' です。」

    と表示されます。

    コールバックで使うのに先にクローズでUdpClientが破棄されてしまうためだと思われるのですが、
    何かプログラムに誤りあるいは対処法ありますでしょうか??


    以下、用いたプログラムです。

    //WindowsForm
    public partial class Form1 : Form
    {
    //UDP Client
    UdpStateClass usc;

    //受信データ
    byte[] receiveData;

    //コンストラクタ
    public Form1()
    {
    InitializeComponent();
    }

    //ボタン1クリック イベント
    private void button1_Click(object sender, EventArgs e)
    {
    //UDPStateクラスのインスタンス
    usc = new UdpStateClass();

    //エンドポイントとUDPクライアントを入れます
    usc.endPnt = new IPEndPoint(IPAddress.Any, 44444);
    usc.udpClt = new UdpClient(44444);

    //UDPの非同期受信開始 コールバックはreceiveCallback
    usc.udpClt.BeginReceive(new AsyncCallback(receiveCallback), usc);
    }

    //ボタン2クリック イベント
    private void button2_Click(object sender, EventArgs e)
    {
    //ソケットを閉じる
    usc.udpClt.Close();
    }

    //コールバック
    public void receiveCallback(IAsyncResult ar)
    {
    //IAsysncResultからUDPClientとIPEndPointを受け取る
    UdpClient uc = ((UdpStateClass)(ar.AsyncState)).udpClt;
    IPEndPoint iep = ((UdpStateClass)(ar.AsyncState)).endPnt;

    //受信データを配列に格納
    receiveData = uc.EndReceive(ar, ref iep);
    /* ↑ボタン2を押しcloseすると上の行でエラー発生
    * 「破棄されたオブジェクトにアクセスできません。
    *  オブジェクト名 'System.Net.Sockets.UdpClient' です。」
    */
    }
    }

    //UDPStateクラス
    public class UdpStateClass
    {
    public IPEndPoint endPnt;
    public UdpClient udpClt;
    }
親記事 /過去ログ53より / 関連記事表示
削除チェック/

■43932  Re[4]: csvファイルの更新
□投稿者/ enogu -(2009/11/22(Sun) 01:43:30)
    No43931 (はいはい さん) に返信
    > ■No43909 (もんもん さん) に返信
    >>■No43902 (はいはい さん) に返信
    > >>CSVファイルの編集ですか?
    >>そうです。更新というより編集ですね。
    >>
    > >>コードは、SQLのようですが、データベース使ってますか?
    >>・・・
    >>プログラミングを始めたばかりでよくわからないのです・・・
    >>ただコピペして少し変えただけで、それ以外は何もしてません。
    >
    > よく見たら、CSVファイルの読み込みですね。
    >
    > 多分、どっかのサイトから、データベースアクセスのを取ってきたんでしょうけど、
    > データベースじゃない、ただのCSVファイルを更新することってできましたっけ?
    >
    > 参考元は、CSVファイルから、データベース(多分SQLServer?)にデータを登録する方法を書いてあるのだと思います。
    > もんもんさんのは、CSVファイルの内容を書き換えたいということだと思いますので、その方法ではできないのではないかと思います。
    >
    > DataGridView1の内容を一つずつファイルに書き出すように直す必要がありそうですね。
    > ・・・ところで、(タダの文字列などの)ファイルへのアクセス(読み出し書き出し)の仕方はわかりますよね?

    上のコードですが、OLE経由でJetSQLを使用しているようです。ODBC経由でExcelやCSVを読み書きするプロバイダがあったと思うので似たような物でしょう。
    明らかに素人にはお勧めできないレベルですが・・・今の方法をあくまで押し通すなら下記のURLを熟読すべしです。

    ただ、私自身データバインディングは門外漢なので具体的にどこがどうというのは説明しかねます。

    DataGridView コントロールの概要 (Windows フォーム)
    http://msdn.microsoft.com/ja-jp/library/k39d6s23(VS.80).aspx

    DataGridView.DataSource プロパティ
    http://msdn.microsoft.com/ja-jp/library/k39d6s23(VS.80).aspx

    [.NET]CSVデータを操作する(OleDb)(その3 SQLでファイルへ出力)
    http://genz0.blogspot.com/2009/10/netcsvoledb3-sql.html
記事No.43899 のレス /過去ログ75より / 関連記事表示
削除チェック/

■77280  Re[4]: C#で文字と命令を組み合わせ
□投稿者/ yuu -(2015/10/03(Sat) 23:23:06)
    No77279 (Azulean さん) に返信
    > 2015/10/03(Sat) 23:09:24 編集(投稿者)
    >
    > ■No77278 (yuu さん) に返信
    >>そんな方法があったんですね;;
    >>すいません・・・・orz 精進します。
    >
    > ただ、この方法はデザイナで名前を変えられたとき、コードを変更するのを忘れると実行時エラーになるというように、変更に弱い手段です。
    > 配列を使うアプローチも今後学んでみてください。
    >
    >
    > RadioButton[] radioButtons = { radioButton1, radioButton2, radioButton3 };
    > for (int i = 0; i < 3; i++)
    > {
    > radioButtons[i].Checked = false;
    > }

    返信ありがとうございます。
    その方法はtextboxで使っていて、今回のも同じ風に使ってみたのですが
    エラーが出たので文字列型しかだめのかなと思いましたがただたんに
    記述違いだったようです;;
    radioButton[] radioArray = new radioButton[] { radioButton1, radioButton2, radioButton3};
    とこんな感じにしてました;;
    初心者丸出しで恥ずかしいですorz
記事No.77275 のレス /過去ログ131より / 関連記事表示
削除チェック/

■77344  Re[5]: プロパティの排他制御
□投稿者/ kiku -(2015/10/09(Fri) 19:56:58)
    解決済み
記事No.77337 のレス / END /過去ログ131より / 関連記事表示
削除チェック/

■88218  Re[6]: 会議の出欠確認システムを構築したい
□投稿者/ PANG2 -(2018/08/09(Thu) 16:48:30)
    2018/08/09(Thu) 17:03:33 編集(投稿者)

    No88216 (GFC さん) に返信
    > レコードを作成とメールの送信は現実的なコードはサンプルを見ながら理解できました

    一度に200〜400件のメール送信するのは駄目でしょう。
記事No.88195 のレス /過去ログ151より / 関連記事表示
削除チェック/

■88219  Re[7]: 会議の出欠確認システムを構築したい
□投稿者/ はまぐり -(2018/08/09(Thu) 17:02:25)
    No88218 (PANG2 さん) に返信

    > 一度に200〜400件のメール送信するのは駄目でしょう。

    ダメならばどうしましょうか

    インフラ次第だと思うんですよね
    レンタルサーバ屋さんに相談してみるのが一番ですかね

    SendGridのようなメール配信サービス使うというのもありますね
記事No.88195 のレス /過去ログ151より / 関連記事表示
削除チェック/



<< 0 >>

パスワード/

- Child Tree -