プロジェクトモードでの相互指定方法は

投稿者:しのけん 投稿日:2020/08/04(Tue) 13:25:38 No.2587

こんにちは。
プロジェクトモードで、複数のプログラム間にある、画面、部品、手順等を指定する
方法が分かりません。
超簡略化した例は以下のようなものです。
ポイント
・メインとサブの2つのプログラムを作る
・メインの釦を押す(クリックする)とサブの画面を表示する
・サブの釦を押すとテキストの内容を、メインのテキスト領域に加える
試しに作成した(誤作動する)プログラムは以下の通りです。

<PJmain.rdrの内容>
(色々試して失敗した形跡(の一部)を、コメントの形でそのまま残しています。)
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー

mainを表示する
待機する

mainとは
  ウィンドウを継承する
はじめの手順
  初期化する
  ーー貼り付けた部品に対する操作をここに書きます
終わり

初期化する手順
  ーー自動生成された手順です。ここにプログラムを書き加えても消える場合があります
    この実質大きさを{270,182}に変える
    この内容を「main」に変える
    初期化開始する
    B_mainというボタンを作る
      その位置と大きさを{21,129,74,36}に変える
      その内容を「sub画面」に変える
      その移動順を1に変える
    T_mainというテキスト領域を作る
      その位置と大きさを{21,20,220,103}に変える
      その移動順を3に変える
    初期化終了する
終わり

B_mainがクリックされた時の手順
  ーー「PJsub.rdr」を開く          //単体で起動する
  ーー「PJsub.rdr」を利用する        //ライブラリエラー
  ーー内容は、「PJsub.rdr」から読み込んだもの    //
  ーー「PJsub.rdr」を実行する
  ーー「PJsub.rdr」の内容:subを表示する
  ーー「PJsub.rdr」:subを表示する  
  subを表示する
終わり

終わり
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
<PJsub.rdrの内容>
subとは
  ウィンドウを継承する
はじめの手順
  初期化する
  ーー貼り付けた部品に対する操作をここに書きます
終わり
初期化する手順
  ーー自動生成された手順です。ここにプログラムを書き加えても消える場合があります
    この実質大きさを{252,141}に変える
    この内容を「sub」に変える
    この自動調整を○に変える
    初期化開始する
    B_subというボタンを作る
      その位置と大きさを{20,85,72,34}に変える
      その内容を「追加」に変える
      その移動順を2に変える
      その自動調整を○に変える
    テキスト1というテキストを作る
      その位置と大きさを{20,46,220,22}に変える
      その行間を15に変える
      その移動順を1に変える
      そのフォントを「MS UI Gothic,11.25」に変える
    L_subというラベルを作る
      その位置と大きさを{26,16,178,12}に変える
      その内容を「入力されたテキストをmainに追加する」に変える
      その自動調整を○に変える
      その移動順を3に変える
    初期化終了する
終わり
B_subがクリックされた時の手順
  mainのT_mainへテキスト1の内容を、改行して挿入する
  終わり
終わり
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー

各プログラムを1つにまとめて実行させた場合は、正常(思い通り)に動作することを
確認済です。
なお、実際に作成(途中)のプログラムは、「関数電卓もどき」と「理工系公式集」を
合わせたようなもので、プログラム全体の行数は1万行程度、画面は10個前後、
部品・変数・手順等の総数は200〜400位になりそうなので、いくつかのプログラムに
分けて作ろうと思った次第です。
よろしくお願いいたします。

Re: プロジェクトモードでの相互指定方法は

投稿者:ゆうと 投稿日:2020/08/10(Mon) 00:51:18 No.2591

こんにちは ゆうとです。

プロジェクトモードの場合、プロジェクトにプログラムを追加すれば
自動的に相互参照されます。
(イメージとしてはプロジェクトに追加したプログラムが
ひとつづきのプログラムとまとめられて解釈されます)

そのため、特にrdrファイル名を指定する必要はありません。

なお、プロジェクトモードでない場合には、
> 「PJsub.rdr」を参照する
などと書くと参照されます。

参考になれば幸いです。

Re^2: プロジェクトモードでの相互指定方法は

投稿者:しのけん 投稿日:2020/08/10(Mon) 11:58:11 No.2594

ご回答ありがとうございます。
下記内容については、一応理解したつもりで、複数のプログラムに分けて
目的のものを作ろうとしたのですが、うまく行きません。
プロジェクトモードでの相互参照に、特別な制限、条件等があるのかと
疑問に思い、質問しました。

> プロジェクトモードの場合、プロジェクトにプログラムを追加すれば
> 自動的に相互参照されます。
> (イメージとしてはプロジェクトに追加したプログラムが
> ひとつづきのプログラムとまとめられて解釈されます)
>
> そのため、特にrdrファイル名を指定する必要はありません。
>
> なお、プロジェクトモードでない場合には、
> > 「PJsub.rdr」を参照する
> などと書くと参照されます。
>
最初の質問に上げたサンプルで試しても、期待通りの動きになりません。
実行した操作は以下のような手順ですが、どこで間違ってるかが分かりません。

1)ファイルメニューから新規作成/プロジェクトで「PJtest.rdrproj」を作る
2)アウトラインで「PJtest.rdrproj」を右クリック
  プロジェクト/既存ファイルから追加/PJmain.rdrを指定
3)同様に、PJsub.rdrを指定
4)PJmain.rdrを右クリック/「最初に実行する」を選択
5)メニューの「実行」
  ⇒main画面を表示
6)ボタン[B_main]をクリック
  ⇒【PJmain】という小さいウィンドウが表示される・・・?
   (期待する結果は「sub画面を表示する」にもかかわらず)

不明点:プログラムの「B_mainがクリックされた時の手順」にある
    「subを表示する」がその通りには解釈されていない?
     ↑ PJsub.rdr側で記述した「subとは」が参照されない?

なお、
2つのプログラムを別々に開き、PJmain.rdr側に
「PJsub.rdr」を参照する
の文を追加しても結果は同様です。
「はじめの手順」に追加、及び
「B_mainがクリックされた時の手順」に追加
を試してみましたが、駄目でした。

マニュアル、ガイドページ/ワンページマニュアル等を色々探しましたが、
詳細説明、解決方法が見つからず、ご教示いただくと幸いです。
よろしくお願いいたします。

▲ページの先頭へ

- WebForum -