Ağda kullanılan programım Out of Memory hatası veriyor.
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
Ağda kullanılan programım Out of Memory hatası veriyor.
Arkadaşlar merhaba;
Öncelikle sorunumu Firebird forumuna mı yoksa buraya mı yazacağım konusunda kararsız kaldığımı söyleyeyim.Önce projemi özetleyeyim.
Delphi:2009
Firebird:2.5
DB yapısı: 34 Tablo,23 Trigger 51 index Her tabloda ortalama 10 field.Sadece 2 tane blob alan mevcut.
Serverin işletim sistemi:Windows Server 2003
Serverde PACS programı daha çalışıyor.Sağlık yazılımlarıyla ilgilenenler bilirler.MR ve Tomografi cihazı ile bağlantı kurup görüntü dosyalarını image olarak bilgisayara kaydeden bir yazılım.Sistem temiz.Virüs falan yok.Servere 4 makine daha bağlanıyor ve benim programımı kulllanıyor.
Sorun:Değişik zamanlarda bazı tablolara bağlanırken program Out of Memory hatası veriyor.Bu programın bellekten taşması gibi görünüyor.Ancak aşırı bir değişken kullanımı yok.Program hangi tabloda çalışacaksa o tabloya bağlanıp işi bitince de kapatıyor.Gereksiz veri çekilmesi yok.Mesela FetchAll benzeri kodlama yok.Programın kodları sonradan defalarca gözden geçirildi.Herhangi bir gereksiz bellek ve işlem yapılıp yapılmadığı kontrol edildi ve program olabildiğince optimize edildi.Bu out of memory hatası herhangi bir bilgisayara özgü değil.yani tüm clientlerde yapabiliyor.Clientlerde kullanılan RAM ler 1 ve 2 GB arasında.Donanım açısından bir sorun yok gibi görünüyor.Database defalarca backup restore yapıldı.Ayrıca bazen bu Out of Memory hatası dışında zaman zaman donmalarda yapabiliyor.
Aklıma serverdeki PAC sisteminin sistemi yorması aklıma geliyor ama bu hata sanki serverden değilde clientten kaynaklanan bir bellek taşma hatası gibi geliyor.Şimdi Firebird 2.5 un kararlı olmaması durumu belirtilebilir.Ancak bu sorun 2.1.3 te de denendi ve aynı.
10 günden beri bu sorunla uğraşıyorum.Ama bir türlü bir çözüm yoluna ulaşamadım.Sorun genel bir sorun olmadığından buraya yazıp sizi yormak istemedim ancak çözüm sağlayamayınca mecbur kaldım.
Yardım ve yorumlarınızı bekliyorum.Şimdiden teşekkürler.....
Öncelikle sorunumu Firebird forumuna mı yoksa buraya mı yazacağım konusunda kararsız kaldığımı söyleyeyim.Önce projemi özetleyeyim.
Delphi:2009
Firebird:2.5
DB yapısı: 34 Tablo,23 Trigger 51 index Her tabloda ortalama 10 field.Sadece 2 tane blob alan mevcut.
Serverin işletim sistemi:Windows Server 2003
Serverde PACS programı daha çalışıyor.Sağlık yazılımlarıyla ilgilenenler bilirler.MR ve Tomografi cihazı ile bağlantı kurup görüntü dosyalarını image olarak bilgisayara kaydeden bir yazılım.Sistem temiz.Virüs falan yok.Servere 4 makine daha bağlanıyor ve benim programımı kulllanıyor.
Sorun:Değişik zamanlarda bazı tablolara bağlanırken program Out of Memory hatası veriyor.Bu programın bellekten taşması gibi görünüyor.Ancak aşırı bir değişken kullanımı yok.Program hangi tabloda çalışacaksa o tabloya bağlanıp işi bitince de kapatıyor.Gereksiz veri çekilmesi yok.Mesela FetchAll benzeri kodlama yok.Programın kodları sonradan defalarca gözden geçirildi.Herhangi bir gereksiz bellek ve işlem yapılıp yapılmadığı kontrol edildi ve program olabildiğince optimize edildi.Bu out of memory hatası herhangi bir bilgisayara özgü değil.yani tüm clientlerde yapabiliyor.Clientlerde kullanılan RAM ler 1 ve 2 GB arasında.Donanım açısından bir sorun yok gibi görünüyor.Database defalarca backup restore yapıldı.Ayrıca bazen bu Out of Memory hatası dışında zaman zaman donmalarda yapabiliyor.
Aklıma serverdeki PAC sisteminin sistemi yorması aklıma geliyor ama bu hata sanki serverden değilde clientten kaynaklanan bir bellek taşma hatası gibi geliyor.Şimdi Firebird 2.5 un kararlı olmaması durumu belirtilebilir.Ancak bu sorun 2.1.3 te de denendi ve aynı.
10 günden beri bu sorunla uğraşıyorum.Ama bir türlü bir çözüm yoluna ulaşamadım.Sorun genel bir sorun olmadığından buraya yazıp sizi yormak istemedim ancak çözüm sağlayamayınca mecbur kaldım.
Yardım ve yorumlarınızı bekliyorum.Şimdiden teşekkürler.....
Re: Ağda kullanılan programım Out of Memory hatası veriyor.
Görüntü dosyalarının büyüklüğü ne kadar.
Genellikle bu tür out of memory hataları bitmaplerle ilgili olabiliyor.
Genellikle bu tür out of memory hataları bitmaplerle ilgili olabiliyor.
Re: Ağda kullanılan programım Out of Memory hatası veriyor.
1-3 mb civarında.Ancak görüntü dosyalarını kullanan program başka bir program.Benim programım değil yani.
Re: Ağda kullanılan programım Out of Memory hatası veriyor.
Arkadaşlar birde Firebird 1.5 sürüme dönmeyi denemek istedim.Ancak IBExpertte 2.5 ta iken backup alıyorum.Bu backupı 1.5 server kurulu iken restore etmek istiyroum ancak hata veriyor.Bu olay aha öncede başıma gelmişti ve bir türlü yapamamıştım.Geçersiz database uyarısı veriyor.Acaba üst sürümde alınan backup alt sürümde restore edilemiyormu?
Re: Ağda kullanılan programım Out of Memory hatası veriyor.
Backup alırken transportable işaretli olsun.
Programın kullandıgı hafızayı görmek için program çalışırken task manager i veya benzeri bir programı aç, listeye bakıp programının ne kadar hafızayı kullandığı inceleyebilirsin.
Programın kullandıgı hafızayı görmek için program çalışırken task manager i veya benzeri bir programı aç, listeye bakıp programının ne kadar hafızayı kullandığı inceleyebilirsin.
Re: Ağda kullanılan programım Out of Memory hatası veriyor.
Evet.Transportable seçeneği işaretli zaten.Ama aşağıdaki mesajı veriyor ibexpertemin_as yazdı:Backup alırken transportable işaretli olsun.
Programın kullandıgı hafızayı görmek için program çalışırken task manager i veya benzeri bir programı aç, listeye bakıp programının ne kadar hafızayı kullandığı inceleyebilirsin.
Kod: Tümünü seç
IBE: Starting restore. Current time: 00:10:56
IBE: Unsuccessful execution caused by an unavailable resource.
Cannot attach to services manager.
IBE: Restore completed. Current time: 00:10:56. Elapsed time: 00:00:00
Re: Ağda kullanılan programım Out of Memory hatası veriyor.
s.a.
backup restore yeni versiyondan eski versiyona çalışmayabilir.
ibexpertte extractmetadata ile script oluşturup onu kullanabilirsin zannımca.
yalnız blob alanları bu şekilde aktarmaz onun için ufak bir aktarım programı yazılabilir (veya yazılmış programlar kullanılabilir).
Öncelikle sorunun kaynağı tespit edilmeli.
hata mesajını hangi işlemi yaparken veriyor. aynı işlemi tekrardan yapınca veriyormu veya hatayı vermesi için neler yapmak gerekiyor.
Bazen kullanıcılar programı bizim öngördüğümüz şekilde kullanmazlar.
Kullanıcının yanında bekleyin ve programı nasıl kullandığını inceleyin.
Programda hata çıkması muhtemel yerlerde log dosyasına yazdırın. böylelikle hatanın oluştuğu işlemi yakalayabilirsiniz.
farklı istemcilerde ki logları karşılaştırarak hatanın meydana geldiği işlemi tespit edebilirsiniz.
Sorunun kaynağını tespit ettikten sonra çözüm için öneriler gelebilir.
kolay gelsin.
backup restore yeni versiyondan eski versiyona çalışmayabilir.
ibexpertte extractmetadata ile script oluşturup onu kullanabilirsin zannımca.
yalnız blob alanları bu şekilde aktarmaz onun için ufak bir aktarım programı yazılabilir (veya yazılmış programlar kullanılabilir).
Öncelikle sorunun kaynağı tespit edilmeli.
hata mesajını hangi işlemi yaparken veriyor. aynı işlemi tekrardan yapınca veriyormu veya hatayı vermesi için neler yapmak gerekiyor.
Bazen kullanıcılar programı bizim öngördüğümüz şekilde kullanmazlar.
Kullanıcının yanında bekleyin ve programı nasıl kullandığını inceleyin.
Programda hata çıkması muhtemel yerlerde log dosyasına yazdırın. böylelikle hatanın oluştuğu işlemi yakalayabilirsiniz.
farklı istemcilerde ki logları karşılaştırarak hatanın meydana geldiği işlemi tespit edebilirsiniz.
Sorunun kaynağını tespit ettikten sonra çözüm için öneriler gelebilir.
kolay gelsin.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Re: Ağda kullanılan programım Out of Memory hatası veriyor.
öncelikle maviyi bende severim ama sorunu yazarken renklendirme bold gibi şeyler kullanmadan direk soruyu yazmanı rica ederim
cevapların sonu backup restore a doğru gitmiş,
sorundan anlayabildiğim bir yazılım var bu resimleri zaten server daki db ye atıyor, sense bu db den bu kayıtları alıyorsun ve bu sırada hata alıyorsun, bu tahminim üzerine aklıma gelen olasılıkları yazıyorum.
Öncelikle bende eskiden resimleri db ye gömerdim sonradan bundan vazgeçtim çünkü db ye gereksiz yük,resimleri diske kaydedip isimlerini ilgili kaydın pk_xxx.jpg gibi isimlendirip diskten file olarak okutmak daha hızlı ve sorunsuz olduğunu düşünüyorum,ve bu mantığı kullanıyorum.
bu resimleri siz nasıl okuyorsunuz? hazır bir compoenent lamı yoksa kendi yazdığınız kodlamı? yani stream lerle. Hazır component sa yada siz yazdıysanız stream i global tanıtıp progam başlangıcında create edin program sonlanmasında freeandnil edin, gereken yerde clear ile içini temizleyip kullanın.position ı 0 yapmayı unutmayın
resimleri db yerine diske yazmama sebeplerden birisi buydu, kullanıcı gridde scroll ederken resmi okuyup Timage a atma sırasında create + işlem + free çok hızlı olunca saçmalıyordu bende bir kez create edip bir kez free adince sorun çözülmüştü.
Ayrıca bu hızlı okuma işlemleri yani kullanıcı kayıt üzerinde hızla hareket ederken db den resim orjinal boyutta okunur, ama gösterirken memoryde işlem yapılıp resim orantılanıp küçük gösterilir, bu hızlı işlem bazen sapıtabiliyor.çözüm önerim, gereken boyutta ayrıca küçültülmüş olarak kaydedilmiş resim 50x50 pixel gibi mesela, kullanıcı isterse orjinali ozaman okunur, yada kullanıcı tuşa basmayı bıraktığında kısa bir süre yani atıyorum 0.5 sn sonra okuma işlemi yapılır,böylece sürekli kayıt okumak yerine tek kayıt okunur
restore içinde bazen "Commit after each table" ı iptal etmek işe yarıyabiliyor.Ama işin içinde blob lar olduğundan bencede en güzeli kendi aktarma programını yapman
Kolay gele
cevapların sonu backup restore a doğru gitmiş,
sorundan anlayabildiğim bir yazılım var bu resimleri zaten server daki db ye atıyor, sense bu db den bu kayıtları alıyorsun ve bu sırada hata alıyorsun, bu tahminim üzerine aklıma gelen olasılıkları yazıyorum.
Öncelikle bende eskiden resimleri db ye gömerdim sonradan bundan vazgeçtim çünkü db ye gereksiz yük,resimleri diske kaydedip isimlerini ilgili kaydın pk_xxx.jpg gibi isimlendirip diskten file olarak okutmak daha hızlı ve sorunsuz olduğunu düşünüyorum,ve bu mantığı kullanıyorum.
bu resimleri siz nasıl okuyorsunuz? hazır bir compoenent lamı yoksa kendi yazdığınız kodlamı? yani stream lerle. Hazır component sa yada siz yazdıysanız stream i global tanıtıp progam başlangıcında create edin program sonlanmasında freeandnil edin, gereken yerde clear ile içini temizleyip kullanın.position ı 0 yapmayı unutmayın

