掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
「self.name」で、ごくまれに、FormのNameプロパティの値を取得できず、文字化けした値を取得 (ID:28351)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
■で回答します。 ・Delphiのバージョンは何ですか? ■Delphi 7.0 Build 4.453 ・OSは何ですか? ■Windows2000 SP4 または WindowsXP ・他のパソコンでも同じ現象ですか?それとも特定のパソコンでのみですか? ■7台の端末で9回が発生しました。1台で3回発生し、それ以外の端末では1回ずつです。 ・“FormのNameプロパティの値(例;Formxxx)を取得する処理”のみのテストプログラム でもその現象がおこりますか? ■現象はおきません。 1)FormName := Self.Name で取得して名前が 文字化けすると言う事ですか? ■ ボタンクリックイベントの処理で、関数の引数にSelf.Nameを設定しています。 関数では、Oracleのストアドを呼び、 引数の値をOralceのTableに追加(Insert)しています。 OralceのTableに追加(Insert)した値が、ごくまれに文字化けしています。 同じストアドをJavaアプリでも呼んでいるのですが、 Javaアプリでは1度も文字化けしていません。 ストアドも問題なさそうなので、 Delphi部分が怪しいと思っています。 <ソース> ※「★」が該当の箇所 // ボタンクリックイベント procedure TFormxxx.xxxClick(Sender: TObject); begin TDMCommon.xxx( xxx, Self.Name, xxx, xxx, xxx ); // ★ end; function TDMCommon.xxx( p1 : String; p2 : String; // ★ p3 : String; p4 : Double; p5 : String ) : Boolean ; begin With StoredProcXxx do begin StoredProcName := 'xxx.xxx.xxx'; Params.Clear; Params.CreateParam(ftString,'pa1',ptInput); Params.CreateParam(ftString,'pa2',ptInput); Params.CreateParam(ftString,'pa3',ptInput); Params.CreateParam(ftFloat ,'pa4',ptInput); Params.CreateParam(ftString,'pa5',ptInput); Params.CreateParam(ftFloat ,'pa6',ptOutput); Params.CreateParam(ftString,'pa7',ptOutput); ParamByName('pa1').AsString := p1; ParamByName('pa2').AsString := p2; // ★ ParamByName('pa3').AsString := p3; ParamByName('pa4').AsString := p4; ParamByName('pa5').AsFloat := p5; if Prepared then UnPrepare; Prepare; // 引数の値をOralceのTableに追加(Insert) ExecProc; if ParamByName('pa6').AsFloat <> 0 then begin abort; end; end; end; 2)取得した直後に Caption := FormName 等で確認して文字化けしていますか? ■文字化けしていません。 3)プログラムのどこかで間違って Self.Name 周辺のアドレスに何か書き込んでいませんか? ■確認方法がわかりません。 確認方法を教えていただけますか?
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.