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

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

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

■12258 / inTopicNo.1)  フォームで列スクロール中でのエラー
  
□投稿者/ Yama -(2020/04/24(Fri) 18:19:30)
    また来てしまいました。
    改めて桐V9です。OSはWin10です。

    数年前に作った(正式には教わりながら・・・)フォームでの横スクロール展開の
    イベントです。大した知識もないのにこれを加工して別のを作ろうと着手し、
    いい感じになったのですが「KU1156配列型変数の添字が定義の範囲を超えています」
    とあちこちエラーコードを探したのですがまったく理解できないでいます。

    長い説明より実際のを添付しますので、原因についてアドバイス頂ければ幸いです。
    よろしくお願いします。



syokin.zip
/46KB
引用返信 [メール受信/OFF] 削除キー/
■12259 / inTopicNo.2)  (削除)
□投稿者/ -(2020/04/24(Fri) 18:53:53)
    この記事は(投稿者)削除されました
引用返信 [メール受信/OFF] 削除キー/
■12261 / inTopicNo.3)  Re[1]: フォームで列スクロール中でのエラー
□投稿者/ くおんたむ -(2020/04/24(Fri) 21:28:12)
    ONnoji様

    くおんたむです。

    私の操作ミスで、ONnoji様のご投稿された記事が
    削除されてしまいました。

    誠に申し訳ございません。

    お手数ですが、再度、ご投稿をお願いいたします。

引用返信 [メール受信/OFF] 削除キー/
■12262 / inTopicNo.4)  Re[2]: フォームで列スクロール中でのエラー
□投稿者/ くおんたむ -(2020/04/24(Fri) 21:35:03)
    > 「KU1156配列型変数の添字が定義の範囲を超えています」

    エラーメッセージが上記の通りでしたら、宣言している配列変数が
    宣言した数値以上の配列変数を使用している事になります。

    宣言した配列変数が &変数[31]であれば、最大で使用できる配列は31です。
    もし、32や33等以上の配列をしようとすると上記のメッセージが出るのです。
    そして、エラーメッセージに行番号や、詳細が出ていると思いますが、
    そこをポイントとしてチェックする事になります。

    考えられるのが、&番号が配列の要素数を超えてしまっているので、
    エラーメッセージを出していると思われます。
引用返信 [メール受信/OFF] 削除キー/
■12263 / inTopicNo.5)  Re[1]: フォームで列スクロール中でのエラー
□投稿者/ ONnoji -(2020/04/24(Fri) 21:39:43)
    > 数年前に作った(正式には教わりながら・・・)フォームでの横スクロール展開の
    > イベントです。大した知識もないのにこれを加工して別のを作ろうと着手し、
    > いい感じになったのですが「KU1156配列型変数の添字が定義の範囲を超えています」
    > とあちこちエラーコードを探したのですがまったく理解できないでいます。
    >
    > 長い説明より実際のを添付しますので、原因についてアドバイス頂ければ幸いです。
    > よろしくお願いします。
    >

    まず、資金メイン.wfm に利用者コード(パスワード)が設定されていますので、内容を確認できません。

    利用者コード(パスワード)を解除したファイルを改めて添付してください。

    なお、

    ・どのフォームを開いて、

    ・どういう操作をすると

    「KU1156:配列型変数の添字が定義の範囲を超えています」のエラーになるのか位は提示してくださいね。

    見れば分かるでしょうで、ファイルだけ丸投げされても、見せられた方は困ります。

    <追伸>

    なお、ダウンロードコーナー#141の宮田氏の作品の「桐ver8 列固定式の一覧表形式フォーム」に関しては、

    当方は作者ではありませんので、まったく手が付けられません。バンザイです。\(-o-)/

    作者の宮田さんに聞いていただくのが一番だと思いますよ。

    > 数年前に作った(正式には教わりながら・・・)フォームでの横スクロール展開の

    これですね。10年以上前ですけれど・・・
     ↓
    ■273 / 親階層)  列固定に集計関数も移動させたい|DOWN LOAD BBS
    □投稿者/ やまもと -(2009/08/29(Sat) 16:20:07)
    http://tayu.o0o0.jp/bbs/kiri/cbbs.cgi?mode=all&namber=273&type=0&space=0&no=2



引用返信 [メール受信/OFF] 削除キー/
■12264 / inTopicNo.6)  Re[2]: ご心配無用
□投稿者/ ONnoji -(2020/04/24(Fri) 21:42:46)
    > 私の操作ミスで、ONnoji様のご投稿された記事が
    > 削除されてしまいました。

    いえいえ、私( ONnoji )が投稿を削除したのですよ。ご心配無用。

