無法訪問的價值我有一個程序,使自行車(TObject)
導致訪問衝突
當調用我的Create
方法,我得到一個訪問衝突錯誤00453359
和地址00000004
的寫入。
constructor MyBike.Create(iPrice, iStroke, iYear, iCC: Integer; sName,
sModel: string);
begin
fCC := iCC; // <- Here is the error
fPrice := iPrice;
fStroke := iStroke;
fYear := iYear;
fName := sName;
fModel := sModel;
當我看那條線時,它說它是一個inaccessible value
,就像那裏的所有變量一樣。
這裏是我班上的其他同學:
type
MyBike = class(TObject)
private
fCC, fStroke, fYear, fPrice: Integer; //I will at a later stage use fPrice as a currency
fName, fModel: string;
public
constructor Create(iPrice, iStroke, iYear, iCC: Integer; sName, sModel:
string);
function GetValues: string;
end;
implementation
{ MyBike }
constructor MyBike.Create(iPrice, iStroke, iYear, iCC: Integer; sName,
sModel: string);
begin
fCC := iCC;
fPrice := iPrice;
fStroke := iStroke;
fYear := iYear;
fName := sName;
fModel := sModel;
end;
和我的主要單元:
private
{ Private declarations }
NewBike : MyBike;
public
{ Public declarations }
end;
var
Form1: TForm1;
redtSavedObject: TRichEdit;
btnClearSavedObject: TButton;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
btnSaveToText.Enabled := False;
btnSavetodata.Enabled := False;
end;
procedure TForm1.btnSaveasObjectClick(Sender: TObject);
var
Price, Year, CC, Stroke : Integer;
Name, Model : String;
begin
Price := StrToInt(edtPrice.Text); //All of these values are fine
Year := StrToInt(edtYear.Text);
CC := StrToInt(edtCC.Text);
Stroke := StrToInt(edtStroke.Text);
Name := edtName.Text;
Model := edtModel.Text;
NewBike.Create(Price, Stroke, Year, CC, Name, Model);
我看了這篇文章:Delphi strange inaccessible value (acess violation) o.O並說我必須編輯這個項目設置:
調試信息:ON
局部符號:ON
優化:關。
我做了重建,仍然沒有變化。香港專業教育學院作爲走得更遠,重新啓動我的電腦無濟於事
你在哪個行/變量上得到了錯誤 – ankur140290
'fCC:= iCC'在類的構造方法中 –