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

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

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

全過去ログを検索

<< 0 >>
■22892  Re[5]: 万年カレンダー
□投稿者/ επιστημη -(2008/08/05(Tue) 13:05:14)
>
    2008/08/05(Tue) 18:11:15 編集(投稿者)

    > うるう年かどうかだけなら
    > DateTimeのメンバIsLeapYear

    あらホント。どっちみち x年y月のこよみを描くんなら
    うるう年なんか知らなくたって DaysInMonth の分だけ
    1から順に埋めればできあがりっすけどね。
記事No.22884 のレス / END /過去ログ43より / 関連記事表示
削除チェック/

■64965  Re[9]: 【VB2005、VB.NET】構造体のコピーについて
□投稿者/ shu -(2013/01/25(Fri) 14:18:24)
    No64963 (魔界の仮面弁士 さん) に返信
    > ■No64957 (コンバート後に悩む人 さん) に返信
    >>Dim b = New typBBBB() With {.strB = "11222333334444444"}
    >>が、ステートメントの終わりを指定してください。という旨のビルドエラーとなるため
    >
    > タイトルにある「VB2005」の記述を、shuさんが読み落とされていたのでしょう。多分。
    まったくその通りです。失礼しました。


    No64955 (コンバート後に悩む人 さん) に返信
    NULL終端文字列しか扱えないようでやはり難しいのではないでしょうか?
    byte配列にでもしておいて値の設定、値の取得処理を共通で行うものを用意されてはどうでしょう?


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

■81781  DataSetの破棄について
□投稿者/ sk -(2016/11/14(Mon) 11:38:37)

    分類:[.NET 全般] 

    OS:windows server 2012
    環境:visual studio 2012 (VB)

    以下のような処理を延々とタイマー内で実行すると
    5000万回を超えたぐらいで、new実行時に応答が無くなってしまいます。
    単純にDataSetのNewを繰り返すと発生してしまうものなのでしょうか?
    また、下記処理に何か問題があるのでしょうか?
    ご教示願います。


    Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick

    Dim dstData As DataSet
    dstData = New DataSet1
    dstData.Clear()
    'dstData.Disposeでも結果は同じだった。

    End Sub
親記事 /過去ログ140より / 関連記事表示
削除チェック/

■81798  Re[3]: DataSetの破棄について
□投稿者/ 魔界の仮面弁士 -(2016/11/15(Tue) 10:02:27)
    No81789 (sk さん) に返信
    > ただし、データセットに
    型付きDataSet を用いず、素の System.Data.DataSet に Tables.Add していった場合も
    同様の現象になるのでしょうか。

    また、その型付き DataSetは Webサービス等で公開されたものだったりはしないでしょうか。
    通常の型付き DataTable は、TypedTableBase(Of ) を継承して作られますが、
    Web 参照等を通じて再生成された型付きDataTableは、素のDataTableから継承されるなど、
    微妙に動作が異なっていたりします。


    > データベース(postgres)をロード(テーブル80個)した
    問題が発生しているのは、New の部分なのですよね。

    型付きDataSet なら、スキーマの生成(Tables.Add や Columns.Add)は
    コンストラクタが呼ばれたタイミングで発生しますが、
    データの読みこみは、コンストラクタでは通常起こりません。

    New のタイミングではなく Clear のタイミングなら、
    データの処分コストがかかる気がしますが、提示されたコードには、
    データをロードしている箇所もありませんし。

    いずれにせよ、DataSet にとってみれば、元データが
    postgres (PostgreSQL?) かどうかは関係無いと思います。
    DataAdapter 等にとっては重要な情報ですが。


    > 状態では5000万回程度で100%発生します。
    (1) その「5000万回」という情報は、どのようにして確認されたものでしょうか。

    (2) 発生するのは 5000万を超えた後でしょうか。
    それとも 5000万の手前で発生するのでしょうか。
    正確な回数が分かれば、参考値としてお聞かせください。

    (3) 応答無しというのは、「Tick イベントがそもそも呼ばれない」事象でしょうか。
     それとも「Tick は呼ばれるが New の実行が完了しない」という事象でしょうか。

    (4) 応答が無くなってしまうというのは、具体的にはどの程度の時間だったのでしょうか。
    たとえば約90秒後に回復する現象だとか、あるいは回復後もパフォーマンスが低下するとか
    それとも、15分経っても完全に何も動きが無い状態になってしまっていただとか。
    (数十ミリ秒程度の停止なら、GC の稼動タイミングという可能性もありそうですが)


    > 毎回同じぐらいの回数で発生するので、何か解放漏れがあるのではないか?
    > と推測しています。
    そもそも事象を正確に掴めていないため、問題点を掴めていません。

    一応 DataSet の内部実装を追ってみましたが、現時点では特に思い当たりませんでした。
    https://referencesource.microsoft.com/#System.Data/System/Data/DataSet.cs

    気になるとすれば、型付きDataSet のコンストラクタで、スキーマの
    変更通知のイベントハンドラを割り当ていますが、それを剥がすコードが
    無いようでした。(これが問題になる事象かどうかは別として)


    ただ、NewRow メソッドについての、こんな投稿は見つかりました。
    http://d.hatena.ne.jp/genja/20090911/1252623184

    また、Clear しないとメモリが解放されないという投稿もありました。
    http://anton0825.hatenablog.com/entry/20110131/1296708900


    いずれも根拠が書かれていないので、根本理由までは不明ですが、
    仮に Clear すれば改善されるというのであれば、たとえば駄目元で
     dstData.Clear()
     dstData.Relations.Clear()
     dstData.Tables.Clear()
    のように、行だけではなくスキーマ情報も抹消してみては如何でしょう。
