Delete(arr[x],1,i);
// showmessage(arr[x]);
FPstr:=arr[x];
showmessage(FPstr);
uj5u.com熱心網友回復:
arr是一個動態陣列,當第三次洗掉后,無法show出arr中的字串,錯誤提示是access violation at address這個錯誤,求問該如何解決?uj5u.com熱心網友回復:
能否有大神幫助啊
uj5u.com熱心網友回復:
如果arr是二維動態陣列,Delete(arr[x],1,i);就是刪X維的由第一個字符開始,i個字符。你沒有說明或檢查arr[x]的長度,洗掉第三次,arr[x]有可能被清除掉,肯定會出現access violation at address。
uj5u.com熱心網友回復:
代碼基本無問題
var arr:array of String;
i,j:integer;
begin
SetLength(arr,10);
For i:=0 to 9 do
arr[i]:='12345678901234567890123456789012345678901234567890';
i:=5;
For j:=0 to 9 do
Delete(arr[j],1,i);
For j:=0 to 9 do
Delete(arr[j],1,i);
For j:=0 to 9 do
Delete(arr[j],1,i);
showmessage(arr[0]);
end;
均可執行。
出現錯誤,是否你的動態陣列的地址參考有錯誤。設定長度10,參考0-9。
uj5u.com熱心網友回復:
越界 洗掉和使用時判斷下標有效性轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/81172.html
標籤:語言基礎/算法/系統設計
上一篇:Delphi使用ADO執行SQL時報錯:ORA-00937: not a single-group group function
