ホーム   フォーラム   FAQ
 
メインメニュー
ログイン
ユーザー名:

パスワード:


パスワード紛失

選択ウィンドウ

  • このフォーラムに新しいトピックを立てることはできません
  • このフォーラムではゲスト投稿が禁止されています
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2020-3-18 13:36
Tanda  長老   投稿数: 2151
> まさか実行版で動作が変わるとは予測してなかったので(^^;)

開発版のプログラムリポジトリからF7で実行させたタスクは、開発版自体のコンテキストで動作しています。

それに対して、実行版で動作するタスクはそれぞれが固有のコンテキストを保有しますので、並行実行が可能になります。
投票数:1 平均点:10.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2020-3-13 12:00
nkmt  長老   投稿数: 1668
並行実行したPGは、まずはメインPGが実行されると思います。
投票数:1 平均点:10.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2020-3-13 10:56
yamazawakt  長老 居住地: 山形県  投稿数: 228
nkmt さん

早速の回答有難う御座いました。
 RunMode()=0 AND CtxGetName ()='Main'
に修正したら無事に解決しました!

急いでいたので、本当に助かりました(涙)
まさか実行版で動作が変わるとは予測してなかったので(^^;)

いつも本当に有難う御座います。

また、何かありましたら宜しくお願い致します。

投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2020-3-13 10:51
nkmt  長老   投稿数: 1668
初期メニューの実行条件を
RunMode()=0 AND CtxGetName ()='Main'
にしてみてください。
多分解決すると思います。
投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2020-3-13 10:45
yamazawakt  長老 居住地: 山形県  投稿数: 228
nkmt さん


その後ですが、実行版でテストを行ったところ選択ウィンドウを
表示させるボタンをクリックすると何故か初期メニュー画面
が表示されてしまいます。
(開発版だと問題ないのでびっくりしています)

初期メニュー画面はメインプログラムのタスク前に
runmode()=0を条件にプログラムコールで初期メニューの
プログラムを起動させています。

メインプログラムには今回のグローバルイベントのみの登録
で他は何もないのですが・・・このグローバルイベントが
関係しているのでしょうか。


何かお分かりになればアドバイス頂けますと大変助かります。

投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2020-3-10 9:17
yamazawakt  長老 居住地: 山形県  投稿数: 228
nkmt さん

おっしゃるとおりで、呼ぶ呼ばれるどちらのウィンドウも
小さければ良かったのですが・・・

でも、ここまで実現できただけでも十分です。
有難う御座いました。

また、何かありましたら宜しくお願い致します。
投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2020-3-9 16:03
nkmt  長老   投稿数: 1668
良かったですね。

呼び出し側に受信ボタンを設けているので、呼び出し側を
クリックすれば、品名選択画面は後ろになるでしょうね。

私の場合は、品名選択のような呼ばれる側の画面に「渡す」ボタン
を用意しましたので、そこを操作している間は選択画面が
前面表示です。

呼び出し元も
呼ばれる側もウィンドウサイズが小さくて
MagicのMDIフォームが小さければ、どちらも画面に見えたまま
という事にはできると思いますが、今回はフォームの大きさ
が限られているとの事でしたね。
投票数:1 平均点:10.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2020-3-9 15:14
yamazawakt  長老 居住地: 山形県  投稿数: 228
nkmt さん


再度のご教示有難う御座いました。

おかげさまで無事に思っていた形の機能にすることができました。
アドバイス頂けなかったらいくら時間を掛けても解決できなかったです(^^;)本当に助かりました。

最後にこの呼ばれた側ウィンドウを出来れば常に最前面に
表示できればと考えております。
(呼ぶ側のウィンドウに切り替えると上記ウィンドウが後ろに
隠れてしまうためです)

もし、良い方法をご存じであれば教えて頂けますと幸いです。
投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2020-3-7 21:58 | 最終変更
nkmt  長老   投稿数: 1668
> 代入できていた値が消えてしまいます。

予想ですが、項目更新で値をセットされてますか?
入力を伴わないので、レコード後処理を通過しないと思います。
項目更新の強制更新をYESにしてはいかがでしょうか。

あるいは レコード書き込みイベントを発行。


> 呼ばれた側は、そのイベントを呼んだ側へ発行。

これは呼ばれた側が
呼ぶ側へイベントを発行する際、
 イベント発行のプロパティ→出力先コンテキストに
  呼び出し元からもらった
  CtxGetname() の値を式で指定しております。