記事No.81781 のレス /過去ログ140より / 関連記事表示
削除チェック/

■81799  Re[4]: DataSetの破棄について
□投稿者/ sk -(2016/11/15(Tue) 11:45:46)
    ご返信ありがとうございます。
    以下インラインで回答させて頂きます。

    No81798 (魔界の仮面弁士 さん) に返信
    > ■No81789 (sk さん) に返信
    >>ただし、データセットに
    > 型付きDataSet を用いず、素の System.Data.DataSet に Tables.Add していった場合も
    > 同様の現象になるのでしょうか。

    確認できていないので、確認させていただきます。


    > また、その型付き DataSetは Webサービス等で公開されたものだったりはしないでしょうか。
    > 通常の型付き DataTable は、TypedTableBase(Of ) を継承して作られますが、
    > Web 参照等を通じて再生成された型付きDataTableは、素のDataTableから継承されるなど、
    > 微妙に動作が異なっていたりします。

    データセットはサーバエクスプローラと関連させたあとD&Dで作成しています。
    特に特殊なものではないと思っています。


    >>データベース(postgres)をロード(テーブル80個)した
    > 問題が発生しているのは、New の部分なのですよね。
    >
    > 型付きDataSet なら、スキーマの生成(Tables.Add や Columns.Add)は
    > コンストラクタが呼ばれたタイミングで発生しますが、
    > データの読みこみは、コンストラクタでは通常起こりません。
    >
    > New のタイミングではなく Clear のタイミングなら、
    > データの処分コストがかかる気がしますが、提示されたコードには、
    > データをロードしている箇所もありませんし。
    >
    > いずれにせよ、DataSet にとってみれば、元データが
    > postgres (PostgreSQL?) かどうかは関係無いと思います。
    > DataAdapter 等にとっては重要な情報ですが。

    DataSetのNew内のMe.InitClass()で止まってしまっています。
    (現象発生時、Me.InitClass()直後のログ出力がされていない。)


    >
    >>状態では5000万回程度で100%発生します。
    > (1) その「5000万回」という情報は、どのようにして確認されたものでしょうか。

    カウンタを用意して加算、ログ出力しています。


    > (2) 発生するのは 5000万を超えた後でしょうか。
    > それとも 5000万の手前で発生するのでしょうか。
    > 正確な回数が分かれば、参考値としてお聞かせください。

    以下の通りです。
    実際に業務で作成したプログラムでの回数
    1回目:54364159
    2回目:54364144
    3回目:54363946
    4回目:54366666

    投稿させていただいたサンプルプログラムでの回数
    1回目:53024288
    2回目:53024288


    > (3) 応答無しというのは、「Tick イベントがそもそも呼ばれない」事象でしょうか。
    >  それとも「Tick は呼ばれるが New の実行が完了しない」という事象でしょうか。

    Tickイベント内でNewが実行され、Newが完了せずそのまま応答なしになっている状態です。


    >
    > (4) 応答が無くなってしまうというのは、具体的にはどの程度の時間だったのでしょうか。
    > たとえば約90秒後に回復する現象だとか、あるいは回復後もパフォーマンスが低下するとか
    > それとも、15分経っても完全に何も動きが無い状態になってしまっていただとか。
    > (数十ミリ秒程度の停止なら、GC の稼動タイミングという可能性もありそうですが)

    1〜2日放置しても回復しなかったので、そのまま放置しても回復はしないと思います。


    >>毎回同じぐらいの回数で発生するので、何か解放漏れがあるのではないか?
    >>と推測しています。
    > そもそも事象を正確に掴めていないため、問題点を掴めていません。
    >
    > 一応 DataSet の内部実装を追ってみましたが、現時点では特に思い当たりませんでした。
    > https://referencesource.microsoft.com/#System.Data/System/Data/DataSet.cs
    >
    > 気になるとすれば、型付きDataSet のコンストラクタで、スキーマの
    > 変更通知のイベントハンドラを割り当ていますが、それを剥がすコードが
    > 無いようでした。(これが問題になる事象かどうかは別として)
    >
    >
    > ただ、NewRow メソッドについての、こんな投稿は見つかりました。
    > http://d.hatena.ne.jp/genja/20090911/1252623184
    >
    > また、Clear しないとメモリが解放されないという投稿もありました。
    > http://anton0825.hatenablog.com/entry/20110131/1296708900
    >
    >
    > いずれも根拠が書かれていないので、根本理由までは不明ですが、
    > 仮に Clear すれば改善されるというのであれば、たとえば駄目元で
    >  dstData.Clear()
    >  dstData.Relations.Clear()
    >  dstData.Tables.Clear()
    > のように、行だけではなくスキーマ情報も抹消してみては如何でしょう。

    ありがとうございます。
    上記の削除処理を入れて再度確認してみます。
