TDbGrid Hafıza Sorunu
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
TDbGrid Hafıza Sorunu
Merhaba ,
bir projemde bir TDbGrid e bağlı dataset i sürekli açıp kapatarak refresh ediyorum, fakat datasetteki kayıt sayısı 200 lerde olduğu zaman refresh işlemi çok yavaşıyor ve sonunda program kiltleniyor. öğrenmek istediğim DBGrid her yeniden çizlişinde eski görüntüsü hafızadan kalıcı olarak temiz bir şekilde atılıyormu ? eğer atılmıyorsa hafızada ciddi bir şişme oluyor demektir, biz bu temizleme olayını nasıl yaparız.
Not: Grid in , Dataset in ve datasource ün her hangi bir olay metodu aktif değil.
bir projemde bir TDbGrid e bağlı dataset i sürekli açıp kapatarak refresh ediyorum, fakat datasetteki kayıt sayısı 200 lerde olduğu zaman refresh işlemi çok yavaşıyor ve sonunda program kiltleniyor. öğrenmek istediğim DBGrid her yeniden çizlişinde eski görüntüsü hafızadan kalıcı olarak temiz bir şekilde atılıyormu ? eğer atılmıyorsa hafızada ciddi bir şişme oluyor demektir, biz bu temizleme olayını nasıl yaparız.
Not: Grid in , Dataset in ve datasource ün her hangi bir olay metodu aktif değil.
Volkan KAMADAN
www.polisoft.com.tr
www.polisoft.com.tr
hocam kolay gelsin ...
dataseti kapatıp açmadan önce disablecontrols ve enablecontrols metodlarını kullanıyormusun veya acaba kullansan nasıl olur....Birde buna benzer bişey benimde başıma gelmişti ama ben kapatıp açtığım datasete autocreate olan başka formlarda data kontrol lerde bağlamışım.o formları runtime da create edince problem düzeldi..
iyi çalışmalar
dataseti kapatıp açmadan önce disablecontrols ve enablecontrols metodlarını kullanıyormusun veya acaba kullansan nasıl olur....Birde buna benzer bişey benimde başıma gelmişti ama ben kapatıp açtığım datasete autocreate olan başka formlarda data kontrol lerde bağlamışım.o formları runtime da create edince problem düzeldi..
iyi çalışmalar
-
- Kıdemli Üye
- Mesajlar: 1026
- Kayıt: 11 Şub 2005 02:12
- Konum: İstanbul
merhaba ,
erişim componentleri standart BDE bileşenleri, sorunu LIMIT fonksiyonuyla çözdüm gibi testlerini yapıyorum şu sıralar.
teşekkürler.
erişim componentleri standart BDE bileşenleri, sorunu LIMIT fonksiyonuyla çözdüm gibi testlerini yapıyorum şu sıralar.
teşekkürler.
Volkan KAMADAN
www.polisoft.com.tr
www.polisoft.com.tr
merhaba ,
limit le çözdüğümü sanmıştım fakat ;
MySQL front ara yüzüyle çalıştırabildiğim LIMIt komutu query de kullandığımda çalışmıyor örneğin en basit ,
select *from test limit 0,10 deiğimde mysql fornt bana 10 kayıt gösterirken query de kullandığımda
hatası alıyorum standar BDE bileşenleriyle erişiyorum.
Teşekkürler.
limit le çözdüğümü sanmıştım fakat ;
MySQL front ara yüzüyle çalıştırabildiğim LIMIt komutu query de kullandığımda çalışmıyor örneğin en basit ,
select *from test limit 0,10 deiğimde mysql fornt bana 10 kayıt gösterirken query de kullandığımda
Kod: Tümünü seç
Invalid use of keyword, Token: LIMIt
Teşekkürler.
Volkan KAMADAN
www.polisoft.com.tr
www.polisoft.com.tr
Kod: Tümünü seç
Select Top 10 * from Tablo
@mrmcop ,
maalesef belirttiğiniz komut işe yaramadı , ne MySQL Frontta çalışıyor nede Delphi ortamında.
yani çok ilginç bir durum var , dinamik bir SQL üretiyorum içinde limitte geçiyor bunu bir dosyay kaydediyorum MySQL Frontta çalıştırıyorum çalışıyor fakat Delphideeçalışmıyor LIMIT anahtar kelimesini tanımıyor bu BDE denmi kaynaklanıyor acaba.
maalesef belirttiğiniz komut işe yaramadı , ne MySQL Frontta çalışıyor nede Delphi ortamında.
yani çok ilginç bir durum var , dinamik bir SQL üretiyorum içinde limitte geçiyor bunu bir dosyay kaydediyorum MySQL Frontta çalıştırıyorum çalışıyor fakat Delphideeçalışmıyor LIMIT anahtar kelimesini tanımıyor bu BDE denmi kaynaklanıyor acaba.
Volkan KAMADAN
www.polisoft.com.tr
www.polisoft.com.tr
Volkan şöyle yapsan
Verilerine istediğin bileşen (BDE, ADO, dbExpress vs.) bağlan. Bir ClientDataset ve bir Datasetprovider ile buna bağlan. ClientDataset'in PacketRecords özelliği ile istediğin sayıda kaydın fetch edilmesini sağlarsın. 2 dersen bağlantıda 2 paket çekecektir. 5 dersen 5 vs.. Bu şekilde bir limit koyabilirsin sanırım.
Ancak DBGrid hepsini fetch etmeye kalkarsa olmaz.. Hmm.. Düşünelim gene.
Gerçi emin değilim. Yiyebilir de bu çözüm.
Verilerine istediğin bileşen (BDE, ADO, dbExpress vs.) bağlan. Bir ClientDataset ve bir Datasetprovider ile buna bağlan. ClientDataset'in PacketRecords özelliği ile istediğin sayıda kaydın fetch edilmesini sağlarsın. 2 dersen bağlantıda 2 paket çekecektir. 5 dersen 5 vs.. Bu şekilde bir limit koyabilirsin sanırım.
Ancak DBGrid hepsini fetch etmeye kalkarsa olmaz.. Hmm.. Düşünelim gene.
Gerçi emin değilim. Yiyebilir de bu çözüm.