まきがめのソースコードとプログラミングの解説
(p)&(c) 1994-2001 by KEN Takahashi
以下、main.c と云うファイルに含まれる doEvent() と云う関数と云う意味で、doEvent() (file:
main.c)と記載します。
まきがめのアイコンをダブルクリックした場合、普通はまだプログラムが動いていませんから、まず、main() (main.c)が呼ばれます。
main()についてはこちらをご覧下さい。
main()ではまきがめに関する各種設定が終わったら、eventLoop() (main.c)に入ります。
eventLoop() についてはこちらをご覧下さい。
eventLoop() の中で WaitNextEvent() を呼ぶと、アイコンがダブルクリックされたよと云うことで、kAEOpenApplication
と云うアップルイベントが送られてきます。そこで、doEvent() (main.c) を経由して doOpenApp() (doAppleEvent.c)
を呼び出します。
doEvent() の中で doOpenApp() を呼び出している部分は以下になります。
case kHighLevelEvent:
AEProcessAppleEvent(eventPtr);
break;
ここではdoOpenApp()を呼び出さずにAEProcessAppleEvent()を呼び出してアップルイベントを処理しています。
main() に含まれている initialize() (file: main.c) で installRequiredAppleEvent() (doAppleEvent.c)を実行しています。これで
kAEOpenApplication と云うアップルイベントが来たときは doOpenApp() を実行しなさいと指定しているのです。
まきがめが既に起動しているときにまきがめのアイコンをダブルクリックした場合は kAEOpenApplication
は送られてきません。
アイコンをダブルクリックするときはFinderが最前面に出ています。
まきがめのアイコンをダブルクリックしたので、今度はまきがめが最前面にやってきます。まきがめにはsuspendResumeMessage
(resume)が送られてきます。
まきがめのソースコードとプログラミングの解説に戻る。