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

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

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

全過去ログを検索

<< 0 >>
■2920  Re[1]: Exchange Serverでのメール送信
□投稿者/ はつね -(2007/04/18(Wed) 18:29:49)
>
    No2883 (疲れもピークに。。 さん) に返信
    > 会社ではExchange Server と Outlookにてメール送受信をしています。
    > 会社でもメールの送信結果等を確認したいと思いますが,上記の環境の場合は,
    > smtpサーバ名がよくわかりません。
    > Outlookのどこかで確認できるのでしょうか?

    Outlookのどこかで確認できます。送信メールサーバ名と記載があるはずです。
    http://support.nifty.com/support/manual/mail_set/mail/win_ol2003_check.htm

    そこで得られた値をsystem.net.mailで指定してあげれば繋がる事は繋がるはずです。
    ただし、Exchange Serverのユーザ認証が何になっているかが重要です。

    Outlookの[送信サーバー]タブで「メールを送信するまえに受信メールサーバにログオンする」になっている場合、SMTPを使う前にPOP3で接続しなくてはなりませんが、System.Net.MailにはPOP3での受信機能は実装されていませんので、自作するか市販部品を購入してくる必要があります。
記事No.2883 のレス /過去ログ11より / 関連記事表示
削除チェック/

■3510  Re[1]: .Netリモーティングでスレッドセーフにするには?
□投稿者/ 囚人 -(2007/05/11(Fri) 21:18:11)
    スレッドセーフという概念自体が分らないという意味ですか?
    マルチスレッドでも安全に動くようにすることです。で、それは場合によるので一概に「こうやればいいよ」とは言いにくいです。

    同時にある変数に書き込んだらまずいのか、同時にファイルを開いたらまずいのか…etc…。別にそんな事を考える必要がない(読み取り専用のものしかない等)ならそれだけでスレッドセーフです。
記事No.3509 のレス /過去ログ12より / 関連記事表示
削除チェック/

■35381  Re[12]: 『「GC.Collect」メソッド』について
□投稿者/ 渋木宏明(ひどり) -(2009/04/28(Tue) 11:31:32)
>
    > Managedのメモリは放っておけば、システムが適時GCを呼び出してメモリが解放される。

    s/システム/ランタイム/
記事No.35188 のレス /過去ログ61より / 関連記事表示
削除チェック/

■88589  Re[9]: コントロールを自然に動かすには??
□投稿者/ 熊さん -(2018/09/09(Sun) 13:28:53)

    後、もう一つ疑問です。

    Private Sub Form6_FormClosed(sender As Object, e As FormClosedEventArgs) Handles MyBase.FormClosed
    pPen.Dispose() '不要になった Pen の処分
    End Sub

    フォームを閉じる時に、pPenを解放する処理が書かれてありますが、
    解放処理が必要な変数と不要な変数の違いは何でしょうか?

記事No.88470 のレス /過去ログ152より / 関連記事表示
削除チェック/

