このメールは、OSASK伝言板に書き込まれた内容です。 この書き込みに返事を書く場合は、下のURLから書き込みを行なって下さい http://www.imasy.org/~mone/osask/index.cgi?REFER=3d5c7c79_15d71 2002/08/16 13:15 Gaku [OSASK 4283] へのレスです。 こんちは。Gaku です。 >> タスクから別のタスクを起動する方法が分からないように思います。 > 結論から申しますと、これはすぐには提供しない機能だと思ってほしいです。 そうですか。了解です。 と、それだけと言うのも何かと思うので補足しておきます。 川合さんは、コンソールは OSASK で言う処のシェルであると言っているように見えます。 対して以下のようなイメージを今まで読んだ情報から受けたので冒頭の発言になりました。 コンソールは単にユーザアプリとして作れます。 だから、沢山の人が気軽にコンソールを作ったりしてもOKです。 そしてコンソールであるからには、 > HelloMessage Hello OSASK World !!! なんてやり取りが出来たりするでしょう。 この実現にはタスク間通信とタスク起動の2つの機能が必要でしょう。 コンソールとコンソール上で動くアプリは別のプログラムだからです。 でまぁイメージするところではコンソールはタスクを起動できなくたって良いんです。 それに HelloMessage というアプリがなくたって良いんです。 アプリはシェルにお伺いを立ててから動作するようなのでコンソールもそれに従います。 HelloMessage という文字列でタスクを起動して欲しいとシェルに知らせる訳です。 多分シェルは HelloMessage というタスクを起動してくれるでしょう。 もしかすると teditc を起動してその入力と出力をコンソールに繋ぐかもしれませんし、HelloMessage の振りで Hello Shell World !!! とコンソールに渡すのもありです。 それどころか、何もせず終了しても良いのです。 そいうことはシェルの好きにできるのでコンソールの知ったことではありません。 > ユーザがアプリに対してファイル名を指定して、そしてアプリはそのファイル名で > ファイルをオープンするという行為を原則禁止しています ご多分に漏れず次のようにイメージしていたので想定外でしたが以下のように考えました。 > a in.txt out.txt in.txt out.txt を文字列でなくファイルを開いた状態でアプリに渡すのだと思いました。 しかしアプリはファイルではなく単に in.txt out.txt という文字列が欲しいだけかも。 それに上記のように入力された文字列に何か変換をかけてファイルを開く処理をするなら アプリがシェルにファイルを開いてくれと言ったときに同じ変換を掛けても良いのでは? だとすれば、a は in.txt out.txt を文字列として受けとって、それをファイルとして 開きたいときにシェルに in.txt out.txt というファイルを開きたいと言う訳です。 シェルは多分 in.txt out.txt を開いてくれるでしょう。 しかし、そうでなくても良いわけです。てな感じでした? ところで、欲しいなぁと思っていたコンソールは以下のような感じです。 もちろん、先ほどの HelloMessage などのコンソール用のアプリを動かせます。 (いや、動かすことをシェルにお願いできる?) GUIのアプリもコンソールから起動できます。 GUIのアプリからコンソールに内容を持ってきてコピーできます。 コンソールの内容もGUIのアプリにコピーできます。 例えば、teditc とやり取りしたりする訳です。 もしかするとファイラーとやり取りするかもしれません。 その場合はファイラーが渡してくれたファイルを表す文字列を受け取るでしょう。 ファイルを表す文字列と書いたのは別にファイル名でなくても良いからです。 要はそのファイルであることをシェルが保証してくれていれば良いのです。 そういうことができるコンソールをユーザアプリとして作りたかったのですが・・。 もちろんコンソールの動作はシェルに制限されます。 シェルはユーザが制限してるのでユーザが意図しないことはコンソールにはできません。 > もしシェル(ファイラーとか)を作りたいということでしたら、それはアプリ > とは別の話です。OSASKのソースをいじるべきだと思います。えせだらけで、い > ばらの道ではありますが。 いえ。今のところそのつもりはありません。 これについてはタスク起動APIを待つことにします。 それにスクリプトを書くに当ってはグラフィックAPI以降に興味がありますし。 それでは。また。