(現在 過去ログ72 を表示中)

HOME HELP 新規作成 新着記事 トピック表示 ファイル一覧 検索 過去ログ

[ 最新記事及び返信フォームをトピックトップへ ]

■11039 / inTopicNo.1)  フォームを閉じ,桐も閉じる
  
□投稿者/ 鳴瀬 -(2018/05/04(Fri) 10:38:41)
    編集対象表のるオーバーラップフォームが1つあるから編集を特定の「フォームを閉じる」というイベント作業をした後に桐も終了したいという状況設定です。

    現状では

    終了 桐

    はイベントでは使えないということで代わりに
    フォームのワークスペースに「桐を閉じる」機能を備えたボタン「Q」を作成。
    終了時オプションとしてこのボタン「Q」を呼び出すように設定し,
    終了イベント「フォームを閉じる」では

    ウィンドウリスト取得 &実行リターン
    ウィンドウ終了 &実行リターン
    (イベント処理はこれで終了)

    で実行ウィンドウ(=フォーム)を終了させています。
    現状では何ら問題ないように動作しているように見えるのでが,ヘルプファイルによると
    ウィンドウ終了は「△自身のフォームに対しては、つねに不可」となっているのでいるのですが上記の記述に問題はないのでしょうか?




引用返信 [メール受信/OFF] 削除キー/
■11040 / inTopicNo.2)  Re[1]: フォームを閉じ,桐も閉じる
□投稿者/ ONnoji -(2018/05/04(Fri) 11:08:22)
    2018/05/04(Fri) 15:22:52 編集(投稿者)
    2018/05/04(Fri) 11:23:40 編集(投稿者)
    2018/05/04(Fri) 11:20:59 編集(投稿者)
    2018/05/04(Fri) 11:12:28 編集(投稿者)
    2018/05/04(Fri) 11:09:58 編集(投稿者)

    > 編集対象表のるオーバーラップフォームが1つあるから編集を特定の「フォームを閉じる」というイベント作業をした後に桐も終了したいという状況設定です。
    >
    > 現状では
    >
    > 終了 桐
    >
    > はイベントでは使えないということで代わりに

    [終了 桐]というコマンドはイベント処理では使えませんが、

    コマンドボタンに機能名:桐の終了 が用意されています。

    この機能を実行するコマンドボタンを、フォームの属性の[オプション]タブの[終了時]実行コマンドボタンに登録しておけば、

    タイトルバーの[×]ボタンでも、桐を終了できますよ。

    もちろん、そのコマンドボタン自身でも桐を終了できます。

    サンプルを添付します。サンプルでは[終了時]実行コマンドボタンの設定だけ使用しています。

    イベントはありません。参考にしてください。

    > ウィンドウリスト取得 &実行リターン
    > ウィンドウ終了 &実行リターン
    > (イベント処理はこれで終了)
    >
    > で実行ウィンドウ(=フォーム)を終了させています。
    > 現状では何ら問題ないように動作しているように見えるのでが,ヘルプファイルによると
    > ウィンドウ終了は「△自身のフォームに対しては、つねに不可」となっているのでいるのですが上記の記述に問題はないのでしょうか?

    当方で試しましたが、特にエラーは表示されませんね。
    初期の桐、桐ver.8などの注意事項が最新のヘルプに残っているケースが見受けられます。
    ひょっとすると、ヘルプの文言はそれに該当するのかもしれません。

    なお、桐を終了してしまうのですから、開いているすべてのファイルは、桐によって自動的に全部閉じられてしまいますよ。
    従って、ウィンドウハンドルを自力で閉じる必要はありません。
    つまり、提示の[フォーム終了]イベントとイベントハンドラは不要ですよ。




1525399702.zip
/1KB
引用返信 [メール受信/OFF] 削除キー/
■11041 / inTopicNo.3)  Re[1]: フォームを閉じ,桐も閉じる
□投稿者/ 通りすがり -(2018/05/04(Fri) 11:12:00)
    それ、
    [フォーム終了]イベントは無意味で、フォームを開いたまま、桐を終了してるようです

    それで良いですが、[フォーム終了]イベントは不要です
引用返信 [メール受信/OFF] 削除キー/
■11044 / inTopicNo.4)  Re[2]: フォームを閉じ,桐も閉じる
□投稿者/ 鳴瀬 -(2018/05/04(Fri) 17:55:02)
    No11041に返信(通りすがりさんの記事)
    > それ、
    > [フォーム終了]イベントは無意味で、フォームを開いたまま、桐を終了してるようです
    >
    > それで良いですが、[フォーム終了]イベントは不要です

    [フォーム終了]イベントとは
    ウィンドウ終了 &実行リターン
    のことですか?
    これを実行することなくボタン「Q」を呼び出せばよいということですか?
    だとしたらどのように記述すればよいですか?

    ボタン「Q」には先に書いたように機能として
    終了 桐
    を設定しています。 
