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

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

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

全過去ログを検索

<< 0 >>
■3495  書き込み時のリトライ
□投稿者/ asuka -(2007/05/11(Fri) 14:37:32)

    分類:[C# (Windows)] 

    お世話になっております。


    C#にて共通フォルダのファイル書込みを行っております。
    書込みが失敗した場合に、設定ファイルで設定された回数だけリトライをしたいのですが、
    StreamWriterのWriteメンバまたは、WriteLineメンバの戻り値がvoidとなっており、
    書込みが成功したかどうかが分からなくて困っております。

    try{
     書込み処理
    }
    catch( Exception ex ){
     ここでリトライ
    }

    ネットワークを意識的に切断しますと、書込み時に例外がおこりcatchされます。
    catchされたところでリトライしたいと考えております。

    書込み用のメンバ関数がboolを返してくれるならば、

    catch{
    int nCnt = 1;
    while( nCnt < nRetryCnt ){
    if( bool型書込み関数 )
    break;
    }
    return;
    }

    などとしたいのですが、何か良い手はないでしょうか?




    最悪C++のAPI WriteFile()を使うしかないのかな?
    と思っております。
親記事 /過去ログ12より / 関連記事表示
削除チェック/

■54776  Re[1]: AndとAndAlsoの意義
□投稿者/ shu -(2010/11/01(Mon) 22:37:17)
    2010/11/01(Mon) 23:37:24 編集(投稿者)

    No54774 (gonna さん) に返信
    > VBの話ですが、VBにはAndとAndAlsoが有りますよね。
    > AndAlsoはAndを効率化した物、And以前に偽ならば即刻偽と帰してしまうすぐれものらしいです。
    >
    > ここで一つ疑問が生まれました。
    > 「And以前に偽ならば即刻偽と帰してしまう」と云う事がどの様な状況に対しても
    > 必ず正しい事柄なら、AndAlsoという命令語は無くして、Andの内部構造をAndAlsoのものに
    > 変えてしまえばよいのではないでしょうか。
    >
    > なのにAndAlsoが存在するという事は、何か意味が在る様に思えて仕方が無いのですが、
    > 実際の所はどうなのでしょう。
    A and B => AもBも必ず評価される。つまりA,Bが関数の呼び出しであればAによる副作用と
    Bによる副作用は結果にかかわらず起こる。

    A andalso B => Aを評価してFalseならBは評価されない。つまりAの評価結果によりBによる
    副作用を発生させる事ができない。

    という違いがあります。評価による副作用がなければandの実装をandalsoにする事も出来るのでしょうけど
    前者のような組み方は出来なければならないので(それが良い方法かは別として)2つになっているのでしょう。
記事No.54774 のレス /過去ログ92より / 関連記事表示
削除チェック/

■79366  Re[8]: InstallShieldでダイアログが隠れる
□投稿者/ Nemo -(2016/03/25(Fri) 15:09:48)
    とっちゃんさん

    ありがとうございます。

    >InsatllWelcome のソースを見ることはできませんか?
    残念ながらなさそうです・・・

    全部InstallScript形式で作ると面倒かと思ったので基本のMSIに部分的にInstallScript入れ込む形をとろうとしてましたが、
    逆に遠回りになっているように思えてきたので、InstallScript形式で作ろうかと思いました。

    >ウィンドウを前面に持ってくる BringWindowToTop() というAPIがあります。
    >SdWelcome を表示したら、そのウィンドウハンドルを使ってこのAPIを呼び出すようにできれば
    >もしかしたら最悪でも手前には持ってくることができるかもしれません。
    SdWelcomeを呼んだ時点でユーザの応答を待ってしまうので、呼ぶ前に設定変えるしかなさそうです。

    関係ない情報かもしれませんが、インストールするプログラムを動かすために.NET Frameworkが必要なので
    前提条件に入れて、再配布可能ファイルのチェックボックスをオンにしています。
    これが無ければようこそウィンドウが表に出ていました。
記事No.79225 のレス /過去ログ134より / 関連記事表示
削除チェック/

■88618  Re[2]: コントロールのインライン形式化
□投稿者/ なつ -(2018/09/11(Tue) 11:56:27)
    No88617 (WebSurfer さん) に返信
    > ■No88616 (なつ さん) に返信
    >
    > 何でそのようなことがしたいのでしょう? XY 問題に陥っているような気がしてならないです。 
    > そもそもどうしてそんなことがしたいのかを書いてもらえると代案が出せるかもしれません。

    Form内のControlの一部をRenderControl機能を使ってHTMLメールの本分に添付して送信しているのですが
    スタイルシートが反映しないためインライン形式化と言う手法を試している段階です

    FormでCSSを使わないというのもなかなか厳しい状態です
記事No.88616 のレス /過去ログ152より / 関連記事表示
削除チェック/

■88619  Re[3]: コントロールのインライン形式化
□投稿者/ WebSurfer -(2018/09/11(Tue) 12:50:29)
    No88618 (なつ さん) に返信

    > Form内のControlの一部をRenderControl機能を使ってHTMLメールの本分に添付して送信しているのですが
    > スタイルシートが反映しないためインライン形式化と言う手法を試している段階です

    そういう話ですと、その「一部」のみは最初からインラインで書いておく以外に、適当な方法・代案は
    考えつかないです。

    お役に立てずすみませんが、他の方の回答をお待ちください。
記事No.88616 のレス /過去ログ152より / 関連記事表示
削除チェック/

■89626  Re[9]: Excelオブジェクトに関して(VB6)
□投稿者/ 魔界の仮面弁士 -(2018/12/10(Mon) 20:46:01)
    2018/12/10(Mon) 20:54:16 編集(投稿者)

    No89623 (k3user さん) に返信
    > Office: Microsoft Office Professional Plus 2010 Excel Ver 14.0.7214.5000(32Bit)となります。

    確認ありがとうございます。ということは、
    KB4461530 (2018/11/08) は未適用で、
    KB4461466 (2018/10/04) までが適用されている状態でしょうか。

    https://www.catalog.update.microsoft.com/?updateid=3c886187-6d89-496d-b68c-15abd12bba89
    https://www.catalog.update.microsoft.com/?updateid=1914e637-8c9a-49fa-8361-2f621e2cb1cf


    > ビルド形式:ActiveX DLL
    > コンパイル方法:ネイティブコードコンパイル(コードの実行速度を最適化)

    この DLL は、タスクスケジューラーや Web サービスなどといった
    ユーザー対話のないサービスセッションから呼び出しているのではなく、
    普通のデスクトップ アプリからの呼び出しという認識で良いでしょうか。
    (実行アカウント依存の問題かどうかの確認ということです)



    >> 手順 1 と 3 だけに単純化した「現象を再現可能なコード」を
    >> 作成してもらえないでしょうか
    > 以下の環境でデバッグを行いました。

    「現象を再現可能なコード」というのは、第三者がそのまま自身の環境で
    検証可能となる情報を提供して欲しい、という意味でした…。



    > Set gvObjExcel = New Excel.Application
    > Set gvObjBook = gvObjExcel.Workbooks.Open(指定したフォルダ)
    > Set gvObjSheet = gvObjBook.Worksheets(指定したファイル名)

    Workbooks.Open でフォルダを指定することはできませんし、
    同様に、Worksheets コレクションのインデックスに
    ファイル名を指定することもできないはず。(エラーになりました)

    Worksheets コレクションに指定可能な引数は "ファイル名" ではなく、
    「1 以上ワークシート数以下の自然数」
    「ワークシートの名前」
    「ワークシートオブジェクト」
    もしくは「上記を 1 つ以上含んだ Variant 配列」だけだと思いますよ。


    で、先の投稿の繰り返しになりますが、
    既存のファイルを使うのではなく、「新規ブック」で試してみてください。
    新規に新しい Excel ファイルを用意し、そこに最低限度の書式設定を
    施したものを読み込ませて、再現性を確認してみるということです。

    もしも新規ファイルで再現せず、特定のファイルでのみ起こる事象なら、
    VB のコードを見てもあまり意味は無く、元ファイルの内容を疑っていくべきかと。

    一方、新規ファイルでも再現するようであれば、その検証ファイルの作成手順を公開すると共に、
    セルの内容(というか書式指定?)が処理の前後でどう変化するのかを示して頂けれあ、
    他の Excel バージョン(あるいは同じ Excel バージョン)を使っている他者にも
    検証できますので、バージョン依存性や環境依存性があるのかどうかを確認できそうです。
記事No.89591 のレス /過去ログ154より / 関連記事表示
削除チェック/

■90528  Re[3]: EFのPOCOでテーブルを作ってほしくない
□投稿者/ WebSurfer -(2019/03/18(Mon) 13:26:41)
    No90525 (あみい さん) に返信

    > ・コードファーストにおいて、POCOを変更してスキーマ変更処理が走るのは当然。
    > ・逆に言えば、コードファーストといえど、POCOに変更がなければスキーマを変更しに行かないはず

    イニシャライザの設定によります。デフォルトのイニシャライザは CreateDatabaseIfNotExists で、
    読んで字のごとく、データベースが存在しない場合のみ生成します。

    詳しくは以下の記事を見てください。

    Database Initialization Strategies in EF 6 Code-First
    http://www.entityframeworktutorial.net/code-first/database-initialization-strategy-in-code-first.aspx

    Cutting Edge - Code First とデータベース初期化
    https://msdn.microsoft.com/ja-jp/magazine/mt788618.aspx

    entity framework code first default initializer をキーワードにググれば、他にも役に立ちそう
    な記事が多々ヒットするので、自分でも調べてみてください。

    質問者さんのケースで何故エラーになったかは分かりませんが、たぶん、モデルとスキーマに互換性
    が無いからであろうと思います。

    だから、よくわからないまま自力でコードを書いて訳の分からないエラーで悩むより Visual Studio
    に自動生成して貰うことをお勧めしたのですが・・・
記事No.90438 のレス /過去ログ156より / 関連記事表示
削除チェック/



<< 0 >>

パスワード/

- Child Tree -