過去の桐井戸端BBS (桐ver.8) |
23342 | フォームから絞り込み条件を直接入力してイベントで絞り込みを行ったとき変な値を入れるとエラーになる | 島尾 | 2003/11/13-15:48 |
桐8を使用しております。 フォームから、絞り込み条件を直接入力して、絞り込みを行いたいのですが、変な値を入力されると、 KU1114:使用できない文字が使われています などのイベントハンドラが出て、処理が中断してしまい、その後の処理がうまくいきません。 普通の言語だと予期せぬエラーの場合には例外処理をつかって、 エラーを回復して処理を継続させる事ができますが、桐の場合は別に方法があるのでしょうか? | |||
23343 | Re:イベントハンドラエラー時の例外処理 | うにん | 2003/11/13-19:47 |
記事番号23342へのコメント フォームに入力できる値なら「使用できない」ということはありえません。 「変な値」というのが意味不明ですが、絞り込みの条件式の作り方がまずいだけではないでしょうか? | |||
23344 | エラーの原因を探しましょう | ONnoji | 2003/11/13-19:54 |
記事番号23342へのコメント 島尾さん、こんばんは。 絞り込み条件にどのような文字列を指定したのでしょうか? コマンドの記述内容と条件に指定した文字列を見せていただければ、 エラーを出さない記述方法に関してリプライが付くと思いますけれど、いかがでしょうか? 条件に指定した文字列に記号や空白など特殊な文字がありませんか? できるだけ詳しく、 指定した文字列と、 実行したコマンドラインを見せていただければと思います。 | |||
23345 | Re:イベントハンドラエラー時の例外処理 | 宮城 | 2003/11/13-20:14 |
記事番号23342へのコメント 島尾さん、こんにちは。 一時的にダイアログが出るだけのような気もしますが。であるならば、 絞り込みに失敗しただけなので、次のようにでも書けばいいんですが。 名札 戻すポイント (略) ケース開始 ケース(#EOF) 確認 "アンマッチです・・・[ENT]" 絞り込み解除 分岐 戻すポイント ケース終了 コマンドによっては終了キー等で制御できるものもありますね。 on error なんとかというのは桐にはないようです。 | |||
23348 | Re:イベントハンドラエラー時の例外処理 | うにん | 2003/11/14-00:57 |
記事番号23343へのコメント >フォームに入力できる値なら「使用できない」ということはありえません。 >「変な値」というのが意味不明ですが、絞り込みの条件式の作り方が >まずいだけではないでしょうか? どうもこのエラーは「オブジェクト名に」使用できない文字のことのようです。 だとすると検索値がオブジェクト名として使われしまっているわけですが。 いずれにしろ単なる記述ミスだと思います^^; | |||
23351 | Re:エラーの原因を探しましょう | ONnoji | 2003/11/14-10:33 |
記事番号23344へのコメント 島尾さん、こんにちは。 この掲示板の以下の過去ログも参考になるかもしれませんよ。 過去の桐井戸端BBS (桐ver.8) 10791 日付で絞り込んだとき間違った入力を判定する方法 2001/04/08 http://www.fuku3.com/~habata/kbbs/kakov8/10791.htm 外していたら、すいません。 | |||
23354 | Re:エラーの原因を探しましょう | ONnoji | 2003/11/14-13:31 |
記事番号23351へのコメント 島尾さん、こんにちは。 例えば、以下のような実験をしてみると…桐ver.8 sp5 検索条件登録 "検索条件01",{[文字列]{\100}} 絞り込み 条件名="検索条件01" ------------------------------------ KU1114:使用できない文字が使われています 詳細 \100}} ファイル名 ○×△.tbl 行番号 99 ------------------------------------ となりますが… これに類似したことでしょうかね??? | |||
23360 | Re:エラーの原因を探しましょう | うにん | 2003/11/14-20:46 |
記事番号23354へのコメント >KU1114:使用できない文字が使われています >詳細 \100}} お〜、よく見つけましたね。「\」でしたか。 手当たりしだいにやってみると、他には「'」もなぜかそのエラーになりました。 しかし検索値は入力した値だと言うので、実際には変数などに入っているはずであり、 このまんまの「定数値の構文エラー」とは考えにくい。 | |||
23361 | 叩き台になれば良いと言うつもりであり、解決策ではありません。 | ONnoji | 2003/11/14-22:23 |
記事番号23360へのコメント うにんさん >お〜、よく見つけましたね。「\」でしたか。 >手当たりしだいにやってみると、他には「'」もなぜかそのエラーになりました。 >しかし検索値は入力した値だと言うので、実際には変数などに入っている >はずであり、このまんまの「定数値の構文エラー」とは考えにくい。 うにんさん、こんばんは。 この他にドル記号($)も引っかかるようです。 私の投稿は… 叩き台になれば良いと言うつもりであり、解決策ではありません。 たとえば[コマンド]コマンドだったりとか、 いろいろと考えられます。 あくまでもエラーの原因は?、ということであります。 | |||
23362 | Re:叩き台になれば良いと言うつもりであり、解決策ではありません。 | うにん | 2003/11/14-23:03 |
記事番号23361へのコメント >たとえば[コマンド]コマンドだったりとか、 それが一番怪しいですよね。 私が例に出した「オブジェクト名」も、そのままだとフォームを保存する時点でエラーになってしまいますし。 | |||
23386 | Re:イベントハンドラエラー時の例外処理 | 島尾 | 2003/11/18-12:10 |
記事番号23342へのコメント すいません、 概要ですが、「コマンド」コマンドをつかって 比較式そのものをユーザーより入力させて 実行させれば汎用性がたかいと思ったのですが、 予期せぬ文字列を入力されて、そのままコマンドが実行されると エラーになるため、そのエラーを検出してダイアログに 「検索式が無効です」などを表示させて処理も復帰させる 方法を考えていました | |||
23402 | Re:イベントハンドラエラー時の例外処理 | うにん | 2003/11/18-23:25 |
記事番号23386へのコメント >概要ですが、「コマンド」コマンドをつかって >比較式そのものをユーザーより入力させて >実行させれば汎用性がたかいと思ったのですが、 比較式を入力させたいだけなら「コマンド」を使わずとも 検索 [項目]_&変数 形式でできますが、 >予期せぬ文字列を入力されて、そのままコマンドが実行されると >エラーになる 「比較式の形式に誤り」とかいうエラーは出そうですね。 >「検索式が無効です」などを表示させて処理も復帰させる >方法を考えていました V9には「会話検索」というコマンドができたのでそれを使うのがよろしいのでは? | |||
23404 | Re:会話処理でも… | ONnoji | 2003/11/19-10:51 |
記事番号23362へのコメント >>たとえば[コマンド]コマンドだったりとか、 >それが一番怪しいですよね。 うにんさん、こんにちは。 例えば、[絞り込み:検索条件]ダイアログで、 文字列項目の[条件n]に \100 '99.11.20 $100 などを指定すると… ------------------------------------ KD1641:文字列に誤りがあります \← ------------------------------------ 等のエラーダイアログボックスが出ますね。 もちろん、 "\100" "'99.11.20" "$100" のように文字列の前後を二重引用符で囲んで指定すればOKです。 ※試したのは桐ver.8 sp5 会話処理でエラーに扱われるのですから、 [コマンド]コマンドで実行すればシンタックスエラーになりますね。 |