V7 をXp上で使っています。
エディターで、スペースが入力できなくなったり、SQL文が誤っていたりするとハングアップします。(SQL文が誤りですというメッセージが出ることもある)
EXEファイルでエラーが発生すると計算結果が誤ったり、入力できなくなります
Arrayの領域を超えているということはありません
Delphiの問題ですか
それともXPですか
これまではV5 と 2000の組合せでした
プログラムに問題があるのかと思います。
私もDelphi7Pro+XPですが、そういったケースはありません。
今までは偶々うまく動いたのかと。
stringGridで
DrawText(DataGrid.Canvas.Handle,
PChar(DataGrid.Cells[ACol,ARow]),
Length(DataGrid.Cells[ACol,ARow]),Rect,
DT_CENTER or DT_VCENTER or DT_SINGLELINE);
を使っています
V7 では警告 安全でない型PChar が出ます
これが要因のひとつでしょうか
DataGrid.Cells[ACol,ARow]の戻り値を、一度String型の変数に入れてから、その変数を使ってみてはどうでしょう。
Cellsは、文字列を返しますが、それをポインタにしたときに文字列を保持しているかどうかわからないですから。
Cellsの実体は、文字列の参照でなく、functionの戻り値ですので。
PCHARでキャストする場合は、確実に確保したString型に入れておくのが無難です。
ありがとうございます
DataGrid.Cells[ACol,ARow]の戻り値を、一度String型の変数に入れてから使用してみます
エラーが発生しないと暴走しません。
Paradox テーブルについてエラーが発生するとDelphi 自体がアプリケーションエラーを起こしますが、エラーが発生しないように気をつけます