引用返信 [メール受信/OFF] 削除キー/
■12265 / inTopicNo.7)  Re[3]: ご心配無用
□投稿者/ くおんたむ -(2020/04/24(Fri) 21:44:42)
    > いえいえ、私( ONnoji )が投稿を削除したのですよ。ご心配無用。

    くおんたむです。

    そうでしたか。

    たまたま、同じタイミングだったという事でしょうか。

    分かりました。
引用返信 [メール受信/OFF] 削除キー/
■12266 / inTopicNo.8)  Re[3]: フォームで列スクロール中でのエラー
□投稿者/ くおんたむ -(2020/04/24(Fri) 21:46:42)
    先ほどの投稿に一つだけ漏れておりました。

    フォームを確認しないとエラーメッセージの真意が確認
    できないのです。
    オブジェクトの構成によっては違うエラーになる場合も
    あります。

    以上でした。
引用返信 [メール受信/OFF] 削除キー/
■12267 / inTopicNo.9)  Re[2]: フォームで列スクロール中でのエラー
□投稿者/ ONnoji -(2020/04/24(Fri) 23:23:59)
    2020/04/25(Sat) 00:04:15 編集(投稿者)

    ■syokin.kev の 62行め

       &番号=#条件選択(&D列="[賞金額17]",0,&D列="[賞金額18]",1,&D列="[賞金額19]",2,&D列="[賞金額20]",3,&D列="[賞金額21]",4,&D列="[賞金額22]",5,
    &D列="[賞金額23]",6,&D列="[賞金額24]",7,&D列="[賞金額25]",8,&D列="[賞金額27]",9,&D列="[賞金額28]",10,
    &D列="[賞金額29]",11,&D列="[賞金額30]",12,&D列="[賞金額31]",13)

    ↑この部分で、

    &D列="[賞金額25]",8,&D列="[賞金額27]",9,&D列="[賞金額28]",10,

    ↑のように、&D列="[賞金額25]",8 の次が、&D列="[賞金額27]",9 になっていますね。

    ということで、この場合、&D列="[賞金額26]"の時に、&番号 の値は未定義値になります。

    ここは、

    &D列="[賞金額25]",8,&D列="[賞金額26]",9,&D列="[賞金額27]",10,&D列="[賞金額28]",11,

    と、&D列="[賞金額26]",9, を挿入して、以降の数値を1づつ増やすのが正しいのではありませんか?。

    <結論>

    「KU1156:配列型変数の添字が定義の範囲を超えています」のエラーになる理由は、

    62行めの実に単純なケアレスミスで、

     オブジェクト操作 @a賞金名1{ソース=&ソース[&番号+1]} の際に、&番号 が未定義値であったからです。

    「配列型変数の添字が定義の範囲を超えています」を見ると要素数をオーバーしていると思うでしょうけれど、

    実際には、要素数が未定義値 → 要素番号 1 〜 31 の範囲外という意味だったんですね。

    エラーメッセージが分かり難いのですが、これはどんなソフトも似たりよったりなので、とにかく慣れるしかありませんね。

    さて、これでエラーの原因の1つは解消すると思いますが、62行め付近にはまだ他にもエラーを誘発する場所がありますよ。

    それは、&ソース[&番号+17] の &番号+17 が 31 を超える場合です。※ &番号=&番号+1 で &番号 が 15になる場合!

    62行め〜65行めをよく見直してください。※私には何度見てもこの部分のロジックが非常に分かりにくいので手を付けません。

    ↑これは、そちらの自力で解決できるだろうと思います。

     ◇ ◇ ◇ ◇

    今回これを発見したのは、

    [トレース出力]ウィンドウに &番号 の値を表示して、値が未定義値になることを見出したからです。

    さらに、値が未定義値で「KU1156:配列型変数の添字が定義の範囲を超えています」のエラーになることを経験的に知っていたので、

    syokin.kev の 62行めにたどり着いたというわけです。

     ◇ ◇ ◇ ◇ ◇ ◇

    おそらく、syokin.kev の 62行めの"[賞金額26]"のスッポ抜けがエラーの引き金になっています。

    しかし、62行め以降の条件判断にも問題があるようです。

    プログラムを書きなおしたのは貴殿自身なのですから、後は貴殿自身で解決してください。

    もう私を呼び出さないでくださいね。(@^^@)/~~~


