[REALbasic]Mac OS Xでは、GlobalFloatingWindowのFloaterProcessが有効にならない問題
Safariがfrontmostのときだけウインドウを表示しようと思って、WindowをGlobalFloatingWindowに設定し、WindowクラスのFloaterProcessを指定したところ(下記をOpenなどのイベントに書いておけばいいはず)、これが有効にならない。
Window1.FloaterProcess = "sfri"
何か自分が変なことをしているのかもと調べたところ、以前から解決されていないREALbasicのバグだと知る。
http://support.realsoftware.com/listarchives/realbasic-nug/2004-09/msg00226.html←ここで話題が出ている。
しょうがないので、Timerでpollingすることに。またAppleEventか。
■Safariがfrontmost(最前面のウインドウ)かどうか問い合わせる
Dim ae as AppleEvent
Dim obj As AppleEventObjectSpecifier
ae = NewAppleEvent("core","getd","macs")
ae.ObjectSpecifierParam("----") = GetNamedObjectDescriptor("pcap", Nil, "sfri")
//SafariのfrontmostがTrueだったらWindow1を表示。そうでなければ隠す。
//むろん、ApplicationのOpenか、Window1のOpenにme.hideとかしとく。
If ae.Send() Then
If ae.ReplyBoolean = True Then
Window1.Show
Else
Window1.Hide
End If
End If
« [REALbasic]SafariをREALbasicからAppleEventで操る | Main | [REALbasic]特定のアプリケーションプロセスの存在の有無をAppleEventで確認する in Mac OS X »
Recent Comments