iTunesアプリケーションを処理待ちにしないようにするには?


CDJ SATORU  URL  2008-05-19 03:40:37  No: 139734

いつも勉強させていただいております。

下記のようなiTunesアプリを作っているのですが、IE側の処理を行っている間もiTunesの操作が受け付けられず、処理待ちになってしまいます。

NextProgram()側の処理ではiTunesオブジェクトを参照しないように気をつけているつもりなのですが、何か根本的に間違っているのでしょうか?
(DoEvents処理でも解決されませんでした・・・)

お手数をおかけしますが、ご指導いただければと存じます。

'-----------------------------------------------------------
Dim StriTunesTrName As String 

Public Sub BtnChangeArtistTxt(ByVal StriTunesArtistName As String)
   'WebからBPMを調査
   Dim iTunesApp As New iTunesApp
   Dim Track As IITTrack

   '〜iTunes側の処理〜

   Track = Nothing
   iTunesApp = Nothing

   NextProgram(TxtText)
End Sub

Public Function NextProgram(ByVal TxtTextAs String)
   URL = "" 'HPアドレス

   ie = CreateObject("InternetExplorer.application")
   ie.Visible = False
   ie.Navigate2(URL)

   'ページ読み込み待ち
   Do While ie.Busy = True
      System.Windows.Forms.Application.DoEvents()
   Loop

   Dim objHtml As mshtml.HTMLDocument
   objHtml = ie.Document

   '〜IE側での処理〜

   ie.Document.forms(0).submit()

   ie.Quit()
   ie = Nothing
End Function
'-----------------------------------------------------------


やじゅ  2008-05-19 09:09:19  No: 139735

DoEvents()をNextProgramする前にも入れてみたら
どうでしょう?


やじゅ  2008-05-19 09:09:25  No: 139736

DoEvents()をNextProgramする前にも入れてみたら
どうでしょう?


CDJ SATORU  2008-05-20 06:13:54  No: 139737

やじゅさん、コメントありがとうございます。
下記、2箇所にそれぞれ入れてみましたが、残念ながら処理待ち状態は変わりませんでした・・・

'-----------------------------------------------------------
Dim StriTunesTrName As String 

Public Sub BtnChangeArtistTxt(ByVal StriTunesArtistName As String)
   Dim iTunesApp As New iTunesApp
   Dim Track As IITTrack

   '〜iTunes側の処理〜

   Track = Nothing
   iTunesApp = Nothing

   System.Windows.Forms.Application.DoEvents() '←追加

   NextProgram(TxtText)

   System.Windows.Forms.Application.DoEvents() '←追加

End Sub

Public Function NextProgram(ByVal TxtTextAs String)
   URL = "" 'HPアドレス

   ie = CreateObject("InternetExplorer.application")
   ie.Visible = False
   ie.Navigate2(URL)

   'ページ読み込み待ち
   Do While ie.Busy = True
      System.Windows.Forms.Application.DoEvents()
   Loop

   Dim objHtml As mshtml.HTMLDocument
   objHtml = ie.Document

   '〜IE側での処理〜

   ie.Document.forms(0).submit()

   ie.Quit()
   ie = Nothing
End Function
'-----------------------------------------------------------


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

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






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