引用返信 [メール受信/OFF] 削除キー/
■12268 / inTopicNo.10)  Re[4]: フォームで列スクロール中でのエラー
□投稿者/ ONnoji -(2020/04/24(Fri) 23:37:34)
    2020/04/24(Fri) 23:39:53 編集(投稿者)

    > 宣言した配列変数が &変数[31]であれば、最大で使用できる配列は31です。
    > もし、32や33等以上の配列をしようとすると上記のメッセージが出るのです。

    変数で指定した要素番号の値がゼロ(0)と未定義値でも、

    「KU1156:配列型変数の添字が定義の範囲を超えています」が表示されると思いますよ。(^^ゞ

引用返信 [メール受信/OFF] 削除キー/
■12269 / inTopicNo.11)  Re[5]: フォームで列スクロール中でのエラー
□投稿者/ くおんたむ -(2020/04/24(Fri) 23:43:24)
    > 変数で指定した要素番号の値がゼロ(0)と未定義値でも、
    >
    > 「KU1156:配列型変数の添字が定義の範囲を超えています」が表示されると思いますよ。(^^ゞ

    その通りです。

引用返信 [メール受信/OFF] 削除キー/
■12270 / inTopicNo.12)  Re[6]: フォームで列スクロール中でのエラー
□投稿者/ Yama -(2020/04/25(Sat) 07:22:50)
    くおんたむさん

    ありがとうございます。
    何かが何をを超えている、というのはわかるのですが
    何か?って何かということでした。
    皆さんから頂いたアドバイスをもとにやってみます。
引用返信 [メール受信/OFF] 削除キー/
■12271 / inTopicNo.13)  Re[3]: フォームで列スクロール中でのエラー
□投稿者/ Yama -(2020/04/25(Sat) 07:30:49)
    ONnojiさん

    ご無沙汰しています。
    ONnojiさん、くおんたむさん感謝しています。

    ONnojiさんには「また、こいつ!」と思われながらも相手して頂けること
    重ねて御礼申し上げます。嬉しかったです。

    頂いたアドバイスを再度、見直してみますね。
    それと利用者コード外したものを添付しましたので「いらん」と言わずに
    ちょっとだけ見てください。
    よろしくお願いします。

1587767449.zip
/46KB
引用返信 [メール受信/OFF] 削除キー/
■12272 / inTopicNo.14)  Re[3]: フォームで列スクロール中でのエラー
□投稿者/ Yama -(2020/04/25(Sat) 07:51:25)

    > それは、&ソース[&番号+17] の &番号+17 が 31 を超える場合です。※ &番号=&番号+1 で &番号 が 15になる場合!

    奮闘中です!
引用返信 [メール受信/OFF] 削除キー/
■12273 / inTopicNo.15)  Re[4]: フォームで列スクロール中でのエラー
□投稿者/ ONnoji -(2020/04/25(Sat) 10:34:44)
    2020/04/25(Sat) 13:33:12 編集(投稿者)

    >>それは、&ソース[&番号+17] の &番号+17 が 31 を超える場合です。※ &番号=&番号+1 で &番号 が 15になる場合!
    >
    > 奮闘中です!

    63行め

    修正前 条件(&番号=17) 分岐 終了

    修正後 条件(&番号=14) 分岐 終了 /* &番号=17 を &番号=14 に変更 */

    これでエラーは収まると思います。

    (例)

    手続き定義開始 フォーム::キーダウン(長整数 &仮想キーコード,長整数 &スキャンコード,長整数 &フラグ,参照 長整数 &処理中止)

      :
      :

    ┌ケース開始
    ├─ケース(&仮想キーコード=36)

    │ :
    │ :

    ├─ケース(&位置="tQ" .AND (&仮想キーコード=9 .OR (&仮想キーコード=13 .AND &Enter移動="右") .OR &仮想キーコード=39))

    │ :
    │ :

    │** 条件(&番号=17) 分岐 終了
    │ 条件(&番号=14) 分岐 終了 /* &番号=17 を &番号=14 に変更 */

    │ :
    │ :

    └ケース終了
     名札 終了
    手続き定義終了



    <追伸>

    ダウンロードコーナーの #141の 列固定検証1.kev と見比べてれば、こうなることが判るはずです。

    今後は、#141の 列固定検証1.kev と見比べて、独自に頑張ってください。

引用返信 [メール受信/OFF] 削除キー/
■12274 / inTopicNo.16)  Re[3]: はまっています・・・
□投稿者/ Yama -(2020/04/25(Sat) 10:43:02)
    ONnojiさん

    何度もすいません。いつでも構いません。
    素人ながらに何とか活用したいと思います。もう少しヒントをください。

    > &D列="[賞金額25]",8 の次が、&D列="[賞金額27]",9 になっていますね。
    @この部分を直した直後は31まで進むことが出来たのですが、ご指摘にとおり最終列を
    「配列型変数の添字が定義の範囲を超えています」というエラーが出てしまいます。

    > それは、&ソース[&番号+17] の &番号+17 が 31 を超える場合です。※ &番号=&番号+1 で &番号 が 15になる場合!
    > 62行め〜65行めをよく見直してください。※私には何度見てもこの部分のロジックが非常に分かりにくいので手を付けません。
    > ↑これは、そちらの自力で解決できるだろうと思います。

    いろいろ修正してうちに最初より変になってしまいました。
    A現在は縦列18列目にするときに添付画像のようにエラーが出てしまいました。
    エラーの「tk」というオブジェクトは存在しているし何が問題なのか何度もイベント見直しをしたのですがわかりません。

    困ったというより、まいったなぁというところです。もう少し面倒みてくれませんか?
    画像と現在のを圧縮して送りますので、なにとぞよろしくお願いします。