引用返信 [メール受信/OFF] 削除キー/
■11045 / inTopicNo.5)  Re[3]: フォームを閉じ,桐も閉じる
□投稿者/ 通りすがり -(2018/05/04(Fri) 18:23:59)
    質問の意味が解りにくいけど、
    何かを行って桐を終了したい、って事?

    A.)
    コマンドボタンで、
    1.手続き実行 何かする
    2.桐の終了

    B.)
    イベントで
    1.proc() 何かする
    2.メソッド呼び出し 実行 (でコマンドボタン[桐の終了]を実行する)
引用返信 [メール受信/OFF] 削除キー/
■11047 / inTopicNo.6)  Re[4]: フォームを閉じ,桐も閉じる
□投稿者/ 通りすがり -(2018/05/04(Fri) 18:50:37)
    > 2.メソッド呼び出し 実行 (でコマンドボタン[桐の終了]を実行する)
    コマンドボタン[Q]のオブジェクト名が [コマンドボタン_4]だったら、

    method @コマンドボタン_4.Execute()
     とか
    メソッド呼び出し @コマンドボタン_4.実行()

    ----------
    あと、ただ桐を終了するならONnojiさんがサンプル上げてるように、
    フォーム→オプション→終了時(E) に ボタン[Q]を指定すれば、
    フォーム終了動作で、桐が終了します
