2018/8/27 (月) 09:20:02 Mr.XRAY |
> [UNITを追加したら、読み取り違反のエラーが出るようになったのですが??]
> http://madia.world.coocan.jp/cgi-bin/DelphiBBS/wwwlng.cgi?print+201808/18080007.txt
何もわからないまま,レスした方のアドバイス,提案も無視という状態で.
今回も終了 (?) でしょう.
だって,追い出しくったんですから (笑)
おそらく配列操作のミスだとは思うのですが,以下のコードでテストしてみました.
[Button1] をクリックすると [デバッガの例外通知] が何回か表示され,
フォームを閉じると [Runtime error] のダイアログが現れます.
( 範囲外のチェックなし)
質問者の最初の書き込みではアドレスが FFFFFFFX となっているので,
おそらく以下のコードとは違う,
アクセス不可の領域へのアクセスではないかと思います.
動作確認は Windows 7 U64(SP1) + Delphi XE5(UP2) Pro VCL-32 です.
public
{ Public 宣言 }
FStrArray : array of string;
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
var
Lindex : Integer;
begin
SetLength(FStrArray, 100);
for Lindex := Low(FStrArray) to High(FStrArray) do begin
FStrArray[Lindex] := FormatFloat('000#', LIndex);
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
LStr : string;
Lindex : Integer;
begin
LStr := 'ABC';
LIndex := High(FStrArray);
while True do begin
try
FStrArray[Lindex] := LStr;
except
break;
end;
inc(Lindex);
end;
Memo1.Lines.Add(IntToStr(Lindex));
end;
|
|