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

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

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

全過去ログを検索

<< 0 >>
■8713  Re[10]: WebBrowser-AdobeReader呼出後Focus
□投稿者/ 渋木宏明(ひどり) -(2007/10/09(Tue) 04:58:55)
>
    > ということで、アップグレード時か何かにAdobeが意図的にCABファイルに
    > AcroPDF.dllを非難させている線が濃厚な気がしてきました。

    はずれ。

    標準の配置場所が C:\Program Files\Common Files 配下に変更になったようです。
記事No.8335 のレス /過去ログ20より / 関連記事表示
削除チェック/

■50029  Re[2]: ClickOnceがいまいちはやらない理由について
□投稿者/ たか -(2010/05/26(Wed) 20:32:15)
    >とっちゃんさん

    回答ありがとうございます。

    > ClickOnce 以前にインストーラ(形式不問)がついてるという時点でかなり減りませんか?
    > それと、ClickOnce が利用可能なアプリケーションってそんなにたくさんはなかった気がしますが...
    > 気のせいですかね?


    言われてみるとお手軽ソフトだとそもそもインストーラーつけてないのが多いですね。
    凝ったソフトだとレジストリ使ったりインストーラーでいろいろしたいから
    ClickOnceではできない項目がネックになってきたり・・・
    改めて考えるとClickOnceの制約や利点を生かせるソフトってかなり限られてくるかも?


    WEBの巡回ツールだと訪問先のWEBの仕様が変わったらすぐにマイナーバージョンアップして対処したいから
    自動でバージョンアップはかなり便利だけれど
    普通のソフトであればそこまで最新版にこだわる必要もないですし・・・



    一応ClickOnceは進化途中ということで.netframeworkのバージョンあがるごとに機能が少しずつ増えてきています。


    > 一応。。。
    > ClickOnce で配布できるようにするためには...
    > 1..NET Framework 2.0 またはそれ以上のバージョンで作成された EXE であること。
    最近のプログラムはほとんどVisualStudioで作ってるからほぼ.netframeworkだろう、と勝手に思い込んでいましたが
    改めて考えてみるとDelphiだったりC++Builderとかもありましたね。


    > 2.関連付けのようなシステム設定に影響する要素を持たないこと。
    > が必要だったはずです。
    3.5から(かもしくは3.5SP1から)は拡張子とアプリケーションの関連づけに限りできるようになりましたよ
    他にもデスクトップにショートカット配置したり細かい機能追加はされてきています。
    ただまぁ用意されたものしかできないので自由度はかなり低いのは間違いないですけど。


    > あと、強制更新などは、インストール元に常にアクセス可能だった必要があります。
    インターネット接続していれば強制的に見に行くけど 接続していなければ見に行かないってこともできます。
    ClickOnceの設定次第ですね。


    > Web配布以外でもOKだったかどうかは覚えてません。
    WEB配布以外でもClickOnceの設定しておけばできます
    というかWeb配布とCDからのインストールとファイルの実態としては同じです。
    HTMLファイルにリンクがはられてSetup.exeをキックするのか?
    それともautorun.inf入りのCDROMからSetup.exeが起動されるのか・・・

    まぁインストール前に引数渡すとかやるのであればWEB配布でしかできませんが・・・

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

