【发布时间】:2023-03-24 13:35:02
【问题描述】:
我声明 MidasLib 是为了避免在某些客户端中由 Midas.dll 引起的 dll 地狱。
下面的代码运行大约 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.
【问题讨论】:
-
Delphi 的哪个版本?
-
究竟使用的是哪个版本的 Midas.dll?
-
是的,问题是“有人知道如何解释这种奇怪的行为吗?”结合标题“MidasLib.dcu 使应用程序变慢”
-
您好,请考虑接受答案
标签: delphi tclientdataset