![]() |
|
Dosya kaydederken memory leak hatası. - Baskı Önizleme +- Delphi Can (https://www.delphican.com) +-- Forum: Delphi (https://www.delphican.com/forumdisplay.php?fid=3) +--- Forum: Genel Programlama (https://www.delphican.com/forumdisplay.php?fid=6) +--- Konu Başlığı: Dosya kaydederken memory leak hatası. (/showthread.php?tid=5000) |
Dosya kaydederken memory leak hatası. - KUNTAY - 23-06-2020 Bir listbox da oluşturduğum XML dökümanını aşağıdaki kod ile kaydediyorum SHXml.Items.SaveToFile(yol+'TEMPXML\Irsaliye.xml', TUTF8Encoding.Create); Fakat Şöyle bir sorun var 'TUTF8Encoding.Create' komutu olunca aşağıdaki hatayı veriyor. An unexpected memory leak has occurred. The unexpected small blck leaks are: 21 - 28 bytes: TUTF8Encoding x1 TUTF8Encoding.Create bu kodu kaldırdığım zaman böyle bir hata vermiyor. Not : Unigui Trial Edition üzerinde almaktayım bu hatayı. Dosya kaydederken memory leak hatası. - mrmarman - 23-06-2020 TUTF8Encoding.Create ile ilgili satır devamında işi bittiğinde Free etmiş olmayı ihmal etmiş olma olasılığınız nedir? Cvp: Dosya kaydederken memory leak hatası. - Fesih ARSLAN - 23-06-2020 (23-06-2020, Saat: 02:17)KUNTAY Adlı Kullanıcıdan Alıntı: Bir listbox da oluşturduğum XML dökümanını aşağıdaki kod ile kaydediyorum Merhaba, TEncoding, static class olduğundan create etmeden, doğrudan SaveToFile metoduna gönderebilirsiniz. [attachment=1192] Örnek: SHXml.Items.SaveToFile('TEMPXML\Irsaliye.xml', TEncoding.UTF8);
Cvp: Dosya kaydederken memory leak hatası. - sadettinpolat - 23-06-2020 TUTF8Encoding sınıfında bug vardı. Hangi sürümde düzelttiler bilmiyorum ama statik metodları kullansanız bile memory leak oluşuyordu. Çözüm olarak bir değişkene atayıp , kullanıp , sonra free edebilirsiniz. varUTF8: TUTF8Encoding.Create; SHXml.Items.SaveToFile(yol+'TEMPXML\Irsaliye.xml', varUTF8); FreeAndNil(varUTF8); Cvp: Dosya kaydederken memory leak hatası. - Fesih ARSLAN - 23-06-2020 (23-06-2020, Saat: 09:32)sadettinpolat Adlı Kullanıcıdan Alıntı: TUTF8Encoding sınıfında bug vardı. Hangi sürümde düzelttiler bilmiyorum ama statik metodları kullansanız bile memory leak oluşuyordu. Yaptığım testte Delphi 10.3.3 Rio ve Delphi 10.4 Sydney için TEncoding static sınıfında, herhangi bir bug'a rastlamadım. Cvp: Dosya kaydederken memory leak hatası. - KUNTAY - 23-06-2020 (23-06-2020, Saat: 08:22)mrmarman Adlı Kullanıcıdan Alıntı: TUTF8Encoding.Create ile ilgili satır devamında işi bittiğinde Free etmiş olmayı ihmal etmiş olma olasılığınız nedir? Free etmiyordum ettiğim zaman donuyor etmediğim zaman donmuyordu. Bu arada uniguide bu sorunu yaşıyorum normal windows desktopta bu sorun oluşmadı. (23-06-2020, Saat: 09:25)Fesih ARSLAN Adlı Kullanıcıdan Alıntı:(23-06-2020, Saat: 02:17)KUNTAY Adlı Kullanıcıdan Alıntı: Bir listbox da oluşturduğum XML dökümanını aşağıdaki kod ile kaydediyorum Aynen dediğiniz gibi direk metoda atayabiliyormuşum : güzel çalıştı.Acele cevap verdim exe dosyasını kapattığım anda aynı hatayı aldım. (23-06-2020, Saat: 09:32)sadettinpolat Adlı Kullanıcıdan Alıntı: TUTF8Encoding sınıfında bug vardı. Hangi sürümde düzelttiler bilmiyorum ama statik metodları kullansanız bile memory leak oluşuyordu. Bunda da aynı hatayı verdi
Dosya kaydederken memory leak hatası. - sadettinpolat - 23-06-2020 Aldığınız hata oluşturduğunuz bir nesneyi free etmediğinizden kaynaklı bir hata. her create metodu ile oluşturduğunuz nesneyi free ediyorsanız ve dediğim şekilde yaparsanız bir problem çıkmaması lazım. Kodun bir yerinde create edip ama free etmediğiniz bir nesne var. Cvp: Dosya kaydederken memory leak hatası. - Fesih ARSLAN - 23-06-2020 (23-06-2020, Saat: 13:57)KUNTAY Adlı Kullanıcıdan Alıntı:(23-06-2020, Saat: 09:25)Fesih ARSLAN Adlı Kullanıcıdan Alıntı: Merhaba, @sadettinpolat ın belirttiği bug olabilir. Delphi 10.3.3 veya 10.4'te bu sorun yok. Hangi sürümü kullanıyorsunuz? Cvp: Dosya kaydederken memory leak hatası. - KUNTAY - 23-06-2020 (23-06-2020, Saat: 09:32)sadettinpolat Adlı Kullanıcıdan Alıntı: TUTF8Encoding sınıfında bug vardı. Hangi sürümde düzelttiler bilmiyorum ama statik metodları kullansanız bile memory leak oluşuyordu. Sadeddin bey ufak bir hata yapmışım değişkeni verirken şuan sizin söylediğiniz şekilde çözüldü. (23-06-2020, Saat: 14:33)Fesih ARSLAN Adlı Kullanıcıdan Alıntı:(23-06-2020, Saat: 13:57)KUNTAY Adlı Kullanıcıdan Alıntı: Aynen dediğiniz gibi direk metoda atayabiliyormuşum : Delphi 10.3 Community Edition Değişkene atayıp free edince hata vermedi. |