Webbrowserは別


はてな  2006-04-18 17:37:10  No: 95110

WebデータをWebbrowserコントロールで取得しながら、そのデータをメインメニューで分析するプログラミングしてるのですが。
取得すべきWebデータが多数有る為、メインメニューの操作よりもそのデータの取得に大半占有されている状態です。
Webbrowserコントロールを別プロセス化しようとしましたが、ActiveXコントロールがシングルスレッドアパートメントでない為出来ませんでした。
別スレッドでダウンロード・Htmlファイル操作部分を実行する方法(Webbrowserコントロールを使わない方法でも)教えてください!?!
序にWebbrowserコントロールを速くするする術あるんでしょうか?


VB梅  2006-04-19 02:46:43  No: 95111

>Webbrowserコントロールを早くする方法?
もともと早いですが・・・・・

>メインメニューの操作よりもそのデータの取得に大半占有されている状態です。
あ、光通信にするとか・・・
データ取得が終わるまでは、分析ができないと思うのですが。

基本Webbrowserはデータ取得まで処理を進めない順次作業だと思います。多分・・・
「データ取得→処理」の一部分を別スレットにする
というのは、順次作業なので意味がないと思います。

したがって、次の様な推測を書いておきます。
データ分析プログラムの処理が終わっていないため、画面表示が更新されない等
遅く感じるのだとしたら次のようにしてください。
LOOPやFORの繰り返し行われる部分に
DoEvents
を入れると「もたつき」や「硬直」が改善されます。
その分、分析は遅くなりますが・・・・・

あべこべな返答でありましたらお許しください。

あと、開発環境等を書いたほうがよろしいかと思います。


はてな  2006-04-19 03:41:04  No: 95112

VB梅様回答ありがとうございます。
私がここで言うデータとは株価データです。
ですから、1銘柄ダウンロード解析(次のダウンロードが同時進行になるわけです)
Doeventsを入れると砂時計の連続でメインメニュー操作に支障があるので、別スレッドを思い立ったわけです。
ある株価ソフト(明日香など)では、ダウンロード中も砂時計が出ないので、どのように作っているのか非常に興味深いのですが。


VB梅  2006-04-19 18:09:16  No: 95113

私も株価データ取得を作成した経緯があります。
証券会社は大和証券のみの対応です
18銘柄の気配値などほぼ全ての情報を取り出し、自宅サーバーにて
公開しています。(18銘柄を約5秒で取得、作り始めは15秒掛かっていましたので、とりあえず満足しています・・)
ただし、一般公開はしていません(簡単なセキュリティー済み)
目的は自動売買ソフトです。

本題ですが、私の製作したものも砂時計が表示されます。
過去LOGにもあるようにAPIのスレッドを利用することで砂時計の表示はなくなります。が、管理が大変なため断念しました。
また、大和証券のページを複数つくり且つ、複数のLOGINページから同時にLOGINはセキュリティーのため、同時に複数のデータを取得できません。他の証券会社も同じだと思っています。

証券会社ではなく20分遅れの一般公開の株価データの取得であればインタネットトランスファコントロールを使う方法があると思います。(画像データを読み込まないので早い)
これを使用すれば固まることも砂時計も出ないですし、コントロールを複数設置することでマルチでデータを取得可能だと思います


はてな  2006-07-22 22:13:31  No: 95114

VB梅さん、返事遅れてすみません
インタネットトランスファコントロールの件でアタックしてみます。
どうもありがとうございました。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加