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

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

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

全過去ログを検索

<< 0 >>
■5749  Re[9]: Shockwave ActiveX Contorlの情報
□投稿者/ まつ -(2007/07/22(Sun) 16:49:43)
    >
    > 所詮は ActiveX コントロールですから、タイプライブラリがあればコントロールが実装するメソッド/プロパティの一覧はダダ漏れです。
    > タイプライブラリは通常、.tlb ファイルとして提供されるか、.dll 内にリソースとして格納されている場合が多いです。
    >
      そんなに難しいく考えないでもFormに貼り付けたコンポーネントのプロパティーで見えます。
      
    > が、今回のように「コントロールの表示サイズ」といった基本的な操作の場合、OLE で定義されている基本的なインターフェースで制御可能かもしれません。
    >
      表示サイズが勝手に変わるから困ってるんです。指示したサイズが表示したら変わってしまいます。
      そのあたりの情報(知識)のある人はいませんか。
記事No.5717 のレス /過去ログ16より / 関連記事表示
削除チェック/

■36578  Re[1]: JISコード⇒シフトJISコードに変換し形式をHEX
□投稿者/ επιστημη -(2009/06/02(Tue) 10:23:54)
>
    > 以下の逆でJISコード⇒シフトJISコードに変換し形式をHEXにするにはどうすればよいでしょうか?

    Shift-JIS→JISの変換規則がコードから明らかなんだから
    こいつを裏返すだけだと思うんだけど、何がわからんですか?
記事No.36576 のレス /過去ログ63より / 関連記事表示
削除チェック/

■54537  Re[1]: 配置済みpanel上へlabelを動的生成するには?最全面
□投稿者/ m2 -(2010/10/25(Mon) 16:09:43)
    2010/10/25(Mon) 16:10:26 編集(投稿者)
    2010/10/25(Mon) 16:10:20 編集(投稿者)

    No54536 (ゼロル さん) に返信
    > 配置済みのpanelの上にlabelを動的生成するには?

    --------------------------------------------------
    // 追加するテキストボックス
    TextBox TextBox1 = new TextBox();

    // パネルへテキストボックスを追加
    this.Panel1.Controls.Add(TextBox1);

    // テキストボックスを最前面へ
    TextBox1.BringToFront();
    --------------------------------------------------

    ども!こんな感じでいかがでしょう(当方2005なんで・・・)
記事No.54536 のレス /過去ログ91より / 関連記事表示
削除チェック/

■81721  Re[2]: C# IMEパッド
□投稿者/ Y.Y -(2016/10/31(Mon) 18:23:56)
    No81713 (魔界の仮面弁士 さん) に返信
    なるほど…
    やってみたいと思います!
    ありがとうございました!
記事No.81712 のレス / END /過去ログ139より / 関連記事表示
削除チェック/

■90583  Re[13]: AddHandler Eventの別スレッド
□投稿者/ TanuTanu -(2019/03/22(Fri) 12:36:15)
    2019/03/22(Fri) 12:40:09 編集(投稿者)

    魔界の仮面弁士 様
    PANG2 様

    お世話になっております。
    恐れ入りますが、ご教授頂きたく存じます。

    ■90547の件 INVOKEを使いたいのですが小生の知識では上手く動作させる事が出来ませんでした;;
    どのように記述すれば良いのでしょうか?

    Private Function WebDisp_click(ByVal e As mshtml.IHTMLEventObj) As Boolean
    MsgBox("webDisp_onclick", MsgBoxStyle.SystemModal)
    Return CBool(Invoke(CallByName(btnYoinTehai_Button_onclick, "[DispId=0]", CallType.Method, e))) 
    End Function

    エラー内容
    System.InvalidCastException
    Message=型 'System.__ComObject' の COM オブジェクトをクラス型 'System.Delegate' にキャストできません。
    COM コンポーネントを表す型のインターフェイスを COM コンポーネントを表さない型にキャストすることはできません。
    ただし、基になる COM コンポーネントがインターフェイスの IID の QueryInterface 呼び出しをサポートする場合は、
    インターフェイスにキャストすることができます。

    ■90558の件 スレッドを分ける理由について

    ビギナーですので出来ればイベントドリブンな非同期実装や同一スレッドで組みたいのですが方法が解りません。

    WEBページのボタンを手動クリック⇒DownloadCompleteを捕まえて重い処理させるとWEBページダイアログが重い処理終了しないと表示されない為、
    DownloadCompleteで別スレッドにしようと考えました。


    ■90557の件 下記を試しましたが、GetIEDocument(hWnd_IES)にてハンドル取得出来ませんでした。

    Private Sub IE_1_DownloadComplete() Handles IE_1.DownloadComplete
    DoSomething()
    End Sub

    宜しくお願いいたします。




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