■68402  web上でロストフォーカスを確認するには?
□投稿者/ サトウ -(2013/10/18(Fri) 18:09:13)

    分類:[C#] 

    webブラウザでアプリケーションを作っています。
    web上で、VBのロストフォーカスみたいなことを
    C#で作成したいのですが分かりません。

    例として、

    webBrowser1.Navigate("http://www.yahoo.co.jp/");

    これで、webブラウザ上にyahooが表示されます。
    このwebブラウザ上で表示されているyahoo検索文字のテキストに
    値を入れた後に、
    この検索文字のテキストからフォーカスが
    離れた時に、メッセージボックスに"フォーカスが離れました"と
    表示したいです。

    こんな事は簡単に出来るのでしょうか

    尚、yahooのHTMLは次の様になっています。
    <input name="p" id="srchtxt" type="text" value="" autocomplete="off">
    nameがpのテキストボックスからフォーカスが離れた時ですね。

    アドバイスお願いします。
    出来ればソースでの説明を

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

■77518  C
□投稿者/ 初心者 -(2015/10/27(Tue) 00:32:10)

    分類:[C/C++] 

    #define _CRT_SECURE_NO_WARNINGS
    #include <stdio.h>
    #include <string.h>
    #define WORD_MAX (10)

    int main(void){
    int i;
    int word_string;
    char data_in[WORD_MAX];
    char data_out[WORD_MAX];
    char *pdata_in;
    char *pdata_out;
    int j;
    int word_string2;
    char data_in2[WORD_MAX];
    char data_out2[WORD_MAX];
    char *pdata_in2;
    char *pdata_out2;


    printf("%d文字以内で文字列(姓)を入力してください。\n", WORD_MAX);
    while(1){
    scanf("%s", &data_in);
    rewind(stdin);
    word_string = strlen(data_in);
    printf("入力した文字列(姓)は%dです。\n", word_string);
    if (word_string <= WORD_MAX) break;
    printf("もう一度入力してください\n");

    }
    printf("============================================================\n");
    pdata_in = &data_in[word_string - 1];
    pdata_out = &data_out[0];

    for (i = 0; i<word_string; i++)
    {
    *pdata_out = *pdata_in;
    pdata_in--;
    pdata_out++;
    }
    *pdata_out = '\0';


    printf("%d文字以内で文字列(名)を入力してください。\n", WORD_MAX);
    while(1){
    scanf("%s", &data_in2);
    rewind(stdin);
    word_string2 = strlen(data_in2);
    printf("入力した文字列(名)は%dです。\n", word_string2);
    if (word_string2 <= WORD_MAX) break;
    printf("もう一度入力してください\n");

    }
    printf("============================================================\n");
    pdata_in2 = &data_in2[word_string2 - 1];
    pdata_out2 = &data_out2[0];

    for (j = 0; j<word_string2; j++)
    {
    *pdata_out2 = *pdata_in2;
    pdata_in2--;
    pdata_out2++;
    }
    *pdata_out2 = '\0';


    printf("入力した文字列(姓):%s\n", data_in);
    printf("反転した文字列(姓):%s\n", data_out);

    printf("入力した文字列(名):%s\n", data_in2);
    printf("反転した文字列(名):%s\n", data_out2);


    strcat(data_in, data_in2);
    strcat(data_out, data_out2);
    printf("入力した文字列連結:%s\n", data_in,data_in2);
    printf("反転した文字列連結:%s\n", data_out,data_out2);

    rewind(stdin);
    getchar();
    return 0;
    }姓と名で10字以上入力したらデバックでエラーが出るので修正してくださいお願いします。
親記事 /過去ログ131より / 関連記事表示
削除チェック/

■87353  OLEDBでのMax Locks Per Fileの設定
□投稿者/ dekoderu -(2018/05/14(Mon) 17:50:41)

    分類:[VB.NET/VB2005 以降] 

    データベースをAccess、画面をVB.Net2008で作成しております。

    大量のデータをインサートした際に、「ファイルの共有ロック数が制限を超えています」というエラーが発生したため、サイトを調べたところ
    Max Locks Per Fileの設定を行えば回避できる方法がありました。
    その方法で試してみたところ、「インストール可能な ISAM ドライバが見つかりませんでした。」というエラーが発生します。

    以下コードです。
    ---------------------------------------------
    Public oConn As New OleDbConnection
    Public oCommand As New OleDbCommand

    'DB接続文字列の設定
    oConn.ConnectionString = "Provider="Microsoft.ACE.OLEDB.12.0;" & _
    "Data Source="C:\Project\TEST.accdb;" & _
    "Jet OLEDB:Database Password="TEST;" & _
    "Jet OLEDB:Max Locks Per File=100000"

    'コネクションの設定
    oCommand.Connection = oConn
    ' 接続を開く
    oConn.Open()
    oCommand = oConn.CreateCommand()

    ---------------------------------------------

    間違えているところなどありましたら
    ご教授いただければと思います。
    お手数をおかけしますが
    よろしくお願いいたします。
親記事 /過去ログ150より / 関連記事表示
削除チェック/

■87354  Re[1]: OLEDBでのMax Locks Per Fileの設定
□投稿者/ 魔界の仮面弁士 -(2018/05/14(Mon) 19:42:20)
    2018/05/14(Mon) 22:33:56 編集(投稿者)

    No87353 (dekoderu さん) に返信
    > データベースをAccess、画面をVB.Net2008で作成しております。
    OLE DB Provider はインストール済みですか?
    https://www.microsoft.com/ja-jp/download/details.aspx?id=13255
    https://www.microsoft.com/en-us/download/details.aspx?id=54920


    インストールしてある場合、32bit 版ですか? 64bit 版ですか?


    アプリが AnyCPU ビルドの場合
     32bit 版 Windows では 32bit 版の OLE DB Provider が必要
     64bit 版 Windows では 64bit 版の OLE DB Provider が必要


    アプリが x86 ビルドの場合
     32bit/64bit 版 Windows いずれにおいても、32bit 版の OLE DB Provider が必要


    アプリが x64 ビルドの場合
     32bit 版 Windows では動作しない
     64bit 版 Windows では 64bit 版の OLE DB Provider が必要



    > 大量のデータをインサートした際に、「ファイルの共有ロック数が制限を超えています」というエラーが発生したため、サイトを調べたところ
    > Max Locks Per Fileの設定を行えば回避できる方法がありました。
    "Max Locks Per File" ではなく、提示コードにあるとおり、
    "Jet OLEDB:Max Locks Per File" ですね。
    ちなみに初期値は 0 、既定値は 9500 です。

    https://msdn.microsoft.com/en-us/library/ms719649.aspx
    https://msdn.microsoft.com/ja-jp/library/office/jj249228.aspx



    > Public oCommand As New OleDbCommand
    最初に New してインスタンスを生成し、

    > oCommand.Connection = oConn
    そこに Connection をセットまでしたのに

    > oCommand = oConn.CreateCommand()
    新たに生成した OleDbCommand のインスタンスで上書きしているのは何故でしょう?
記事No.87353 のレス /過去ログ150より / 関連記事表示
削除チェック/

■87362  Re[2]: OLEDBでのMax Locks Per Fileの設定
□投稿者/ dekoderu -(2018/05/15(Tue) 15:10:54)
    No87354 (魔界の仮面弁士 さん) に返信

    返信いただきありがとうございます。


    > 2018/05/14(Mon) 22:33:56 編集(投稿者)
    >
    > ■No87353 (dekoderu さん) に返信
    >>データベースをAccess、画面をVB.Net2008で作成しております。
    > OLE DB Provider はインストール済みですか?
    > https://www.microsoft.com/ja-jp/download/details.aspx?id=13255
    > https://www.microsoft.com/en-us/download/details.aspx?id=54920
    >
    >
    > インストールしてある場合、32bit 版ですか? 64bit 版ですか?

    インストール済みです。
    32bit版です。

    >
    >
    > アプリが AnyCPU ビルドの場合
    >  32bit 版 Windows では 32bit 版の OLE DB Provider が必要
    >  64bit 版 Windows では 64bit 版の OLE DB Provider が必要
    >
    >
    > アプリが x86 ビルドの場合
    >  32bit/64bit 版 Windows いずれにおいても、32bit 版の OLE DB Provider が必要
    >
    >
    > アプリが x64 ビルドの場合
    >  32bit 版 Windows では動作しない
    >  64bit 版 Windows では 64bit 版の OLE DB Provider が必要
    >

    アプリはx86ビルドになっております。

    >
    >
    >>大量のデータをインサートした際に、「ファイルの共有ロック数が制限を超えています」というエラーが発生したため、サイトを調べたところ
    >>Max Locks Per Fileの設定を行えば回避できる方法がありました。
    > "Max Locks Per File" ではなく、提示コードにあるとおり、
    > "Jet OLEDB:Max Locks Per File" ですね。
    > ちなみに初期値は 0 、既定値は 9500 です。
    >
    > https://msdn.microsoft.com/en-us/library/ms719649.aspx
    > https://msdn.microsoft.com/ja-jp/library/office/jj249228.aspx
    >
    >
    >
    >>Public oCommand As New OleDbCommand
    > 最初に New してインスタンスを生成し、
    >
    >>oCommand.Connection = oConn
    > そこに Connection をセットまでしたのに
    >
    >>oCommand = oConn.CreateCommand()
    > 新たに生成した OleDbCommand のインスタンスで上書きしているのは何故でしょう?

    プログラムの作成者が退職しているため
    なぜそのようになっているのかがすぐにわかりませんでした。

    oCommand = oConn.CreateCommand()を削除しても
    エラーが発生しました。
    Jet OLEDB:Max Locks Per File=100000の
    記述を追加する前はエラーが発生しないため、
    記述に誤りがあるのか、そもそもOLEDBでは
    Max Locks Per Fileが設定できないとか
    あるんですかね・・・




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

■87371  Re[3]: OLEDBでのMax Locks Per Fileの設定
□投稿者/ 魔界の仮面弁士 -(2018/05/15(Tue) 18:00:56)
    No87362 (dekoderu さん) に返信
    > oCommand = oConn.CreateCommand()を削除しても
    > エラーが発生しました。
    まぁ、そもそも提示のコードだと、構文エラーになるはずなんですけれどね。
    『"』が奇数個になっていますし。


    > Jet OLEDB:Max Locks Per File=100000の
    > 記述を追加する前はエラーが発生しないため、

    上記エントリを含めると、当方でも駄目でした。
    当方で利用したプロバイダは下記の通り。
     64bit Microsoft.ACE.OLEDB.15.0
     64bit Microsoft.ACE.OLEDB.12.0
     32bit Microsoft.Jet.OLEDB.4.0
     32bit Microsoft.Jet.OLEDB.3.51


    代わりに、Jet OLEDB:Registry Path を通じて設定するようにしてみてください。

    oConn.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;" & _
      "Data Source=""C:\temp\db1.accdb"";" & _
      "Jet OLEDB:Registry Path=SOFTWARE\MyCorporation\MyApplication\1.0"

    あるいは、アプリ固有のカスタムエントリを作る代わりに、
    KB815281 の「方法 1」のように、HKLM 側の システム全体設定で
    指定することもできるかと思います。



    > 記述に誤りがあるのか、そもそもOLEDBでは
    > Max Locks Per Fileが設定できないとか
    > あるんですかね・・・

    KB815281 の「方法 2」でも示されていますが、DAO 接続時には設定できるようです。
    (有効になっているかは判断できませんでしたが)

    Dim de As New Dao.DBEngine()
    de.SetOption(Dao.SetOptionEnum.dbMaxLocksPerFile, 100000)
    Dim db As Dao.Database = de.OpenDatabase("C:\temp\db1.accdb")
    db.Close()
    System.Runtime.InteropServices.Marshal.ReleaseComObject(db)
    System.Runtime.InteropServices.Marshal.ReleaseComObject(de)


    Jet OLEDB:Max Locks Per File については、ADO.NET どころか、
    ADO でさえ弾かれました。.NET はおろか、Access VBA からも駄目。

    それどころか、JET 4.0 / Jet 3.51 プロバイダでも設定できませんでした。
    MDAC 2.5 の頃に実験した時は設定できた気もするのですが…自信なし。
    http://www.gizcollabo.jp/vbtomo/log/archive/vbqanda_41433_0.html
記事No.87353 のレス /過去ログ150より / 関連記事表示
削除チェック/

■87388  Re[4]: OLEDBでのMax Locks Per Fileの設定
□投稿者/ dekoderu -(2018/05/16(Wed) 18:35:28)
    2018/05/16(Wed) 18:41:11 編集(投稿者)

    No87371 (魔界の仮面弁士 さん) に返信

    返信いただきありがとうございます。


    > ■No87362 (dekoderu さん) に返信
    >>oCommand = oConn.CreateCommand()を削除しても
    >>エラーが発生しました。
    > まぁ、そもそも提示のコードだと、構文エラーになるはずなんですけれどね。
    > 『"』が奇数個になっていますし。
    >

    『"』の記述を間違えて投稿してしまっていました。
    実際に動いているソースコードでは構文エラーが発生しないようになっています。
    お手数をおかけしました。


    >
    >>Jet OLEDB:Max Locks Per File=100000の
    >>記述を追加する前はエラーが発生しないため、
    >
    > 上記エントリを含めると、当方でも駄目でした。
    > 当方で利用したプロバイダは下記の通り。
    >  64bit Microsoft.ACE.OLEDB.15.0
    >  64bit Microsoft.ACE.OLEDB.12.0
    >  32bit Microsoft.Jet.OLEDB.4.0
    >  32bit Microsoft.Jet.OLEDB.3.51
    >
    >
    > 代わりに、Jet OLEDB:Registry Path を通じて設定するようにしてみてください。
    >
    > oConn.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;" & _
    >   "Data Source=""C:\temp\db1.accdb"";" & _
    >   "Jet OLEDB:Registry Path=SOFTWARE\MyCorporation\MyApplication\1.0"
    >
    > あるいは、アプリ固有のカスタムエントリを作る代わりに、
    > KB815281 の「方法 1」のように、HKLM 側の システム全体設定で
    > 指定することもできるかと思います。

    Registry Pathを使用してできるんですね。
    対応を検討したいと思います。


    >
    >
    >
    >>記述に誤りがあるのか、そもそもOLEDBでは
    >>Max Locks Per Fileが設定できないとか
    >>あるんですかね・・・
    >
    > KB815281 の「方法 2」でも示されていますが、DAO 接続時には設定できるようです。
    > (有効になっているかは判断できませんでしたが)
    >
    > Dim de As New Dao.DBEngine()
    > de.SetOption(Dao.SetOptionEnum.dbMaxLocksPerFile, 100000)
    > Dim db As Dao.Database = de.OpenDatabase("C:\temp\db1.accdb")
    > db.Close()
    > System.Runtime.InteropServices.Marshal.ReleaseComObject(db)
    > System.Runtime.InteropServices.Marshal.ReleaseComObject(de)
    >
    >
    > Jet OLEDB:Max Locks Per File については、ADO.NET どころか、
    > ADO でさえ弾かれました。.NET はおろか、Access VBA からも駄目。
    >
    > それどころか、JET 4.0 / Jet 3.51 プロバイダでも設定できませんでした。
    > MDAC 2.5 の頃に実験した時は設定できた気もするのですが…自信なし。
    > http://www.gizcollabo.jp/vbtomo/log/archive/vbqanda_41433_0.html


    詳しく調査していただきありがとうございました。
    大変助かりました。


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

■87372  Re[1]: OLEDBでのMax Locks Per Fileの設定
□投稿者/ PANG2 -(2018/05/15(Tue) 18:27:31)
記事No.87353 のレス /過去ログ150より / 関連記事表示
削除チェック/

■87389  Re[2]: OLEDBでのMax Locks Per Fileの設定
□投稿者/ dekoderu -(2018/05/16(Wed) 18:39:33)
    2018/05/16(Wed) 18:41:34 編集(投稿者)
    No87372 (PANG2 さん) に返信

    返信いただきありがとうございます。

    > 2018/05/15(Tue) 19:00:00 編集(投稿者)
    >
    > Access 実行時エラー 3052 解決方法 コミットせよ
    > http://motagp.hatenablog.com/entry/2015/05/22/111246
    >
    > close/openでも良いかも

    URLの内容を確認いたしました。
    対応を検討いたします。
記事No.87353 のレス / END /過去ログ150より / 関連記事表示
削除チェック/



<< 0 >>

パスワード/

- Child Tree -