過去の桐井戸端BBS (桐ver.8)
3375 フォームからマウスクリックで別のフォームを表示させたい 1999/11/18-11:28
オーバーラップ形式のA.wfmでA.tblを表示している状態で、
マウスクリックのみでA.wfmとA.tblを閉じて、
オーバーラップ形式のB.wfmでB.tblを表示させたいのですが

一括処理ではチャイルド形式になってしまいます
コマンドボタンの機能を利用するとオーバーラップ形式からは
フォームが開けないようです

イベント処理では可能でしょうか

バージョンはV8SP2です
3376 Re:オーバーラップ表示 悲しげ 1999/11/18-13:30
記事番号3375へのコメント
どもっ、柏さん、
できます。

以上、終わり。だとちょいと淋しいので(^^;)、もう少し書きます。
イベントでは、一番初めに開いたフォームがオーバーラップであれば、
そこから呼び出すフォームは(各フォームのオブジェクト属性設定の
いかんに関わらず)全てオーバーラップとなるようです。
3377 Re:オーバーラップ表示 1999/11/18-13:58
記事番号3376へのコメント
悲しげさん レスありがとうございます

この操作を一括処理で実行する場合

 終了 表
 表 "B.tbl",使用フォーム="B.wfm"

と記述していました

まったく、同じようにコマンドボタンにイベントのマウス左クリックで記述し
たのですが

フォームに組み込まれている状態ではこのパラメータは使用できません 使用フォーム
B.wfm

というメッセージが返ってきます

イベントでは記述方法が変わるのでしょうか?
ご教示いただければ幸いです

3385 オーバーラップ云々ではなく 悲しげ 1999/11/18-19:55
記事番号3377へのコメント
どもっ、柏さん、
イベントは、v8ではフォームからイベントを呼び出すのですが、
呼び出し元であるところのフォーム(及びその編集対象表)をイベントの
途中で閉じることはできません。
その理由は、閉じてしまうと、そのイベントを終了した後の戻り先が無くなってしまう
からだと思います。
私も最初は不思議に思いましたが、よくよく考えてみると当然の仕組みだと了解できました。
それと、フォームの編集対象表自体は、そのフォームが閉じる時
に付随して自動的に閉じられるため、意識的に閉じる必要はない
(と云うか任意には閉じることができない)ようです。
ついでに云えば、現フォームの対象表以外の表の開閉は自由です。

さて、#3375の質問はオーバーラップ表示まわりについてなのかと
思いましたが、#3377から推すに、どうやらそれ以前の問題のよう
にお見受けしました。

#3375
>オーバーラップ形式のA.wfmでA.tblを表示している状態で、
>マウスクリックのみでA.wfmとA.tblを閉じて、
>オーバーラップ形式のB.wfmでB.tblを表示させたいのですが
>一括処理ではチャイルド形式になってしまいます
>コマンドボタンの機能を利用するとオーバーラップ形式からは
>フォームが開けないようです

#3377
>フォームに組み込まれている状態ではこのパラメータは使用で
>きません 使用フォーム="B.wfm"

これらは、チャイルドならできて、オーバーラップではできない
と云うことではないような・・・・。(^^;)

次のようにしてちょっと試してみて下さい。

まず、a.tblがa.wfmの元々の(フォームで定義した)編集対象表
であるとすれば、会話処理ふうに直接a.wfmをオープンします。
するとa.tblは定義に従って付随して自動的にオープンされます。

次に、あるボタンのマウス左クリック手続き内で
 フォーム呼び出し "b.wfm"
として、b.wfmを呼び出します。つまりa.wfmは閉じずに、このフ
ォームからb.wfmを呼び出すことがポイントです(b.tblも自動的
に開かれます)。呼び出されたb.wfmでは、このフォーム用のイベ
ントファイルであるb.kev(仮称)によって必要な処理をさせた後、
最後にb.wfmを閉じて(この時、b.wfmの編集対象表であるb.tblも
付随して自動的に閉じます)、呼び出し元であるa.wfmに戻ります。

よって、

>イベントでは記述方法が変わるのでしょうか?

と云うことでは、大きく変わると云うべきなのかもしれません。

3397 Re:オーバーラップ云々ではなく 1999/11/19-09:15
記事番号3385へのコメント
悲しげさん 詳しい説明ありがとうございます

ご指示どおり「フォーム呼び出し」で開きました
呼び出し元は閉じられないのですね
悲しげさんのおっしゃるとおり、
動作中のイベントが途中で終わってしまうからでしょうか

V8になってイベント処理が追加されましたが、
まだまだ一括処理も捨てられません
イベントは一括に比べると若干コマンドも少ないようですし…

戻る