過去の桐井戸端BBS (桐ver.8)
10696 method でサブフォームの表示・訂正をきりかえるには ぐりま 2001/04/05-02:11
kev でサブフォームの表示・訂正を切り替えるときコマンドボタンを作らずにやろうと思い、

メソッド呼び出し @subform. 更新モード設定( 2 )
 */ subform は サブフォームのオブジェクト名

とやったところ、
「KU1070:指定されたメソッドは存在しません」
といわれてしまいました。 どこが悪いのでしょうか?

メソッド呼び出し @フォーム. 更新モード( 2 )

ではメインフォームが訂正状態になってしまいますし、表示/訂正のコマンドボタン(t表示トグル)をつくって
メソッド呼び出し @subform.@t表示トグル.実行()ならばうまくいきます。

コマンドボタンでうまくいくので問題はないのですが、上記のコマンドでなぜできないのでしょうか。
10697 Re:method でサブフォームの表示・訂正をきりかえるには 悲しげ 2001/04/05-11:00
記事番号10696へのコメント
どもっ、ぐりまさん

話の前提として、kevをメイン用のものとサブ用のものとふたつ使うか、あるいはひとつのkevで共用するか、
と云う設計の考え方があるのですが、どうやら後者のものとしてコメントします。

メソッド呼出し ハンドル=&hwindow,\
        @subform.@フォーム.更新モード設定(2)

で試してみて下さい。
10696での例示は書き漏らしたのかもしれませんけど、オブジェクトの階層的連記がありませんよね。
それと、これはフォーカスがメインとサブどちらに在るのかによるのかもしれませんので、
メインのハンドル番号たる&hwindowを明記しておく必要があると思います。

10698 Re:method でサブフォームの表示・訂正をきりかえるには ぐりま 2001/04/05-12:19
記事番号10697へのコメント
悲しげさんどうもありがとうございます。
ちゃんと動きました。
ちなみに、&hwindow のハンドルなしでも動きました。

>話の前提として、kevをメイン用のものとサブ用のものとふたつ使うか、
>あるいはひとつのkevで共用するか、と云う設計の考え方があるのです
>が、どうやら後者のものとしてコメントします。

フォームごとにkevを作っていくとkevファイルであふれてしまうので
K3はお勧めしないとマニュアルに書いてありましたが、
あまりたくさんkevを作らないようにしています。

>10696での例示は書き漏らしたのかもしれませんけど、オブジェクトの
>階層的連記がありませんよね。

フォームは、メインフォーム(@フォーム)の下にサブフォーム(@subform)がひとつあるという構造です。
うまくはいったのですが、
  メソッド呼び出し @フォーム.@subform.更新モード設定(2)
だとばかり思っていましたが、だめだったのです。
  メソッド呼び出し @subform.@フォーム.更新モード設定(2)
と教えていただき、よく考えたらなるほど・・・と・・。
うーん。わかりにくかった。

kev ファイル利用の練習にとイベントにこだわってやっていますがだんだん「一括処理(cmd)の方がかんたんだな・・」
と思う今日このごろです。
10699 Re:method でサブフォームの表示・訂正をきりかえるには 宮城 2001/04/05-12:43
記事番号10698へのコメント
ぐりまさん、こんにちは。

>ちなみに、&hwindow のハンドルなしでも動きました。

メイン・サブをセットとして、ワンセットしか開いてなかったのですね。

>フォームごとにkevを作っていくとkevファイルであふれてしまうので
>K3はお勧めしないとマニュアルに書いてありましたが、

こちらが問題。本当ですか? 信じられなくて、探していますがそういう記述はまだ見つかりません。

フォーム毎に KEVを作っていかないとわかりづらくてしかたがない、というのが私の見解です。
同名にするのが原則だと思います。

同一 KEVを複数フォームで兼用していい場合のほうが例外であろうと考えています。

10700 Re:method でサブフォームの表示・訂正をきりかえるには 悲しげ 2001/04/05-13:51
記事番号10698へのコメント
どもっ、ぐりまさん、動いてよかったですね。
ところで、私からも逆質問させて下さい。

>ちなみに、&hwindow のハンドルなしでも動きました。

