UniDac 4.5.10 have memory leak
Posted: Fri 14 Dec 2012 04:08
//in Delphi xe/xe3,
//oracle script
create table t1(
f1 number(9) not null,
primary key(f1)
);
create table t2(
f1 number(9) not null,
f2 blob,
primary key(f1)
);
insert into t1 (f1) values(1);
insert into t1 (f1) values(2);
insert into t1 (f1) values(3);
insert into t1 (f1) values(4);
insert into t1 (f1) values(5);
insert into t1 (f1) values(6);
insert into t2 (f1,f2) values(2,null);
insert into t2 (f1,f2) values(4,null);
insert into t2 (f1,f2) values(6,null);
commit;
//delphi test it will leak memory
procedure TForm36.SpeedButton1Click(Sender: TObject);
begin
ReportMemoryLeaksOnShutdown := true;
UniConnection1.ProviderName := 'oracle';
//
UniDataSource1.DataSet := UniQuery1;
UniQuery1.FetchRows := 25;
UniQuery1.Open;
//
UniDataSource2.DataSet := UniQuery2;
UniQuery2.MasterSource := UniDataSource1;
UniQuery2.MasterFields := 'f1';
UniQuery2.DetailFields := 'f1';
UniQuery2.FetchRows := 25;
UniQuery2.Open;
//
while not UniQuery1.Eof do
begin
UniQuery1.Next;
end;
UniQuery1.First;
end;
//oracle script
create table t1(
f1 number(9) not null,
primary key(f1)
);
create table t2(
f1 number(9) not null,
f2 blob,
primary key(f1)
);
insert into t1 (f1) values(1);
insert into t1 (f1) values(2);
insert into t1 (f1) values(3);
insert into t1 (f1) values(4);
insert into t1 (f1) values(5);
insert into t1 (f1) values(6);
insert into t2 (f1,f2) values(2,null);
insert into t2 (f1,f2) values(4,null);
insert into t2 (f1,f2) values(6,null);
commit;
//delphi test it will leak memory
procedure TForm36.SpeedButton1Click(Sender: TObject);
begin
ReportMemoryLeaksOnShutdown := true;
UniConnection1.ProviderName := 'oracle';
//
UniDataSource1.DataSet := UniQuery1;
UniQuery1.FetchRows := 25;
UniQuery1.Open;
//
UniDataSource2.DataSet := UniQuery2;
UniQuery2.MasterSource := UniDataSource1;
UniQuery2.MasterFields := 'f1';
UniQuery2.DetailFields := 'f1';
UniQuery2.FetchRows := 25;
UniQuery2.Open;
//
while not UniQuery1.Eof do
begin
UniQuery1.Next;
end;
UniQuery1.First;
end;