このページは福井県立大学の田中求之が2006年1月まで運用していた Mac のサーバ運用に関する会議室 「Web Scripter's Meeting」の記録です。情報が古くなっている可能性がありますのでご注意ください。

「REALbasic で AppleEvent を活用する」の改訂

発言者:田中求之
( Date Saturday, January 13, 2001 13:12:31 )


以前に「REALbasic で AppleEvent を活用する」というタイトルで、REALbasic
で AppleEvent を活用する方法をまとめた文書を作成し、公開して
います。

今、これの改訂に取り掛かっています。

基本的には、もっと明快なものにするというのが目的です(この会議室に書
き込んだものをまとめた関係で、話がやや蛇行していて見通しに欠けるので)。

あと、最近のツールの状況なども踏まえたものにしまし、ファイル名の綴り
のミスも直します (^_^;;


そこで、この文書をお読みなった方にお願いなのですが、改良すべき点や
要望など、意見をお聞かせねがえませんか。すべてにお応えすることは
無理ですが、できる限り、参考にさせていただきたいと思います。

→  「REALbasic で AppleEvent を活用する」

kmbp さんからのコメント
( Saturday, January 13, 2001 14:02:01 )

大変興味深く拝見させて頂き,とても勉強になりました。

出来れば...なのですが,RbとMacユーザーに身近なファイルメーカーProとの
コミュニケーションについても触れていただければ,ぐっと活用範囲が広がる
と思われますので有り難いのですが...宜しくお願い致しますm(__)m

大森智史 さんからのコメント
( Saturday, January 13, 2001 18:45:51 )

私もかなり参考にさせていただきました。

階層化されたオブジェクトの実装方法が今一つわからないので、その辺りをご説明いただければ、と思います。

AppleScriptリスト形式の取得はできなかったんでしたっけ?

Junnama さんからのコメント
( Sunday, January 14, 2001 14:21:32 )

いつも大変参考にさせていただいています。

もし可能ならばRecordableにする方法について解説いただければ嬉しいです。
Capture AEでのダンプを見ると、以下のようになっているのがわかるのですが、
どのタイミングで"tell application 〜"を送ってやって、どのタイミングで
"end tell"を送るのか、また、送る対象はどこなのか、そこらへんが分かるも
のなら一度挑戦してみたいテーマではあるのですが...

--Capture AEでのダンプ----------------------

Process("スクリプト編集プログラム").SendAE "
ascr,
recd,
'----':STXT{ktxt...以下、自動記録されるデータが続く

Junnama さんからのコメント
( Sunday, January 14, 2001 15:53:19 )

Dan Vanderkam氏による「Making an Application Recordable」というのが
REALbasic Monthly(http://www.nd.edu/~jvanderk/rbm/)にありました。

aeteリソースをちゃんとつっておいて、自分自身に向けてAppleEventを送るとい
うことか?
(英語を読むのはとっても苦手)

→  Making an Application Recordable

田中求之 さんからのコメント
( Sunday, January 14, 2001 21:30:57 )

さっそく色々なコメントをありがとうございます。

まとめてのレスになりますが…

・FileMaker については、ID でのオブジェクト指定が面倒だという最大の
欠点が Rb にあるため、なかなかうまく連携させるのが難しいんですよね。
それに、Rb 2 からはデータベース内蔵してますんで、ますますインセンティ
ブが低い。うまいサンプルでも思いつけば考えてみます。

・階層化されたオブジェクトの実装は説明します。メール送信プログラムに
アドレスブックを組み込むサンプルあたりが適当かなと思っていますが。た
だ、何階層にもわたるようなのは、面倒になっちゃうんで、そんなに複雑な
ものにはしないつもりです。

・Recordable にする原理は簡単で、処理型はすべて AppleEvent を受けて
処理を行うようにし、メニューやウィンドウなどの操作は、すべて、自分自
身に向けて AppleEvent を発行するようにする、ということになります。イ
メージとしては、UVJ Mailer や mboxer に、AE を発行する皮を被せるって
感じです。ただ、こういうことをやろうとすると、エラーメッセージを返せ
ないという Rb の実装の制約がけっこう致命的だったりするんですよね。こ
の Recordable の点については、検討課題とさせてください。

藤岡 さんからのコメント
( Monday, January 15, 2001 14:49:37 )

> ...  ただ、こういうことをやろうとすると、エラーメッセージを返せ
> ないという Rb の実装の制約がけっこう致命的だったりするんですよね。

やはり、そうですか。エラー処理をどのように送ったり受け取ったりするか
についての解説をお聞きしたいと思ったのですが、残念です。
(AppleScriptの try ... on error や error命令に相当する処理の方法)

たけうちとおる さんからのコメント
( Monday, January 15, 2001 20:21:44 )

いつも参考にさせていただいています。
Rbで出来ないこと
例えばmake〜で Capture AEでのダンプでは"Insl"が
でてきたらダメとか。がまとまっていると良いのではと思います。