たまたまフォーカスがメイン部に在ったからではありませんか?
それとも、フォーカスがサブ部に在ってもハンドル指定抜きで動くんだったっけ?(未確認)
すいません、この辺をちょっと試して教えて下さい。(^^;)

>フォームごとにkevを作っていくとkevファイルであふれてしまうので
>K3はお勧めしないとマニュアルに書いてありましたが、

これってマニュアルの何処に書いてますか?(自分で探せばいいのに、モノグサ)(^^;)
ちなみに私も(マニュアルを読んでないのに)この頃はkevの共用を色々試しています。
その際に留意すべき点は、やはり&hwindowの指定と、オブジェクトの階層的連記でしょうね。

>だんだん「一括処理(cmd)の方がかんたんだな・・」と思う今日このごろです。

かも。
でもイベントじゃないと出来ない処理って結構ありますしね、特にメイン&サブはcmdからの扱いは難しいのでは?

関連話題がありますが、別件っぽくなるので別稿とします。

10706 やはりイベントはフォーム毎に 佐田 守弘 2001/04/05-16:29
記事番号10698へのコメント
ぐりまさん
#10705でも書きましたが、イベントファイルとフォームとは1対1で作った方が、後々に禍根を残しません。
共有できない訳ではないのですが、よほど注意深く作らないと、重複して実行してはいけない事を実行しようとして
エラーになったり、1回だけ起きるべきイベントが何回も起きるといった挙動不審な事の根源になります。

もちろん最初からイベントの構成を決めてしまい、後からの改変は絶対に行わない、
改変する時にはその改変が問題ないかをチェックできるドキュメントとチェックシートを作ってあるなら別です。
そうでなく、試行錯誤的にイベントを改良しようとすると、いつの日にか落とし穴にはまり、
予期せぬトラブルが生じるおそれがあります。

その時にイベントの共有に問題がありと、気がつけばよいのですが、往々にしてそれには気がつかず、
発生したエラーメッセージと、エラー発生行のみに目が行ってしまい、原因の追及ができない事が多いのです。

佐田守弘(KS-00119)
10720 Re:method でサブフォームの表示・訂正をきりかえるには ぐりま 2001/04/06-05:15
記事番号10698へのコメント
>フォームごとにkevを作っていくとkevファイルであふれてしまうので
>K3はお勧めしないとマニュアルに書いてありましたが、
>あまりたくさんkevを作らないようにしています。

誤解を受けるような書き方をしてしまいました。
「K3は(共有は)勧めないらしいけれどもkev ファイルを共有できそうなところは共有しています」
ということを書きたかったのでした。
ちなみに、マニュアルで読んだのかどこで読んだのか不確かです。ごめんなさい。

イベント処理は、フォームを開いただけで一連の処理を動作させることができて、取り回しがいいな、
と思い現在勉強中です。
まだまだ苦労していますが、一括処理でまとめて記述したほうがわかりやすかったり・・
でも、イベントの魅力も皆さんのおっしゃるとおりです。
少しずついいとこ取りで作っていくこととします。
kevファイルの共有にしてもオブジェクトの命名に非常に気を使いますしあとあとのメンテを考えると大変そうですね。
まー、やってみて実感して学習するという のろいペースでがんばります。

どうもありがとうございました。これからもよろしくおねがいします。

10722 Re:method でサブフォームの表示・訂正をきりかえるには 悲しげ 2001/04/06-12:27
記事番号10720へのコメント
どもっ、ぐりまさん
文章の順序で意味が全く逆になってしまう例でしたね。(^^;)

>フォームごとにkevを作っていくとkevファイルであふれてしまうので
>K3はお勧めしないとマニュアルに書いてありましたが、
>あまりたくさんkevを作らないようにしています。

これだと(読点も無いし)普通に読めば「K3はフォームの共有を勧めている」ことになりますが、ここを

>>K3は(kev共用を)お勧めしないとマニュアルに書いてありましたが、
>>フォームごとにkevを作っていくとkevファイルであふれてしまうので
>>(私は)あまりたくさんkevを作らないようにしています。

のように入れ替えると、意図したとおりに解釈できますから。(^^;)

戻る