我声明MidasLib可以避免在某些客户端中由Midas.dll引起的dll hell 。
下面的代码在大约2350毫秒内运行。如果删除使用中的MidaLib声明,它将仅在45毫秒内开始运行!!
data.xml文件使用TClientDataSet.SaveToFile方法保存,具有5000条记录,大小约为600Kb。
有人知道如何解释这种奇怪的行为吗?
我可以在Delphi XE2 upd 3和Delphi XE3 upd 2中确认问题。
谢谢。
program Loader;
{$APPTYPE CONSOLE}
{$R *.res}
uses
MidasLib,
System.SysUtils,
Winapi.Windows,
Data.DB,
Datasnap.DBClient;
var
cds : TClientDataSet;
start, stop : Cardinal;
begin
cds := TClientDataSet.Create(nil);
try
start := GetTickCount;
cds.LoadFromFile('c:\temp\data.xml');
stop := GetTickCount;
Writeln(Format('Time elapsed: %dms', [stop-start]));
finally
cds.Free;
end;
end.
最佳答案
这是已知的错误/回归,请参见质量控制报告