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

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

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

全過去ログを検索

<< 0 >>
■6268  Re[10]: 画面切替をスムーズにしたい
□投稿者/ とっちゃん -(2007/08/07(Tue) 11:23:53)
>
    No6247 (れい さん) に返信
    > キューがあるかないかは、
    > 他のスレッドからPostThreadMessageを呼べばわかります。
    > キューがなければGetLastErrorがERROR_INVALID_THREAD_IDを返します。
    >
    あら、そうなんですか。そいつは知らんかった...

    > この方法で調べてみたのですが、
    > 驚いたことに、
    > SendMessageやPostMessgeでもRegisterClassでもキューが作成されています。
    >
    えっと、RegisterClass はいずれウィンドウが作られるであろうことから考えれば
    その時点でキューを起こしちゃっても問題はないでしょうけど...

    SendやPostでもキューが作られちゃうんですか?HWND = NULL ということはないですよね?
    #HWND=NULLだと自スレッドにも当てられちゃうので...

    > たくさんのワーカースレッドを使うときには
    > SendMessageやPostMessageで通信してはいけない
    > ということのようです。
    がーん(T_T)
    ってことは、寿命の長いスレッドからメッセージ投げちゃうのはやばいということですね。

    覚えておこ( ..)φメモメモ
記事No.6188 のレス /過去ログ16より / 関連記事表示
削除チェック/

■6269  Re[3]: 時計回り、反時計回り判定
□投稿者/ セイン -(2007/08/07(Tue) 11:25:06)
    >y4yama さんへ

    わざわざコードまで書いていただきありがとうございます。
    C++で書いた僕の式でも同じ値-8464.73637が出ましたのですっきりしました。

    ちなみに僕のコードで/10000.0 と割る数字が2.0でない理由は、
    大きな円を0.1度刻みぐらいにした座標を受けたとき、
    Dim sum As Double = 0.0
    の最大値をオーバーしてしまうことがあるためです。

    自分で作っていたにもかかわらず、これが面積をあらわすことを忘れていました。ありがとうございます。
    現状のままでやってみますが、問題がありそうでしたら、ぜひ教えてください。
記事No.6130 のレス / END /過去ログ18より / 関連記事表示
削除チェック/

■11975  Re[2]: メッセージボックス
□投稿者/ 774RR -(2007/12/26(Wed) 14:02:56)
    2007/12/26(Wed) 14:04:43 編集(投稿者)

    そーいう設定を「サーバ側の ASP/CGI で任意に」できるとしたら、
    Web サーバ上に置いてある悪意の有るファイル (木馬やウィルス) を
    ボタンクリックひとつで開く=インストールできる
    ということになるわけで、もしできたらセキュリティホールで大騒ぎ。

    もしどうしてもやりたいのであれば「クライアント側の設定」で可能となるので、
    クライアント側の設定を変更してもらうことになる。
    クライアントに設定を変えてもらえるかどうかはクライアント次第。

    表示したいだけだったら、ほとんどのユーザが使っているであろう pdf にするのが簡単

    編集:ファイルサーバのファイルは開けて当然なのでファイルサーバの旨は削除
記事No.11965 のレス /過去ログ26より / 関連記事表示
削除チェック/

■46255  初めて海外旅行について-MVP Global Summitへ
□投稿者/ やじゅ -(2010/01/28(Thu) 22:47:33)
>

    分類:[雑談] 

    2010/01/30(Sat) 13:53:16 編集(投稿者)
    2010/01/30(Sat) 13:17:31 編集(投稿者)

    会社の了解も得て、2010年2月16日〜2月19日に開催されるMVP Global Summitに
    行けることとなりました(^-^)

    さて、私自身、初めての海外旅行ということもあり、右も左も分からない状態です。
    パスポートは作成し、その他必要な書類等は、ツアー会社の指示に従って準備してます。

    残り2週間ちょっとありますので、必要なものは購入しないといけないと思っております。

    過去に行かれた方で、持ち物の準備(後で持っていかなくて後悔した物とか)や飛行機や
    ホテルでの過ごし方など、助言して頂ければ助かりますm(_ _)m

    追記:タイトル変更しました。
    文字数制限でよねKENさんの提案より短くなりました。
    「はじめての海外旅行について 〜 MVP Global Summitに行く」
親記事 /過去ログ78より / 関連記事表示
削除チェック/

