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

aeteのダイレクトパラメタのフラグ

発言者:野本夏俊
( Date Tuesday, October 10, 2000 15:56:40 )


いま Interapplication Communication の Apple Event Terminology Resources を
読んで勉強中なのですが、よくわからないことがあり、困っています。
ダイレクトパラメタ用のフラグで、changesState というのがありますが、これは何を
表すモノなのでしょう?

Whether receiving this event changes (changesState) or doesnユt change
(doesntChangeState) the internal state of the receiving application. Events that
only get information do not change the state of the application, whereas events
such as Cut and Move do.

以上のように説明されているのですが、どうも今ひとつ意味が分かりません。
どなたか教えてください。お願いします。

→  ここからの引用です(Event Data)

田中求之 さんからのコメント
( Thursday, October 12, 2000 15:38:03 )

osax を作り始めたときに読んで、osax には関係ないと放っておいたフラグ
なんですが、ようするに、アプリケーションの管理下にあるオブジェクトの
状態に変化をもたらす(アプリケーション自身の状態も含めて)イベントで
あるかどうかを表すフラグということでよいと思います(私はそう読みました)。

たとえば、Finder でファイルを移動したり削除したり名前を変更するという
ことは、ファイルという Finder が管理しているオブジェクトの状態に変化
をもたらすことになりますよね。このようなイベントの場合には ChangeState
のフラグを立てる。一方、名前や更新日などの情報を得るものの場合には
オブジェクトの状態にはなんら変化をもたらさない(影響を与えない)の
で ChangeState のフラグを立てる必要はない、ということだと思います。

EightyRez (Freeware になってます)のような aete 編集ツールで Finder
を開いて、各イベントの changeState フラグの状態を確認してもらえば
分かると思います。たとえば、Finder の Standard Suite の Event のうち

ChangeState フラグが立っているもの:
open, quit, close, delete, duplicate, make, move, select

ChangeState フラグが立っていないもの:
print, count, data size, exists

となっています。

… UVJ Mailer と mboxer の suite のこのフラグの設定を忘れてた (^_^;;
修正しなくっちゃ…

野本夏俊 さんからのコメント
( Thursday, October 12, 2000 20:53:40 )

なるほど、パラメタのフラグだと思いこんでいましたが、あれだけはイベントのフラグなんですね。
EightyRezでも「Changes state」だけは別になっていますね。
EightyRezダウンロードしました。これは使いやすそうですね。

ありがとうございました。これでやっと全体が理解できました。