(28-12-2023, Saat: 21:51)enigma Adlı Kullanıcıdan Alıntı: Aslında konuyu fazla detaylandırmadığım için büyük resim anlaşılmamış. Bu veriler ilaç karekodu her kod 60 byte kadar. En fazla da 200 bin kod oluyor. Daha fazlası değil. Ayrıca 1 sn'de ortalama 4 kod okunuyor. Her bir okunan kod memorydeki diğer okunmuş kodlar ile tekrarlı kod var mı diye karşılaştırılıyor. Bu işlemi veri tabanından yapmaya kalkınca 1 sn.de 4 kod yetişmiyor. Yani hızlı değil. Bu yüzden bütün kodları hafızada tutuyorum. Program aynı anda birden fazla iş yapıyor. Bir yandan yazıcıya yazılacak kodları gönderiyor, Bir yandan okuyup değerlendiriyor. Etiket basıyor vs.
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Memo1: TMemo;
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
var
i:integer;
begin
form1.show;
for i:=1 to 200000 do
begin
memo1.lines.add(inttostr(i)+' 012345678901234567890123456789012345678901234567890123456789');
if (i mod 1000)=1 then
begin
application.ProcessMessages;
if application.Terminated then break;
end;
end;
memo1.lines.SaveToFile('1.txt');
end;
end.
kanımca kodunuzda leak var, problem verinin memo ya veya grid e eklenmesi değildir.
açıklamanıza göre tahminen, report componentleri leak a sebep veriyor olabilir, fastreport da vs vardı bu tarz sorunlar, son sürüme güncelleyin.
200 bin kayıt memo1 nesnesinde.

savetofile dosya

