yukarıdaki kodlarla paradox daki index out of date sorununu halledebiliyoruz.
Bu kodu programın açılışında tüm db ler için (bozuk olsun yada olmasın)kullanmam sorun yaratır mı? Her açılışta olacağı için açılış sorunları yaşarmıyım?
Çünkü bu tarz sorunları benim halletmem kolay ama programı kullanan ve delphi bilgisi olmayan biri bu sorunu çözemeyecektir.
Bu kodları programın her açılışında çalıştırmak programın açılışını zorlaştıracaktır. Birde kayıt sayısının 10 binleri bulduğunu düşünürsek bu sıkıcı olur kullanıcı için. burada veri tabanı onarma gibi bir seçenek kullanarak buton altında kullanıcıya istediği zaman yaptırın.
Kolay gelsin
Allah'ım!...
Yol boyunca bırakma elimi...
Düşerim sonra...
gkimirti yazdı:en iyisi sen try except arasına al table.open i
hata olursa duzeltme kodu calısır.
bende bu şekilde yapıyorum, program açılışta tüm tablolara sırayla bir veri post ediyorum eğer exception oluşursa(hataya göre); o tabloyu pack edip tekrar test ediyorum.
MS-DOS ortamında yazılan bir çok programda çok sık kullanılan bir yöntem vardı; "Dosyaları/İndeksleri Onar" diye. Sen de programın bir yerinde böyle bir seçenek koyarsan, hem senin için hem de kullanıcı için daha iyi olur. Ayrıca programda zip leyip yedekleme yapabilecek bir tool eklemende fayda var.
Yedeklemeyi zaten yaptırıyorum orda bi sorun yok. Ben istiyorum ki bu tarz sorunlarla kullanıcı uğraşmasın(paradoxda çok şey istiyor olabilirim ama ) program hatasız çalışsın.
Zaten menüye db onar diye bi satır ekledim. Kullanıcı istediği zaman yapabiliyor. Ama bazen bu tarz hatalardan program açılmıyor. Program açılmadığı için kontrol etme gereği duyuyorum. Acil durumlarda kullanabileceği onar.exe diye bi programcıkda var.
haklısın en dogrusunu yapıyorsun
diger turlu bir cok problemler cıkıyor.
en basitinden a personeli gidiyor ve b geliyor yerine ne yapacagını bilmiyor
sana hatayı anlatana kadar sabah oluyor:)
eğer programında defaultr olarak tüm active'leri (tablo,query falan filan) false yaparsan programın çalışır.
ana bir DBCheckup işleminden sonra bunları true dersin.
ben öyle yaptım