resimleri db yerine diske yazmama sebeplerden birisi buydu, kullanıcı gridde scroll ederken resmi okuyup Timage a atma sırasında create + işlem + free çok hızlı olunca saçmalıyordu bende bir kez create edip bir kez free adince sorun çözülmüştü.
Ayrıca bu hızlı okuma işlemleri yani kullanıcı kayıt üzerinde hızla hareket ederken db den resim orjinal boyutta okunur, ama gösterirken memoryde işlem yapılıp resim orantılanıp küçük gösterilir, bu hızlı işlem bazen sapıtabiliyor.çözüm önerim, gereken boyutta ayrıca küçültülmüş olarak kaydedilmiş resim 50x50 pixel gibi mesela, kullanıcı isterse orjinali ozaman okunur, yada kullanıcı tuşa basmayı bıraktığında kısa bir süre yani atıyorum 0.5 sn sonra okuma işlemi yapılır,böylece sürekli kayıt okumak yerine tek kayıt okunur
restore içinde bazen "Commit after each table" ı iptal etmek işe yarıyabiliyor.Ama işin içinde blob lar olduğundan bencede en güzeli kendi aktarma programını yapman
Kolay gele
ZAGOR TENAY TÜRK'tür... TÜRK kalacak...
Zoru başarırım, İmkansız zaman alır
FreeMan 35.5
Soru sormaya üşenmiyorsan, sorunun çözümünü yazmaya da üşenme !!!
Zoru başarırım, İmkansız zaman alır
FreeMan 35.5
Soru sormaya üşenmiyorsan, sorunun çözümünü yazmaya da üşenme !!!
Re: Ağda kullanılan programım Out of Memory hatası veriyor.
merhaba,
aynı sorunu bende yaşamıştım. şu an için 150 000 kayıtlık bir vt var ve kullanıcılardan biri bana istatistik amaçlı yani kim kaç veri girmiş gibi bir sorgu çektiğinde tüm veriyi sayıp kimler kaçar kayıt girmiş göstermek istemişti ve out memory hatası ile sonuç dönmemişti. sonra geldim daha güçlü bir bilgisayarda denedim arıza vermeden sonucu döndürmüştü. sanırım client bilgisayarlarda ya virüsten (zira kullandığımız bilgisayarlar şu an virüsten dolayı gına getirdi) yada donanım zayıflığından cortluyor sanırım.
kolay gelsin
aynı sorunu bende yaşamıştım. şu an için 150 000 kayıtlık bir vt var ve kullanıcılardan biri bana istatistik amaçlı yani kim kaç veri girmiş gibi bir sorgu çektiğinde tüm veriyi sayıp kimler kaçar kayıt girmiş göstermek istemişti ve out memory hatası ile sonuç dönmemişti. sonra geldim daha güçlü bir bilgisayarda denedim arıza vermeden sonucu döndürmüştü. sanırım client bilgisayarlarda ya virüsten (zira kullandığımız bilgisayarlar şu an virüsten dolayı gına getirdi) yada donanım zayıflığından cortluyor sanırım.
kolay gelsin
Şefkat-u Merhamette Güneş Gibi Ol.
Başkalarının Kusurunu Örtmekte Gece Gibi Ol.
Sehavet-u Cömertlikte Akarsu Gibi Ol.
Hiddet-u Asabiyette Ölü Gibi Ol.
Tevazu-u Mahviyette Toprak Gibi Ol.
Ya Olduğun Gibi Görün Ya Göründüğün Gibi Ol.

