X作成講座 on TC(1) コンパイル手順
取りあえず足し算をするXを作ってみましょう。私はこれでXを覚えました。基礎の基礎です。
−・−・−
まず最初にTCを立ち上げると開くプロジェクトを尋ねて来ますので、ここで「新規」ボタンをクリックします。開発するXごとにフォルダを用意するので「フォルダを作成」はチェックし、ANSI はXではそのまま使えないので empty Project を作ります。
Xの名前を Tasu にすると「 Tasu ∫」というフォルダが出来、その中に「 Tasu 」というプロジェクトファイルが出来ます。このプロジェクトファイルがこれから作るXについての全ての情報を管理する大事なファイルになります。
Tasu.π というウィンドウが開かれ、そこには何も登録されていないことを確認して下さい。
−・−・−
次にソースを入力します。
「ファイル」メニューから「新規」を選ぶと新しいウィンドウが開きますので、以下のソースを入力します。
// --------------------------------
// Tasu.c
// for THINK C
// --------------------------------
#include "HyperXCmd.h"
/* ---------- main ---------- */
pascal void main( XCmdPtr paramPtr ) {
long n1, n2;
Str255 theStr;
ZeroToPas( paramPtr, *paramPtr->params[0] , theStr );
n1 = StrToNum( paramPtr, theStr );
ZeroToPas( paramPtr, *paramPtr->params[1] , theStr );
n2 = StrToNum( paramPtr, theStr );
NumToStr( paramPtr, n1 + n2, theStr );
paramPtr->returnValue = PasToZero( paramPtr, theStr );
}
ソースを入力し終わったら「Tasu.c」とでも名前を付けて保存します。そしてそのまま「ソース」メニューの一番上の「 'Tasu.c' を追加 」を実行します。現在開いているソースをプロジェクトに追加するメニューです。「ソース」メニューの「ファイルを追加...」でも構いません。これで「 Tasu.c 」が「 Tasu.π 」ウィンドウに登録されます。
−・−・−
コンパイルするにはまだファイルが足りません。
「ソース」メニューの「ファイルを追加...」を選んで、出てきたダイアログで THINK C for Macintosh フォルダの Mac Libraries フォルダを探して下さい。ここに MacTraps と HyperXLib というファイルがあります。(他にもいっぱい)
ファイル名を選択して「追加」ボタンをクリックします。(もしくはファイル名をダブルクリックします) すると、選んだファイルがダイアログの下のフィールドに表示されます。MacTraps と HyperXLib を登録したら、「終了」ボタンをクリックしてダイアログを抜けます。
「 Tasu.π 」ウィンドウに
HyperXLib
MacTraps
Tasu.c
の3つが表示されました。(順序は問わず)
MacTraps にはマックの基本的なルーチン、HyperXLib にはハイパカのルーチンの情報が入っています。Tasu.c は先ほど入力したソースですね。
これでファイルは揃いました。Xを作成する時は最低でもこの3点セットが必要になります。
−・−・−
まだコンパイル出来ません。次にやるべきはプロジェクトの型の登録です。
「プロジェクト」メニューから「プロジェクト型...」を選んで下さい。左に並んでいるラジオボタンから「コードリソース」を選びます。右の「ファイルタイプ」は「RSRC」、「シグネチャ」は「RSED」にします。「複数セグメント」はチェックしません。名前は「Tasu」、型は「XFCN」です。 名前以外は大文字小文字に注意。全て入力したら「OK」ボタンでダイアログを閉じます。
−・−・−
さあ、やっとコンパイルです。
「プロジェクト」メニューから「アプリケーションをビルド」を選びます。「英語」で使っている方はここが「Build Code Resource...」に変わっていると思います。(日本語訳で手を抜いたな・・・)
コンパイルが終了すると、コンパイルしたリソースを保存するダイアログが出てきます。保存法方は2種類選ぶことが出来ます。
まず「マージ」をチェックしない場合。
この場合は先に「プロジェクト型」で設定した「RSRC」「RSED」に従って、独立したファイルが作られます。(この設定では ResEdit のリソースファイル) スタックにインストールするには、改めて ResEdit でリソースファイルとスタックを開いて、手動で入れてやる必要があります。
次に「マージ」をチェックした場合。
この場合は下のフィールドに入力した名前のファイル(Xではスタック)に直接インストールされます。当然この場合はテストスタックを先に作っておかなければなりませんが、何度もコンパイルしなおすなら、この方法の方がラクではあります。
どちらでもお好きな方をどうぞ。
−・−・−
さてテストするスタックを作ります。
ボタンをひとつ作って、下のスクリプトを入れます。
on mouseUp
put Tasu( 123, 456 )
end mouseUp
どうですか?メッセージボックスに 579 が表示されれば成功です。詳しい解説はまた項を改めて。
製品版の HyperCard をお持ちでしたら、HyperCard スクリプトランゲージガイドの付録A「外部命令と外部関数」を眺めておいて下さい。Xに特徴的なのは「パラメータブロック」と「コールバック」です。非常に読み辛くて初心者に不親切ですが、必要なことは全て書かれています。
Next
THINK C Lab.
UDI's HomePage