投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2020-3-7 17:12
yamazawakt  長老 居住地: 山形県  投稿数: 228
nkmtさん

詳細の方法を記載頂き大変有難う御座います。

早速トライしておりまして、徐々に理想に近い動きにはなっておりますがまだ完全ではありません。。

選択画面から渡したい値を呼び出し側に受信ボタンを設けて項目枠に代入はできるのですが、一旦別の行にカーソルを移してから
再び戻ると代入できていた値が消えてしまいます。

>呼ばれた側は、そのイベントを呼んだ側へ発行。

この部分が私の方で理解できておりませんので
この辺りが影響しているのでしょうか・・
(的外れであればすみません)

引き続きアドバイス頂けますと助かります。

申し訳ありませんが宜しくお願い致します。
投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2020-3-6 19:15
nkmt  長老   投稿数: 1668
呼ぶ側は、CtxGetname()をパラメータで渡しております。
(呼ばれる側は、それを当然受け取る。
 誰から呼ばれたか把握必要。)

並行実行の場合、子タスクなどと違い親子関係無いし
呼んだ時点で関係が終了している。非同期。

メインPGにグローバルのイベント名を設定しております。

呼ばれた側は、そのイベントを呼んだ側へ発行。


私の場合、選択画面で渡したい値をSharedValSet
呼び出し側でSharedValGetを用いて値取得。

物理的にDBへ保存して受け渡す方法もあるかもしれませんが
キャッシュなどの問題でうまくいくか気になります。

投票数:0 平均点:0.00

なし Re: 選択ウィンドウ

msg# 1.2.2.1.1
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2020-3-6 18:07
yamazawakt  長老 居住地: 山形県  投稿数: 228
nkmtさん

承知致しました!

早速試してみます(^^)

有難う御座います。
投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2020-3-6 17:48
nkmt  長老   投稿数: 1668
タスク特性で
並行実行というのがあります。
SDIウィンドウにして別枠で単独画面にするのが
いいと思います。

最近はよく使う伝票入力画面や
売上問合せ画面などは
並行実行で1日中起動しっぱなしにする事が多いです。
投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2020-3-6 17:35
yamazawakt  長老 居住地: 山形県  投稿数: 228
nkmt さん

すみません。
この別途開きっぱなしというのはどのような方法で
実現しているのでしょうか?
投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2020-3-6 17:20
yamazawakt  長老 居住地: 山形県  投稿数: 228
nkmt さん

マルチマークもひとつの方法として頭にはあったのですが
今回は仕様上使えなくなった為に難儀しておりました。

まずはヘルプを参考にしてみます!
投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2020-3-6 17:18
yamazawakt  長老 居住地: 山形県  投稿数: 228
nkmt さん

いつも有難う御座います。

確かにありますね。
確認してみます!
投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 .2 | 投稿日時 2020-3-6 15:12
nkmt  長老   投稿数: 1668
私は伝票入力画面から、
参照伝票ウィンドウを別途開きっぱなしにして
参照伝票ウィンドウで、マルチマークで複数行選択し
それを呼び出し元伝票入力画面に、複数行インサート
されるような事をしております。
投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2020-3-6 14:16
nkmt  長老   投稿数: 1668
マジックのヘルプ
→ マルチタスクの説明が参考になると思います。
投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 .2 .3 .4 .5 .6 .7 .8 | 投稿日時 2020-3-6 14:01
yamazawakt  長老 居住地: 山形県  投稿数: 228
お世話になります。

親タスクの品名項目に子タスクのウィンドウで選択した
品名を代入するオンラインプログラムを製造中です。

親タスク側のフォームはライン形式であり、上記の品名項目
を上から順に子タスクウィンドウから選択代入していく仕様ですが
この子タスクウィンドウを一度開いたらそのままの状態で残して
次行の品名を選択入力したいと考えています。

サブフォームを使用すれば可能かと思いますが
(試してはいませんが・・)
フォームの空きスペースの関係上こちらは使用不可となっております。

他に方法が無いかと色々とやっておりますがうまくいってくれません。

どなたか過去に同じ事例をお持ちの方いらっしゃいましたら
ご教示頂けますと幸いです。

宜しくお願い致します。

投票数:0 平均点:0.00

  条件検索へ


Copyright (C) Magic Software Japan K.K. All Rights Reserved.
個人情報保護方針 会員規約