520×229 => 250×110

1587778982.png
/3KB
引用返信 [メール受信/OFF] 削除キー/
■12275 / inTopicNo.17)  Re[4]: はまっています・・・
□投稿者/ Yama -(2020/04/25(Sat) 10:46:00)
    作者の方というより最初はどこかにあったサンプルと同じだったので
    使わせてもらったのです。
    当時は10列でしたが、今回は31列なのです。
    放置されるのを覚悟で現状を添付します。

syokin_3.zip
/46KB
引用返信 [メール受信/OFF] 削除キー/
■12277 / inTopicNo.18)  Re[5]: フォームで列スクロール中でのエラー
□投稿者/ ONnoji -(2020/04/25(Sat) 11:01:07)
    > いろいろ修正してうちに最初より変になってしまいました。

    とうとうイジリ壊してしまったのですね。

    修正する場合には、オリジナルのコピーを取ってからするものですよ。

    ファイルを添付します。

    解凍して使ってください。

    2ヶ所は修正済みです。

    <追伸>

    ダウンロードコーナーの #141の 列固定検証1.kev と見比べてれば、こうなることが判るはずです。

    なお、当方は#141の作者ではありませんので、人様の作品を出来るだけ解析したくないのです。

    また、意見を述べることも避けたいのです。

    今後は、#141の 列固定検証1.kev と見比べて、独自に頑張ってください。

    グッドラック!

    もう私を呼び出さないでくださいね。(@^^@)/~~~

引用返信 [メール受信/OFF] 削除キー/
■12280 / inTopicNo.19)  Re[6]: フォームで列スクロール中でのエラー
□投稿者/ Yama -(2020/04/25(Sat) 13:48:04)
    できました!
    イジリ回して壊しましたが、昨日送ったフォームを再利用し
    ONnojiさんの指示通りすると列が流れるようになりました!
    嬉しいです!肩こりも飛びました!

    ところで1つ。
    フォーム下段の列ごとの合計値ですが17列目までは表示されますが
    これってフォームの数値テキストと合計値は何か紐づけされているのでしょうか。
    なんでしょうか
引用返信 [メール受信/OFF] 削除キー/
■12281 / inTopicNo.20)  Re[7]: フォームで列スクロール中でのエラー
□投稿者/ ONnoji -(2020/04/25(Sat) 14:19:11)
    2020/04/25(Sat) 14:46:33 編集(投稿者)

    > ところで1つ。
    > フォーム下段の列ごとの合計値ですが17列目までは表示されますが
    > これってフォームの数値テキストと合計値は何か紐づけされているのでしょうか。
    > なんでしょうか

    どこで拾ってきたサンプルなのか知りませんが、こういうのは作った人に聞くのが一番なんですよ。

    貴殿が自分自身で作ったのならば喜んでアドバイスいたしますが、

    結局、言われるがままの操り人形のように、言われたことしかしないのですから、当方はキッパリお断りします。

    なお、一般手続き:変更()の

     var int { &Icount,&Imax=10 } , Str { &Shgobj , &Shrobj , &Smobj , &Sname}
    ┌for &Icount=1,&Imax
    │ &Shgobj ="u"+#全角(#STR(&Icount)) , &Shrobj ="a_"+#str(&Icount) , &Smobj ="t_"+#str(&Icount)
    │ &Sname = "#合計( "+&項目[&番号+&Icount]+" )"
    │ object &Shgobj.グループソース = &Sname
    └end
     グループ選択解除
     グループ選択

    ↑の部分は、オリジナルのダウンロードコーナーの #141の 列固定検証1.kev には存在しない追加部分です。

    この部分は、 #141の作者とは違う、別人が書き加えたハズです。

    変数名の命名法に特徴があるので、この部分を作った人が見れば、自身の作品だとすぐに気が付くはずですよ。

    運よく作者その人がこの掲示板を見て回答してくれるとよいですけれどねぇ〜。

    あるいは、↑の該当部分を解析してくれる人が現われたらとてもラッキーですねぇ〜。

    しかし、私はこれ以上のお付き合いは遠慮させていただきます。

    すでに ONnoji の魔法のランプの呼び出し回数を越えています。グッドラック!(@^^@)/~~~


引用返信 [メール受信/OFF] 削除キー/

次の20件>

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

[このトピックに返信]
Mode/  Pass/

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

- Child Tree -
- Antispam Version -