引用返信 [メール受信/OFF] 削除キー/
■11048 / inTopicNo.7)  Re[2]: フォームを閉じ,桐も閉じる
□投稿者/ 鳴瀬 -(2018/05/04(Fri) 18:57:43)
    サンプル作っていただき,ありがとうございます。
    サンプル確認しましたが,あの構造は一応理解しています。
    実現したいことは
    ある表を編集して,その作業終了時に更新したレコードのみを絞り込んで
    別表に追加書き込みをした後,更新をすべて初期化(現状はすべて#Uで置換しています)して終了(つまり,実質的には破棄終了)したい。
    という処理の実現です。
    ただし(ここが問題なのですか)×ボタンでは
    別表への書き込みをしないが,更新を初期化して終了したい(=破棄終了でも可)したいのです。

    ×ボタンによる終了処理ではボタン「Q」に

    手続き実行 初期化処理
    終了 桐

    の設定で可能なのですが,自前によるインベント処理(「フォームを閉じる」)中で
    この書き込み処理をした後,桐を閉じる方法がかわかりません。

    で,現状では当初のように

    (更新レコードの絞り込みと別表への追記処理をした後で)
    ウィンドウリスト取得 &実行リターン
    ウィンドウ終了 &実行リターン

    をしています。
    再三ですがこれで問題ありませんか?
    多分,桐の動作として
    ウィンドウ終了 &実行リターン
    自身のフォームが閉じようとしているのでボタン「Q」を呼び出して,表の初期化作業をした後,桐を閉じる。という動作かな?と思っています。
    ただ,ヘルプファイルを参照する限りでは自分自身のウィンドウの終了は不可,となっているので不安がいっぱいなんです。^^;

    同時にもっとスマートなというか全うな方法(ベントの書き方)はありますか?



引用返信 [メール受信/OFF] 削除キー/
■11049 / inTopicNo.8)  Re[3]: フォームを閉じ,桐も閉じる
□投稿者/ ONnoji -(2018/05/04(Fri) 19:13:17)
    2018/05/04(Fri) 20:03:08 編集(投稿者)
    2018/05/04(Fri) 19:58:28 編集(投稿者)

    > 実現したいことは
    > ある表を編集して,その作業終了時に更新したレコードのみを絞り込んで
    > 別表に追加書き込みをした後,更新をすべて初期化(現状はすべて#Uで置換しています)して終了(つまり,実質的には破棄終了)したい。
    > という処理の実現です。

    そういう情報は、質問の最初から提示しておかれた方がよろしいですよ。

    > ×ボタンによる終了処理ではボタン「Q」に
    >
    > 手続き実行 初期化処理
    > 終了 桐
    >
    > の設定で可能なのですが,自前によるインベント処理(「フォームを閉じる」)中で
    > この書き込み処理をした後,桐を閉じる方法がかわかりません。

    機能名:終了 桐を設定したコマンドボタンを実行するだけなので、

    任意のプロシージャで、コマンドボタンをメソッド呼び出しで実行するだけだと思いますが…

    通りすがりさんも同じことを書かれていますよ。


    <例>

     手続き定義開始 フォームを閉じる( )

      *初期化処理とか

      メソッド呼び出し @コマンドボタン名.実行( ) /* 機能名:終了 桐を設定したコマンドボタン名を指定します */

      ** または メソッド呼び出し @コマンドボタン名.Execute( )


     手続き定義終了

    > で,現状では当初のように
    >
    > (更新レコードの絞り込みと別表への追記処理をした後で)
    > ウィンドウリスト取得 &実行リターン
    > ウィンドウ終了 &実行リターン
    >
    > をしています。
    > 再三ですがこれで問題ありませんか?


    > 多分,桐の動作として
    > ウィンドウ終了 &実行リターン
    > 自身のフォームが閉じようとしているのでボタン「Q」を呼び出して,表の初期化作業をした後,桐を閉じる。という動作かな?と思っています。
    > ただ,ヘルプファイルを参照する限りでは自分自身のウィンドウの終了は不可,となっているので不安がいっぱいなんです。^^;

    エラーメッセージが表示されませんので、問題ないかと思いますが、気持ち悪いですよね。(^^ゞ

    <追伸>

    「イベントでの使用 △自身のフォームに対しては、つねに不可。」

    ↑これは、イベントの場合、ウィンドウ終了でフォームを閉じる時、

    フォームが表示モードならOKなのですが、訂正モードなどでは変更中のデータが失われます。

    試してみればすぐにわかります。

    そういう意味なのかも? しれません…(^^ゞ

    しかし、これは自身のフォームとは限りませんので、

    やはり、初期の桐、桐ver.8などの注意事項が最新のヘルプに残っているケースで、

    ひょっとすると、ヘルプの文言はそれに該当するのかもしれませんね。


引用返信 [メール受信/OFF] 削除キー/
■11051 / inTopicNo.9)  Re[4]: フォームを閉じ,桐も閉じる
□投稿者/ 鳴瀬 -(2018/05/04(Fri) 22:32:57)
    >初期の桐、桐ver.8などの注意事項が最新のヘルプに残っているケースで
    私のものが最新のヘルプかどうかは不明ですがそんなこともあるんですか,,,

    ところで,いろいろ実験してみると
    ウィンドウ終了 &実行リターン
    で確かにフォームを閉じて桐も終了するですがフォームのボタン機能は実行されていないようです。
    つまり,ウィンドウ終了でエラーが発生し,桐が異常終了するからフォームも強制的に,見た目は正常に閉じらているように見える,が実態のようです。

    メソッド呼び出しは使用したことがないので今一つなのですが,教えていただいたものに変更したいと思います。
    通りすがりさんにも感謝申し上げます。ありがとうございました。

解決済み!
引用返信 [メール受信/OFF] 削除キー/
■11052 / inTopicNo.10)  Re[5]: フォームを閉じ,桐も閉じる
□投稿者/ ONnoji -(2018/05/04(Fri) 22:55:25)
    2018/05/04(Fri) 23:05:42 編集(投稿者)
    2018/05/04(Fri) 22:58:21 編集(投稿者)

    > >初期の桐、桐ver.8などの注意事項が最新のヘルプに残っているケースで
    > 私のものが最新のヘルプかどうかは不明ですがそんなこともあるんですか,,,

    書き過ぎや、説明漏れや、変更漏れ、いっぱいありますよ。

    > ところで,いろいろ実験してみると
    > ウィンドウ終了 &実行リターン
    > で確かにフォームを閉じて桐も終了するですがフォームのボタン機能は実行されていないようです。
    > つまり,ウィンドウ終了でエラーが発生し,桐が異常終了するからフォームも強制的に,見た目は正常に閉じらているように見える,が実態のようです。

    原因が不明だからでしょうけれど、とても想像力が豊かですね。

    しかし、[終了時実行コマンドボタン]が実行されなかったのは、エラーでも、異常終了でもありません。桐の仕様ですよ。

    少々長くなりますが、ヘルプを引用します。

    ■フォーム編集終了時の自動処理

    フォームのオブジェクト属性で、[終了時実行コマンドボタン]にコマンドボタンを設定しておくと、つぎの操作でフォーム編集を終了したときの処理を割り当てることができます。

    ・[表示]メニューの[一括に戻る]をクリックした。
    ・[ファイル]メニューの[閉じる]をクリックした。
    ・ウィンドウコントロールメニューの[閉じる]をクリックした。
    ・[改行方向]に[終了]を設定したテキストオブジェクトで[Enter]キーを押した。

    [ウィンドウ終了]コマンドは↑のどのケースにも該当しません。

    そして、同ヘルプのノートに次のことが書いてあります。

    ・[ウィンドウ終了]コマンドなどでフォームウィンドウを閉じた場合は、実行されません。

    つまり、[ウィンドウ終了]コマンドでは、[終了時実行コマンドボタン]は動作しないのです。

    ヘルプの画像を添付しておきます。

    今度はヘルプが見つからないと言わないでくださいね。


560×576 => 243×250

1525442125.jpg
/62KB
引用返信 [メール受信/OFF] 削除キー/



トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

Mode/  Pass/

HOME HELP 新規作成 新着記事 トピック表示 ファイル一覧 検索 過去ログ

- Child Tree -
- Antispam Version -