Başkalarının Kusurunu Örtmekte Gece Gibi Ol.
Sehavet-u Cömertlikte Akarsu Gibi Ol.
Hiddet-u Asabiyette Ölü Gibi Ol.
Tevazu-u Mahviyette Toprak Gibi Ol.
Ya Olduğun Gibi Görün Ya Göründüğün Gibi Ol.

Re: Ağda kullanılan programım Out of Memory hatası veriyor.
DBde resim olayı yok.Ayrıca bu out of memory hatası kayıtlar arasında gezerken,yada gridde scroll yaparken yada sorgu çekerken gelmiyor.Bir tabloya kayıt girerken insert pozisyonda iken diğer bir tablodan sql ile veri çekerken geliyor bazen.freeman35 yazdı:öncelikle maviyi bende severim ama sorunu yazarken renklendirme bold gibi şeyler kullanmadan direk soruyu yazmanı rica ederim
cevapların sonu backup restore a doğru gitmiş,
sorundan anlayabildiğim bir yazılım var bu resimleri zaten server daki db ye atıyor, sense bu db den bu kayıtları alıyorsun ve bu sırada hata alıyorsun, bu tahminim üzerine aklıma gelen olasılıkları yazıyorum.
Öncelikle bende eskiden resimleri db ye gömerdim sonradan bundan vazgeçtim çünkü db ye gereksiz yük,resimleri diske kaydedip isimlerini ilgili kaydın pk_xxx.jpg gibi isimlendirip diskten file olarak okutmak daha hızlı ve sorunsuz olduğunu düşünüyorum,ve bu mantığı kullanıyorum.
bu resimleri siz nasıl okuyorsunuz? hazır bir compoenent lamı yoksa kendi yazdığınız kodlamı? yani stream lerle. Hazır component sa yada siz yazdıysanız stream i global tanıtıp progam başlangıcında create edin program sonlanmasında freeandnil edin, gereken yerde clear ile içini temizleyip kullanın.position ı 0 yapmayı unutmayın![]()
resimleri db yerine diske yazmama sebeplerden birisi buydu, kullanıcı gridde scroll ederken resmi okuyup Timage a atma sırasında create + işlem + free çok hızlı olunca saçmalıyordu bende bir kez create edip bir kez free adince sorun çözülmüştü.
Ayrıca bu hızlı okuma işlemleri yani kullanıcı kayıt üzerinde hızla hareket ederken db den resim orjinal boyutta okunur, ama gösterirken memoryde işlem yapılıp resim orantılanıp küçük gösterilir, bu hızlı işlem bazen sapıtabiliyor.çözüm önerim, gereken boyutta ayrıca küçültülmüş olarak kaydedilmiş resim 50x50 pixel gibi mesela, kullanıcı isterse orjinali ozaman okunur, yada kullanıcı tuşa basmayı bıraktığında kısa bir süre yani atıyorum 0.5 sn sonra okuma işlemi yapılır,böylece sürekli kayıt okumak yerine tek kayıt okunur
restore içinde bazen "Commit after each table" ı iptal etmek işe yarıyabiliyor.Ama işin içinde blob lar olduğundan bencede en güzeli kendi aktarma programını yapman
Kolay gele
Ayrıca şu andaki sorunumla ilgili değil ama resim ekldiğim başka bir programımda söylediğin yöntemi kullanmıştım ve de güzel olmuştu.Ancak ağ üerinde bu resimleri nasıl göstereceğimi bulamamıştım.Çünkü her client bu resmi kendi bünyesinde saklıyordu ve diğer cliente göstermiyordu.Ağdaki ortak bir bilgisayardaki bir klasöre kaydettirme zorunluluğunu koymayı düşündüm ve oradan çektirmeyi düşündüm ancak o zamanda ilgili klasörü paylaşıma açma zorunluluğu ortaya çıktı. vs vs.
Bu konuda uyguladığın veya önerdiğin bir yöntem varmıdır?
Diğer soruna gelecek olursam;
Sorun meydana gelmeden önce programımın görev yöneticisinde gösterdiği Bellek Özel Çalışma Kümesi değer 12.015 K, sorun meydana geldiğinde gösterdiği dğer ise 120.000 K.
Sanırım bu K KB demek heralde.
Yanlız total bellek kullanımında ise 2 GB olan ramin 1.18 GB kadarının kullanıldığını gösteriyor.Yani full kullanım görünmüyor.
Ayrıca bu hatadan sonra programı görev yöneticisinden kapatmak zorunda kalıyorum.Tekrar çalıştırdığımda da Connection Lost Database hatası ile program dbye bağlanamıyor.Bu size bir fikir veriyormu.
Ayrıca backup için tool yazmaya bile katlanabilirim ama acaba bu sorun serverin sürümüyle alakalı olabilirmi?Yani 1.5 ta sorun düzelebilrimi sizce?
Teşekkürler....
Re: Ağda kullanılan programım Out of Memory hatası veriyor.
http://technet.microsoft.com/tr-tr/sysi ... us%29.aspx
mikisoft un ücretsiz yazılımlarından processmanager dan daha detaylı dır,virüs vs varsa nelerin çalıştığını daha iyi anlarsınız.
http://technet.microsoft.com/tr-tr/sysi ... us%29.aspx
bununlada çalışan herşeyi görebilirsiniz. siteler mikitek tendir
virüs leri bir kontrol et yada gereksiz neler çalışıyor.
2gb ramin varsa kolay kolay bitmez birde swapfile var.Delphi çalışıyor üstüne debug da yaparsan ram in okadar azalması normal.
İşin içinde resim vs gibi bir şeyde yoksa database yada versiyonundan kaynaklanacağını sanmıyorum.Programı debug etmek bazen çözüm olmuyor.Hata hep aynı işlemi yaparkenmi oluşuyor,rastgele zamanda ve yerdemi?
ben debug edemediğim yerlerde yada debug ederken hata vermiyor ama çalışırken hata veriyorsa, özellikle component debug edeilmediğinde şöyle bir şey yaparım:
Bir değişken tanımla her satırda 1-2-3 gibi değerler verip bir ini ye yazdırt yada showmessage ile ekrana göster böylece hangi satırların çalıştığını görüp hatayı bulabilirsin.
"insert pozisyonda iken diğer bir tablodan sql ile veri çekerken geliyor bazen" sanırım burda bir anormallik var. burayı debug et diğer tabloda çekerken o component in eventlerini falan kontrol et.birde beforeinsert ü kullan yani table insert modunda asılı kalmasın, try except kullanarak beforeinsert te abort dersen insert işlemi başlamadan keser programın askıda kalmasını engelleyebilirsin.
Resimler için, eğer birden fazla kişi görecekse mecburen server olmak zorunda, ayrı bir makina olmasa bile bir makinada toplanıp ona networkten paylaşım vermek gerekiyor. Ben böyle kullanıyorum.Kuyum programım var her stok uniq ve herbirinin resmi var, 2-4 arası makinada kullanabiliyorlar programı, zaten db için share var aynı yerde resimlerde
Kolay gele
mikisoft un ücretsiz yazılımlarından processmanager dan daha detaylı dır,virüs vs varsa nelerin çalıştığını daha iyi anlarsınız.
http://technet.microsoft.com/tr-tr/sysi ... us%29.aspx
bununlada çalışan herşeyi görebilirsiniz. siteler mikitek tendir

