| 桐ver9-2006(桐9-2004sp3)、OSはWindows XPです。
栄養計算のプログラムを作っています。その中で食品名の検索用フォームを作っているのですがイベント処理でエラーになってしまいます。
変数に文字を入力して絞込みをするのですが、日本語の文字変換をして確定すれば特に問題なく動作します。しかし、ワープロでするように日本語の文字変換して確定する前に次の文字を入力すると「問題が発生したため、KIRI.EXEを終了します。」というエラーメッセージが出て桐が終了します。
具体的な例は、"玉ねぎ"を検索しようとして、"たま"と入力してスペースで"玉"変換します。ENTERキーを押さずに(確定せずに)次の文字の"ね"を押すと上記のエラーになります。
編集文字列変更のところのイベントは以下のとおりです。
手続き定義開始 t検索項目::編集文字列変更() メソッド呼び出し @t検索項目.編集文字列取得(&STR) メソッド呼び出し @フォーム.更新モード設定(0) 絞り込み解除 ケース開始 ケース (#ISかな(&STR,1)=1) &STR=#連結("絞り込み [食品名読み]{*""",&STR,"""*},文字比較方法=拡張辞書順") ケース (#IS数字(&STR,1)=1) &STR=#連結("絞り込み [食品番号]{""",&STR,"""*},文字比較方法=拡張辞書順") ケース (#IS半角(&STR,1)=1) &STR=#連結("検索条件登録 """",{[食品名]{*""",&STR,""" *}},{[食品番号]{""",&STR,""" *}}") コマンド &STR &STR="絞り込み 条件名=""""" ケース その他 &STR=#連結("絞り込み [食品名]{*""",&STR,"""*},文字比較方法=拡張辞書順") ケース終了 コマンド &STR 並べ替え条件登録 条件名="",{[入力頻度] 降順} 並べ替え 条件名="" メソッド呼び出し @t検索項目.フォーカス設定() メソッド呼び出し @フォーム.更新モード設定(8) メソッド呼び出し @t検索項目.編集選択位置設定(1,-1) メソッド呼び出し @t検索項目.編集選択位置設定(0,0) 手続き定義終了
文字の変換のあと未確定の状態で次の文字を入力したときの対処方法がわかりません。どのようにすればよいか、よろしくお願いいたします。
kirierror01.lzhの内容 食品名検索用フォーム・・・kensaku.wfm イベント・・・kensaku.kev 食品名索引表・・・索引表個人用.tbl エラーの状態・・・error01.jpg
|