PB 電子会議室

コメント

発言No. 更新日 題名(クリックすると発言内容と関連するコメントが表示されます)
9071 99/11/04 17:20:24 RE(2):PBの開発になれない By てとらぽっと
9039 99/11/04 01:12:05 RE(1):PBの開発になれない By M.M
9036 99/11/03 02:19:23 PBの開発になれない By セイジ

カテゴリ:その他
日付:1999年11月04日 17:20 発信者:てとらぽっと
題名:RE(2):PBの開発になれない

セイジさん、こんにちは。

>私は、PB開発歴約半年です。
>その前は約5年ほど汎用機で開発をしていました。
>そのせいかどうかわかりませんが、なかなか、コーディングがうまく進みません。
>特にウインドウ間のデータのやり取りなど、なかなかイメージ出来にくく、はかどりません。

どうやって勉強するかは M.Mさんのコメントに同意します。

「ウインドウ間のデータのやり取り」というポイントに絞って言えば、
COBOLの変数と同じ感覚でグローバル変数を使ってしまわないようにしてください。

あるウィンドウが持つ情報なら、そのウィンドウのインスタンス変数に保持すべきです。
またコントロールの情報は、下手に変数に持たずに、いちいちになりますが
そのコントロールのプロパティ等を調べたほうがユーザーが見ているものと
内部処理とで不一致を起こすことがありません。

それと、グローバル変数とMDIフレーム以外は、
必ずしもそのオブジェクトが存在するとは限りませんから
使う前にはそれが有効であるか、必ず確認します。

という前提で、【特定のウィンドウ間】のやりとり、
window_A から window_B の情報を知りたい時は、

if IsValid(window_B) then
 window_Bのインスタンス変数の値、DW、コントロールの状態を調べる(データを得る)。
 window_Bの関数・イベントを呼び出し、window_B に処理をさせる。
end if

というのが多くなってくると思います。


ウィンドウを開く時に情報を与えておく場合は、
OpenWithParm() などで必要なパラメータを渡しておきます。

呼び出し元のウィンドウをパラメータにしてしまう【大味な仕様】も見かけますが、
面倒でも構造体を作って必要なパラメータだけを与えるようにしましょう。(笑)
構造体にはオブジェクト型も含められますから、
必要なら DW などのコントロールをパラメータにすればいいのです。

こんなもんでヒントにでもなれば…。


付加情報:

PowerBuilder Version (記載なし)

Client SoftWare

OS (記載なし)
DBMS (記載なし)
Browser (記載なし)

Server SoftWare

OS (記載なし)
DBMS (記載なし)
WebServer (記載なし)

PowerSpaceの運営は、パワーフューチャー株式会社が行っております。
Copyright © 2013 Power Future Co., Ltd.