■88593  Re[10]: コントロールを自然に動かすには??
□投稿者/ 魔界の仮面弁士 -(2018/09/09(Sun) 16:46:58)
    No88589 (熊さん さん) に返信
    > Private Sub Form6_FormClosed(sender As Object, e As FormClosedEventArgs) Handles MyBase.FormClosed
    >   pPen.Dispose() '不要になった Pen の処分
    > End Sub
    > フォームを閉じる時に、pPenを解放する処理が書かれてありますが、
    > 解放処理が必要な変数と不要な変数の違いは何でしょうか?

    一口に答えるのは難しいのですが、ざっくり言うと、
    「アンマネージリソースを保持しているかどうか」でしょうか。

    こういったオブジェクトは多くの場合、IDisposable インターフェイスを通じて
    Dispose メソッドを有していますので、それを呼び出すようにします。

    たとえば、ファイルやデータベース接続などが分かりやすいかと思います。
    ファイルを開いたまま閉じなければ、他のアプリケーションがそれを開けません。
    データベース接続を開く一方で閉じずにいれば、接続資源が枯渇します。


    あるいは、Control や Form 等のオブジェクトも IDisposable です。

    たとえば ShowDialog メソッドの呼び出しにおいては、
     Using dlg As New Form2()
      dlg.ShowDialog(Me)
     End Using
    とすべきであり、最後に Dispose することなく
     Dim dlg As New Form2()
     dlg.ShowDialog(Me)
    とだけ書くのは NG です。
    ただし Show メソッドの場合は Dispose が自動的に呼ばれますので、明示的な Dispose は不要です。


    Control を動的に追加/削除する場合も同様で、
    意図的に .Controls.Remove あるいは .Clear するような場合には、
    取り除かれたコントロールを、明示的に Dispose しなければなりません。
    Remove せず、Form の Controls に登録したままであれば、Form が Dispose される時に
    子孫が連鎖的に Dispose されるので、明示的に Dispose する必要は無いですけれど。


    そして、Pen、Brush、Font、Grapchis、Bitmap などもまた、Dispose 対象です。

    ただし、Pens.Black や Brushes.Red などといったものに関しては、
    自身で作成したリソースでは無く、Shared メンバーで管理される共有資源なので
    この場合は Dispose してはいけません。(Dispose 後に再作成する手段がない)

    また、Grapchis についても、Dispose が必要となるのは、
    .CreateGraphics メソッドや Graphics.FromImage メソッドなどのように
    自身で作成したリソースだけです。Paint イベントの e.Graphics などは
    自身で作成したものではないので、勝手に Dispose してはいけません。


    ……ということで、Dispose メソッドがあれば常に呼び出すというわけでも
    無いという点が、こういった判断を難しくしています。
    StreamReader / StreamWriter なども、意図的に Dispose を呼ばないケースがありますし、
    DataSet / DataTable などのように、Dispose しても何も起きないものなどもあります。



    No88588 (熊さん さん) に返信
    >>> PBox1.Top + CInt(PBox1.Height * (1 - YRate) * 0.5)
    >>上記の計算式の場合、YRate が Single なので、
    >>0.5 や 0.5R ではなく、0.5F と書いた方が良いですよ。
    > これはなぜでしょうか?

    一言で言えば、「データ型を意識しましょう」ということです。
    Single 精度で演算したいのか、Double 精度で演算したいのか。

    0.5 や 0.5R や 0.5# というのは Double 型のリテラルであり、
    0.5F や 0.5! と書いた場合には Single 型のリテラルを意味します。
    0.5D や 0.5@ と書いた場合には Decimal 型のリテラルを意味します。


    先ほどの
     PBox1.Top + CInt(PBox1.Height * (1 - YRate) * 0.5)
    の型を見てみると、
     Integer + CInt( Integer * ( Integer - Single ) * Double )
    となっていますので、演算を進めていくと
     Integer + CInt( Integer * ( Single ) * Double )
     Integer + CInt( Single * Double )
     Integer + CInt( Double )
     Integer + Integer
    の精度で計算されることになりますね。



    >> YRate = NumericUpDown1.Value / 100
    この代入式も、左辺の型が Single ですので、現状は
     Single 変数 = Decimal 値 / Integer 値
    という計算式になっています。

    「Decimal / Integer」は Decimal 型の精度で演算される仕様であり、
    Single 変数 に Decimal 値を代入しようとしていることに注意してください。

    Single は Decimal よりも表せる範囲が広いため、
    この暗黙変換は Option Strict On でも成功します。
    しかし有効桁数の精度的には Single の方が荒く、その分誤差を生じます。
    あとは、この誤差をどう考えるかです。

    ※Decimal は 128bit のサイズを持つ型ですが、Single は 32bit しかありません。
    ※Decimal の有効桁数は約 28.899 桁、Single の有効桁数は約 7.2247 桁です。


    後々 Double 精度で演算したいなら、YRate も Double の方が手っ取り早いですし
    Single 精度で十分なら、先の座標計算も Single 型の計算式を組むべきでしょう。
    あるいは誤差を減らしたいなら、パフォーマンスさえ許容範囲なら Decimal が使えますし、
    あるいはパフォーマンス優先で、先のように Integer な演算式を組むこともできるわけです。

    Integer 単位の Point/Rectangle 型や
    Single 単位の PointF/RectangleF 型はあっても
    Double 単位の PointR/RectangleR 型が無いというのも
    型を選ぶ指針になるのではないでしょうか。


    Single や Double は、2 進小数型ですので、0.50 や 0.25 は正しく保持できても、
    0.01 という値は有限桁で表せず、わずかに誤差を含んでしまいます。
記事No.88470 のレス /過去ログ152より / 関連記事表示
削除チェック/

■101565  Re[4]: VBからAccessのFormを表示
□投稿者/ 大谷刑部 -(2023/03/15(Wed) 14:42:32)
    No101563 (魔界の仮面弁士 さん) に返信
    > ■No101560 (こうべ さん) に返信
    >>やりたかったことは、VBからAccessのFormを表示し、AccessのFormからリターン後は普通にVBのFormで操作できることです。
    >
    > Access Form が閉じた段階で、Access 本体を終了あるいは最小化する処理を仕込んでみては如何でしょうか?
    > そうすれば、直前にアクティブだったアプリケーションがアクティブになる気がします。

    基本的には弁さんのこの案に賛成です。
    最少化でも、ShowWindowAsyncとかで元に戻せるので、ある程度は.Net側で制御可能ですしね。
    Accessの起動時に重ための処理をしてる場合なんかは最小化の方にした方がむしろいいかもしれません。
    プロセスさえ捕捉できれば、起動してるアプリはそのまま利用した方が再表示するのに処理が軽いでしょうし。

    どっちかというとどちらからも双方向に起動できる仕様になってる方が問題のような気がしていて、どっちが主なのかはっきりして、
    プロセス制御は片方に固めた方がシステムが煩雑化せずトラブルは減るとは思います。
    もちろんどうするかは質問者さんの自由ですが。
記事No.101547 のレス /過去ログ177より / 関連記事表示
削除チェック/



<< 0 >>

パスワード/

- Child Tree -