virüs leri bir kontrol et yada gereksiz neler çalışıyor.
2gb ramin varsa kolay kolay bitmez birde swapfile var.Delphi çalışıyor üstüne debug da yaparsan ram in okadar azalması normal.
İşin içinde resim vs gibi bir şeyde yoksa database yada versiyonundan kaynaklanacağını sanmıyorum.Programı debug etmek bazen çözüm olmuyor.Hata hep aynı işlemi yaparkenmi oluşuyor,rastgele zamanda ve yerdemi?
ben debug edemediğim yerlerde yada debug ederken hata vermiyor ama çalışırken hata veriyorsa, özellikle component debug edeilmediğinde şöyle bir şey yaparım:
Bir değişken tanımla her satırda 1-2-3 gibi değerler verip bir ini ye yazdırt yada showmessage ile ekrana göster böylece hangi satırların çalıştığını görüp hatayı bulabilirsin.
"insert pozisyonda iken diğer bir tablodan sql ile veri çekerken geliyor bazen" sanırım burda bir anormallik var. burayı debug et diğer tabloda çekerken o component in eventlerini falan kontrol et.birde beforeinsert ü kullan yani table insert modunda asılı kalmasın, try except kullanarak beforeinsert te abort dersen insert işlemi başlamadan keser programın askıda kalmasını engelleyebilirsin.
Resimler için, eğer birden fazla kişi görecekse mecburen server olmak zorunda, ayrı bir makina olmasa bile bir makinada toplanıp ona networkten paylaşım vermek gerekiyor. Ben böyle kullanıyorum.Kuyum programım var her stok uniq ve herbirinin resmi var, 2-4 arası makinada kullanabiliyorlar programı, zaten db için share var aynı yerde resimlerde
Kolay gele
ZAGOR TENAY TÜRK'tür... TÜRK kalacak...
Zoru başarırım, İmkansız zaman alır
FreeMan 35.5
Soru sormaya üşenmiyorsan, sorunun çözümünü yazmaya da üşenme !!!
Zoru başarırım, İmkansız zaman alır
FreeMan 35.5
Soru sormaya üşenmiyorsan, sorunun çözümünü yazmaya da üşenme !!!
-
- Kıdemli Üye
- Mesajlar: 1223
- Kayıt: 26 Nis 2005 04:08
Re: Ağda kullanılan programım Out of Memory hatası veriyor.
Hata aldığın ekranlarda grid var mı? Varsa hangi grid? Döngüyle baştan sona tarama yapıyor musun? Last, First ile tabloda konumlanma (ya da gridde scroll-ctrl+end-ctrl+home kullanarak) yapıyor musun?
Re: Ağda kullanılan programım Out of Memory hatası veriyor.
Grid var.ORDbgridaLonE CoDeR yazdı:Hata aldığın ekranlarda grid var mı? Varsa hangi grid? Döngüyle baştan sona tarama yapıyor musun? Last, First ile tabloda konumlanma (ya da gridde scroll-ctrl+end-ctrl+home kullanarak) yapıyor musun?
Döngü yok.
Last,First,Locate v.b yok
-
- Kıdemli Üye
- Mesajlar: 1223
- Kayıt: 26 Nis 2005 04:08
Re: Ağda kullanılan programım Out of Memory hatası veriyor.
Grid bileşenini değiştirme imkanın varsa standart grid kullanarak gözlemlemeyi deneyebilirsin. Bahsettiğin grid bileşenini incelemedim ve kullanmadım, fonksiyonları gereği döngü ya da First-Last kullanıyor olabilir. Bu hatayla ben de karşılaştım ve oldukça uğraştırmıştı, gözlemim şu ki, grid nesnelerinde görsellik varsa, kolon sayısı fazlaysa, satır sayısı arttıkça hafıza kullanımı da fevkalade artıyor. Özellikle grid nesnesi kullanılarak seçim yapılan ekranlarda bu problem cereyan ediyor vs.
Re: Ağda kullanılan programım Out of Memory hatası veriyor.
@alonecoder tavsiyeni değerlendireceğim.Artı bir soru.Firebird sürümünden kaynakklanma ihtimali varmı sizce?