■90588  Re[14]: AddHandler Eventの別スレッド
□投稿者/ PANG2 -(2019/03/22(Fri) 13:20:41)
    No90583 (TanuTanu さん) に返信

    > ■90558の件 スレッドを分ける理由について
    >
    > ビギナーですので出来ればイベントドリブンな非同期実装や同一スレッドで組みたいのですが方法が解りません。
    >
    > WEBページのボタンを手動クリック⇒DownloadCompleteを捕まえて重い処理させるとWEBページダイアログが重い処理終了しないと表示されない為、
    > DownloadCompleteで別スレッドにしようと考えました。

    DocumentCompletedを使うとか。
    さらに問題があれば、Windows.Forms.Timer を使うとか。

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

■90589  Re[14]: AddHandler Eventの別スレッド
□投稿者/ 魔界の仮面弁士 -(2019/03/22(Fri) 15:03:37)
    No90588 (PANG2 さん) に返信
    > DocumentCompletedを使うとか。

    DocumentComplete イベントですね。名前は似ていますが、
    DocumentCompleted はマネージ版 WebBrowser のイベントです。


    No90583 (TanuTanu さん) に返信
    > ■90547の件 INVOKEを使いたいのですが小生の知識では上手く動作させる事が出来ませんでした;;
    使う方法はありますが、そもそも今回の要件では、
    無理にスレッドを分けるべきではないように思います。


    > Message=型 'System.__ComObject' の COM オブジェクトをクラス型 'System.Delegate' にキャストできません。
    Invoke の引数にはデリゲートインスタンスを渡す必要があります。ラムダ式でも良いですが。
    手っ取り早いのは、そのメソッド自身を AddressOf で呼びなおすとか。
    https://www.atmarkit.co.jp/ait/articles/0506/17/news111.html


    > ■90558の件 スレッドを分ける理由について
    > ビギナーですので出来ればイベントドリブンな非同期実装や同一スレッドで組みたいのですが方法が解りません。
    ビギナーなら尚の事、イベント駆動型の開発スタイルで組むことをお奨めします。
    現状の理解度でスレッドセーフな設計を組むのは難易度が高すぎるかと。


    > WEBページのボタンを手動クリック⇒DownloadCompleteを捕まえて重い処理させるとWEBページダイアログが重い処理終了しないと表示されない為、
    > DownloadCompleteで別スレッドにしようと考えました。

    DownloadComplete は Document の取得とは無関係ですよね。
    DocumentComplete では駄目でしょうか?
    https://docs.microsoft.com/en-us/previous-versions/windows/internet-explorer/ie-developer/platform-apis/aa752084%28v=vs.85%29#events

    DocumentComplete では期待する結果が得られない場合(Refresh 時など)は、
    PANG2 さんも指摘されていたように、Timer を併用することも検討してみてください。



    > ■90557の件 下記を試しましたが、GetIEDocument(hWnd_IES)にてハンドル取得出来ませんでした。
    取得できないというのは、具体的にはどういう状況でしょうか。

    その処理を呼び出す前の、hWnd_IES を取得する処理に問題が生じているのか、
    hWnd_IES は得ているが、それが指し示すウィンドウが失われている状態なのか、
    SendMessageTimeout がタイムアウトしてゼロを返してくるのか、
    SendMessageTimeout は成功しているけれど ObjectFromLresult が失敗しているのか、
    ObjectFromLresult まで成功したけれど、想定外していたオブジェクトではないのか…。

    あるいはそもそも、GetIEDocument を呼び出すところまで辿りつけていない状態なのか。


    なお GetIEDocument では、hWnd_IES 配下に複数の "Internet Explorer_Server" が
    存在していた場合を考慮した実装になっていないように見えます。最初に見つかったものが
    目的のウィンドウであるかどうかを確認するための機構も用意されていないようですし。

    ビギナーであるというのなら、無闇に API に頼ることはおすすめできません。

    以前にも指摘していますが、New SHDocVw.ShellWindows() あるいは
    CreateObject("Shell.Application").Windows を For Each して InternetExplorer を列挙し、
    そのイベントやプロパティを通じて操作することをお奨めします。