■86453  Re[3]: 空の delegate は null なの?
□投稿者/ 魔界の仮面弁士 -(2018/01/30(Tue) 18:27:56)
    No86407 (774RR さん) に返信
    > そういやオイラ event ハンドラにはいつも「何もしない」ハンドラを割り振ってますな。

    それって、イベントを提供する側の話でしょうか。
    それとも、イベントを利用する側の話でしょうか。
     button1.Click += delegate {}

    いずれにしても、EventHandler や EventHandler<TEventArgs> に限った話ですよね。

    C# では、戻り値を返すイベントを定義できますが、
    この場合、「何もしない ハンドラ」を割り当てるわけには行かないはず。
     public delegate bool FooDelegate(int x);
     public event FooDelegate Foo;


    一方 VB.NET の場合、『戻り値を持ったイベント』を定義しようとすると
    Visual Basic ではコンパイルエラー(BC31084)となる仕様です。
    定義済みのものを利用する分には、VB6 でも VB.NET でも可能なのですが。


    実際のところ、複数のメソッド呼び出しを束ねるのはイベントの場合ぐらいで、
    ましてや戻り値を持つメソッドを連結させることは非常に稀だとは思いますが、
    もしも個々の戻り値を個別に受け取る必要がある場合は、そのデリゲートの
    GetInvocationList メソッドを利用できるようになっています。



    > // メンバ宣言して new してない段階では d は null なのは納得

    未初期化のローカル変数 d に対しては
     d = Method1;
    は実行できても、
     d += Method1;
    はコンパイルエラーになりますね(CS0165)。当然のことではありますが。



    No86445 (774RR さん) に返信
    > おお non-static メンバ関数ではなくて static メンバ関数の syntax sugar だったわけですか・・・

    ちなみにデリゲートは、インスタンスメソッドの呼び出しに最適化されているため、
    静的メソッドの呼び出しだと、効率がかなり悪いそうです。
    これについて、カリー化(curried delegate)で回避できます。
    http://ufcpp.net/study/csharp/functional/miscdelegateinternal/


    > C++ では += が static メンバにはなりえないのでそういう認識でいました。
    > this が必須のような構文をしておいて実は static っつーのはずいぶん罪作りな糖衣構文っすね。

    delegate 以外でも、
     string s = null;
     s += null;
    と書けますけれどね。しかも上記の結果は、null ではなく string.Empty です。

    # 上記は『s = System.String.Concat(null, null);』相当


    > # += が Combine の糖衣構文であるとはどこに書いてあるんだろう・・・探す気力なし

    同じ意味になると、大昔に TechEd あたりで聞いたような気がするのですが、
    済みません、私もうろ覚えなので情報ソースは提示できないです。

    公式資料として書いたものがあるかどうかまでは分からないので、
    糖衣構文と呼べるかどうかは自信がなくなってきました。今更ですが。


    ただ言語仕様面で捉えてみると、+= が Combine というよりは、
    「a += b」が「a = a + b;」の糖衣構文と捉えた方が良いかと思っています。

    「変数 a」の型が、「a + b」の演算が返す型と同じ(あるいは暗黙変換可能)でない場合、
    a += b; はコンパイルエラーとなります。

    // これはエラー
    int a = 0;
    a += 0L;

    // これは OK
    float b = 0F;
    b += 0L;


    ただしデリゲートが event 化されている場合は話が変わってきます。

    イベントは特別扱いされており、デリゲート型変数とは違って、
    演算子として += と -= しか使えません。(デリゲートなら + や - や = も使える)
    しかも代入式の左辺にしか記述できないという制限付き。

    この制限があるため、匿名メソッドやラムダ式を、
     button2.Click += delegate { MessageBox.Show("Test"); };
    のように、変数を介さずにイベントハンドラとして直接割り当ててしまうと、
    後で解除あるいはクリアできずに難儀することになりますね。


    ちなみに上記の += 処理は、
     button2.add_Click(new EventHandler(delegate { MessageBox.Show("Test"); }));
    相当の処理としてコンパイルされます。

    といっても、C# からの add_Click メソッドの呼び出しは禁止されているのですけれども。
    (JScript.NET や PowerShell の場合は、add_Click メソッドを使って割り当てます)
記事No.86407 のレス / END /過去ログ148より / 関連記事表示
削除チェック/

■86459  Re[4]: 空の delegate は null なの?
□投稿者/ furu -(2018/01/30(Tue) 22:05:06)
    2018/01/30(Tue) 22:05:52 編集(投稿者)
    2018/01/30(Tue) 22:05:43 編集(投稿者)



    No86453 (魔界の仮面弁士 さん) に返信
    > ただ言語仕様面で捉えてみると、+= が Combine というよりは、
    > 「a += b」が「a = a + b;」の糖衣構文と捉えた方が良いかと思っています。

    言語仕様(JIS規格X3015:2008)では、x op= yは

    x op yの演算の結果がxの型に暗黙に変換される場合、x = x op y
    x op yの演算の結果がxの型に明示的に変換され、yがxの型に暗黙的に変換される場合、x = (T)(x = x op y)
     ※Tはxの型,仕様にはシフト演算子の場合の記述もある

    >
    > 「変数 a」の型が、「a + b」の演算が返す型と同じ(あるいは暗黙変換可能)でない場合、
    > a += b; はコンパイルエラーとなります。

    byte b = 0;

    b += 1; //OK
    b = b + 1; //エラー

    b <<= 1; //OK
    b = b << 1; //エラー

    また、x op= y が x = x op yと決定的に違うのは、xの評価が1度だけだということが保証されています。

    int[] x = new int[100];
    x[new Random().Next(100)] += 7; //new Random().Next(100)は、1度だけ計算

    > ただしデリゲートが event 化されている場合は話が変わってきます。

    言語仕様で、通常の+=,-=は、「複合代入」ですが、イベントの場合「イベント代入」となっていて
    まったくの別物として定義されてますね。
記事No.86407 のレス / END /過去ログ148より / 関連記事表示
削除チェック/

■98878  ソースコードにパスワードを直書きする
□投稿者/ お肉 -(2022/01/11(Tue) 10:28:59)

    分類:[C#] 

    裏口からのc#実践入門という本を読んでいるのですが、その中でパスワードはソースコードに直書きするのではなく、Properties.Settings.Defaultを使うと書かれていました。

    そこで2点疑問なのですが、

    1.App.configとProperties.Settings.Defaultは何が違うのでしょうか?使い分けはどうしたらいいのでしょうか?
    2.Properties.Settings.Defaultの中を見るとXMLで書かれていました。これはコンパイルしてもXMLファイルとして残って誰でも中身を見ることができてしまわないでしょうか?
親記事 /過去ログ172より / 関連記事表示
削除チェック/



<< 0 >>

パスワード/

- Child Tree -