KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
One of my coworkers show me a code written in Delphi-XE XE Version 15.0.3953.35171, which I believe it should raise an access violation. The code is bellow: unit Unit3; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs; type TForm3 = class(TForm) procedure FormCreate(Sender: TObject); private { Private declarations } public function test:TstringList; { Public declarations } end; var Form3: TForm3; implementation {$R *.dfm} procedure TForm3.FormCreate(Sender: TObject); var aStrList : TStringList; begin aStrList := TStringList.Create; test; FreeAndNil(aStrList); end; function TForm3.test: TstringList; var i:Integer; begin for i:=0 to 1000 do Result.Add('aaa');//AV? end; end. Inspecting aStrList and Result has the following results: aStrList: TStringList $12FEDC : $42138A Result: TStringList $12FEC4 : $B01B90 I do not understand why it is working. Result.Add should raise an access violation LE: It seems that is working only on Debug Build Configuration.
Tags (comma-separated)
Save Edits
Cancel