記事No.90434 のレス /過去ログ156より / 関連記事表示
削除チェック/

■90590  Re[15]: AddHandler Eventの別スレッド
□投稿者/ TanuTanu -(2019/03/22(Fri) 16:21:22)
    魔界の仮面弁士 様
    PANG2 様

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

    ■下記転記文

    >無理にスレッドを分けるべきではないように思います。

    >現状の理解度でスレッドセーフな設計を組むのは難易度が高すぎるかと。

    >以前にも指摘していますが、New SHDocVw.ShellWindows() あるいは
    >CreateObject("Shell.Application").Windows を For Each して InternetExplorer を列挙し、
    >そのイベントやプロパティを通じて操作することをお奨めします。

    >PANG2 さんも指摘されていたように、Timer を併用することも検討してみてください。

    *****************************

    上記、仰るとおりビギナーにはとても難易度高いです。この機能を実装するのはもう暫く先にしようと思います。

    ただ今回、ご教授頂いた事で何とか下記まで辿り付く事が出来ました。
    これを何とか動くようにする方法をお教え頂くことは出来ますでしょうか。
    宜しくお願いいたします。


    No90583 の件

    Private Function WebDisp_click(ByVal e As mshtml.IHTMLEventObj) As Boolean

    MsgBox("webDisp_onclick", MsgBoxStyle.SystemModal)

    Return CBool(Invoke(New TESTAAADelegate(AddressOf TESTAAA)))

    End Function

    Delegate Function TESTAAADelegate() As Boolean

    Sub TESTAAA(ByVal e As mshtml.IHTMLEventObj)
    CallByName(btn_Button_onclick, "[DispId=0]", CallType.Method, e)
    End Sub

    エラー BC31143
    メソッド 'Public Sub TESTAAA(e As IHTMLEventObj)' に、デリゲート 'Delegate Function Form1.TESTDelegate() As Boolean'
    と互換性があるシグネチャがありません。
記事No.90434 のレス /過去ログ156より / 関連記事表示
削除チェック/

■94863  Re[2]: ボタンを使ってチェックボックスの操作を行いたい
□投稿者/ お願いします -(2020/05/27(Wed) 21:37:17)
    No94862 (魔界の仮面弁士 さん) に返信

    魔界の仮弁護士さん、ご返信ありがとうございます。

    > 「メッセージボックス」ということは、Windows Forms アプリケーションでしょうか?
      はい、おっしゃる通りWindows Formです。

    > 2 ではなく 二 と表示したいのですね?
      記入方法が不適切で申し訳ありませんでした。漢数字の 二 ではなく、数字の2で問題ありませんでした。ご丁寧にありがとうございます。

    都合により検証は明日になってしまいますが、またご連絡いたします。
    重ねましてありがとうございます。
記事No.94861 のレス /過去ログ164より / 関連記事表示
削除チェック/



<< 0 >>

パスワード/

- Child Tree -