* Fixed AV when TFieldDefs has dataset assigned. (+test)

git-svn-id: trunk@12567 -
This commit is contained in:
joost 2009-01-19 10:02:02 +00:00
parent 4cc8c98f10
commit 7613f3eb5f
2 changed files with 15 additions and 1 deletions

View File

@ -2042,7 +2042,12 @@ procedure TDefCollection.SetItemName(AItem: TCollectionItem);
begin
with AItem as TNamedItem do
if Name = '' then
Name := Dataset.Name + Copy(ClassName, 2, 5) + IntToStr(ID+1)
begin
if assigned(Dataset) then
Name := Dataset.Name + Copy(ClassName, 2, 5) + IntToStr(ID+1)
else
Name := Copy(ClassName, 2, 5) + IntToStr(ID+1);
end
else inherited SetItemName(AItem);
end;

View File

@ -21,6 +21,7 @@ type
procedure TestParseSQL;
procedure TestInitFielddefsFromFields;
procedure TestDoubleFieldDef;
procedure TestFieldDefWithoutDS;
end;
implementation
@ -170,6 +171,14 @@ begin
AssertTrue(PassException);
end;
procedure TTestBasics.TestFieldDefWithoutDS;
var FieldDefs : TFieldDefs;
begin
FieldDefs := TFieldDefs.Create(nil);
FieldDefs.Add('test',ftString);
FieldDefs.Free;
end;
initialization
RegisterTest(TTestBasics);
end.