記事No.81781 のレス /過去ログ140より / 関連記事表示
削除チェック/

■90911  リモートデスクトップ時のイベントログについて
□投稿者/ usushio -(2019/05/13(Mon) 16:33:30)

    分類:[Windows 全般] 

    windows10からWindowsEmbedded へのリモート接続を行っています。
    接続した際に、windowsEmbedded側のイベントログを確認すると、以下のエラーが発生します。

    EventID:1110
    An error occurred during processing of ntprint.inf. The file might be corrupted. Run Setup again to reinstall the file.

    EventID:1102
    Driver Adobe PDF Converter required for printer Adobe PDF is not installed on the server. Contact the administrator to install the driver before you log in again.

    1110のほうではntprint.infを探したのですが、システムファイルには存在しませんでした。
    しかし、リモート接続は問題なく行うことができます。
    エラーイベントの解消をしたいのですが、よくわからない状態です。

    また、リモート接続の際の接続プロセスなどはどのようになっているのでしょうか。

    かなりアバウトな質問ですがよろしくお願いします。
親記事 /過去ログ157より / 関連記事表示
削除チェック/

■90912  Re[1]: リモートデスクトップ時のイベントログについて
□投稿者/ 魔界の仮面弁士 -(2019/05/13(Mon) 16:52:37)
    No90911 (usushio さん) に返信
    > 1110のほうではntprint.infを探したのですが、システムファイルには存在しませんでした。
    > しかし、リモート接続は問題なく行うことができます。

    リモート側で、ローカル側のプリンターを利用されるのでしょうか?

    リモートデスクトップ時のオプション設定で、[ローカル リソース]タブの
    プリンター設定がどうなっているかも確認してみてください。

    プリンターのリダイレクトが必要なのだとしたら、その 1110 のメッセージは、
    ntprint.inf あるいは何らかのプリンタードライバー(たとえば Adobe PDF Converter) の
    .infファイルが存在しない(または破損している)ことが原因であるように推察します。
記事No.90911 のレス /過去ログ157より / 関連記事表示
削除チェック/

■90915  Re[2]: リモートデスクトップ時のイベントログについて
□投稿者/ usushio -(2019/05/13(Mon) 17:39:05)
    No90912 (魔界の仮面弁士 さん) に返信

    > リモート側で、ローカル側のプリンターを利用されるのでしょうか?
    > リモートデスクトップ時のオプション設定で、[ローカル リソース]タブの
    > プリンター設定がどうなっているかも確認してみてください。

    プリンターの使用は特に考えておりませんので、設定を確認して
    エラーの解消を行うことができました。


    > プリンターのリダイレクトが必要なのだとしたら、その 1110 のメッセージは、
    > ntprint.inf あるいは何らかのプリンタードライバー(たとえば Adobe PDF Converter) の
    > .infファイルが存在しない(または破損している)ことが原因であるように推察します。

    もし上記の状態であった場合ファイルやドライバを参照しに行く際には、
    windowsEmbedded(特にドライバなどは入っていない)自身のシステムを参照しに行くため、
    1110のエラーが発生するのでしょうか。
記事No.90911 のレス /過去ログ157より / 関連記事表示
削除チェック/

■90922  Re[3]: リモートデスクトップ時のイベントログについて
□投稿者/ usushio -(2019/05/14(Tue) 08:20:26)
    No90915 (usushio さん) に返信
    > ■No90912 (魔界の仮面弁士 さん) に返信
    >
    >>リモート側で、ローカル側のプリンターを利用されるのでしょうか?
    >>リモートデスクトップ時のオプション設定で、[ローカル リソース]タブの
    >>プリンター設定がどうなっているかも確認してみてください。
    >
    > プリンターの使用は特に考えておりませんので、設定を確認して
    > エラーの解消を行うことができました。
    >
    >
    >>プリンターのリダイレクトが必要なのだとしたら、その 1110 のメッセージは、
    >>ntprint.inf あるいは何らかのプリンタードライバー(たとえば Adobe PDF Converter) の
    >>.infファイルが存在しない(または破損している)ことが原因であるように推察します。
    >
    > もし上記の状態であった場合ファイルやドライバを参照しに行く際には、
    > windowsEmbedded(特にドライバなどは入っていない)自身のシステムを参照しに行くため、
    > 1110のエラーが発生するのでしょうか。
    >
記事No.90911 のレス / END /過去ログ157より / 関連記事表示
削除チェック/



<< 0 >>

パスワード/

- Child Tree -