過去の桐井戸端BBS (桐ver.9)
22453 #表番号取得の関数でWindows98では整数が入るのにWindowsXPでは何も入らない 大原孝一 2003/09/22-15:56
関数 #表番号取得について

一括処理にて、次ぎのようにした。

変数宣言 固有,文字列{&表ファイル}
変数宣言 固有,整数{&表番号}

&表ファイル=ABCD.TBL
表 &表ファイル
代入 &表番号=#表番号取得(&表ファイル)
編集表 &表番号

このとき、MsWin98 Second Edition 4.10.2222A では&表番号に整数が入るのに、
MsWinXP Home Edition Ver2002 SP-1 では&表番号が空白で、編集表が無効の表番号となる。

この関数はXPに対応してなかったっけ?

22454 Re:関数 #表番号取得について 悲しげ 2003/09/22-18:13
記事番号22453へのコメント
どもっ、大原さん

OSの違いについてはよく判りませんが、とりあえず

>表 &表ファイル
>代入 &表番号=#表番号取得(&表ファイル)

のところは

  表 &表ファイル
  代入 &表番号=#is表

と記述した方が簡単です。#表番号取得関数は、私は多重化表がらみでしか使っていません。

ついでに云えば、「&表番号」変数は、桐のイベントハンドラが
自動的に宣言する自動変数にもありますから、念のため別な名にしておいた方が無難な気がします。
私はそれで泣いたことがあるので、その後は例えば「&表No」等
を使っています。

以上、直接のお答えではありませんが。(^^;)
22458 Re:関数 #表番号取得について 佐田 守弘 2003/09/22-23:51
記事番号22453へのコメント
大原孝一さん
私は、「#表番号取得」関数は使った事がありません。
私が表番号を調べる時には、悲しげさんが書かれているのと同じ「#is表」関数を使います。
これは編集対象表の表番号を返す関数です。

試しに大原さんが書かれた一括を試してみましたが、私のマシンでは、表番号が取得されました。

試した環境は、以下の通りです。
OS Windows Xp sp.1 (Home Edition) 現時点で最新版
桐 桐ver.9 sp.1

なお、細かい話でいえば、
&表ファイル="ABCD.TBL"
の様に、ファイル名をダブルクォーテーションで囲みました。
また変数は共通変数に変更しました。

佐田守弘(KS-00119)
22468 Re:関数 #表番号取得について 大原孝一 2003/09/24-12:38
記事番号22453へのコメント
悲しげ様、佐田先生 ありがとうございました。m(_ _)m
両先生のアドバイスをすべて確認いたしました。
原因、結果を御報告いたします。

原因は&表ファイルという変数の中身にありました。
ファイル名をダブルクォ-テイションで囲んでなかったからです。

&パス=C:\・・・
&表ファイル=&パス+”ABCD.tbl”とし
以下の一括処理をしていました。
表 &表ファイル
代入 &表番号=#表番号取得(&表ファイル)
編集表 &表番号
この場合、&表ファイル=”フルパスファイル名”でなければいけないようです。

変数宣言の固有、共通はどちらでも使えました。

「&表番号」変数はイベントハンドラが自動的に宣言する自動変数にもある・・・のご意見
非常にありがたく思いました。

今後は、今使用の表を確認する方法は「#is表」にし、「表番号」は「表No」にします。(^^ゞ

戻る