İyinet'e Hoşgeldiniz!

Türkiye'nin En Eski Webmaster Forum'una Hemen Kayıt Olun!

Kayıt Ol!

edbengineErrr with message "file is locked&qu

A

Anonymous

Misafir
paradox veritabanlı program açılmıyor,EDBEngineError with message "file is locked" diyor

ustalar hadi bakalım bulun bir çaresini.

arkadaşlar 5 dk önce çalışan bir program durduk yere artık neden çalışmaz.
açılışta neden hata veriyor ? inanın hiç bir şey yapmadım hiç bir şey eklemedim silmedim. noluda file locked hatası veriyor. database desktop la giriyorum orda açık görünüyor...
program üzerinde çalışıyordum ufak tefek kodlar ekliyordum sonra f9 da bastım ama hata verdi....neden ??? ne yapmam lazım ??? lütfen yardım edin...

programı açık bırkamıyorum. en son eklediklerimi çıkardım yine dğeişen bir şey olmadı.
zaten tuhaf olan şu oluşan exe dosya çalışıyor. delphi altında açmaya kalktığımda daha program açılmadan hata veriyor.
sanırım yeni bir data oluşturacağım verileride tekrar gireceğim.
 
A

Anonymous

Misafir
Dosya üzerinde hata verdiği anda son yapılan işlemin yarım kalmasından kaynaklanmaktadır. Bazı işlemlerde dosya diğer operasyon girişimlerinden korunulması için hali hazırda yapılan işlem haricindeki tüm operasyonlara kapatılır. işte tam bu locked (protect) olayında programınızın hata vermesinden dolayı dosyanın locked durum berliteci dosya üzerinde kayıtlı kalmaktadır. Bazı durumlarda böyle bir hata alınmasından sonra programı tekrar çalıştırmak işe yaramamaktadır. Bilgisayarı yeniden açmanız gerekebilir. Sorundan bu şekilde kurtulabilirsiniz. (Table üzerinde buffer locked oluştu ise-sizin durumunuz bence bufferlocked dır.., Eğer dosya üzerinde sabitleştirilmişse locked belirteci, nadiren karşılaşılır, DB Desktop içinde açtıktan sonra farklı bir isimle kaydederek, eski dosyayı silip, yeni adla kaydettiğiniz dosyanın adını değiştirmelisiniz.)

Her ne olursa olsun Table.active tercihini object inpector içinden ayarlamama yoluna gidin. Program içinde kodlarla halledin ve bunu bir alışkanlık haline getirin. işi başlayacak dosyayı başladığı yerde açın, işi biten dosyayı bittiği yerde kapatın.

.
.
.
if Table1.Active=False Then Table1.Open;
.
Table operasyonları
.
if Table1.Active=True Then Table1.Close;


Kolay gelsin.
 
A

Anonymous

Misafir
quickpink arkadaşım
aslında ben hazırcı ve de kolaya kaçan biri değilim
önce gösterdiğin ilgi için teşekkürler

mesajı yazdktan sonra program üzerinde bayağı bir durdum
yani ben neyaptım yada ne yapıyorumda böyle oluyor diye sorularla bi sonuca ulaştım.
vardığım kanı ve silbaştan yazlarla tecrübe ederek ki tam 3 defa aynı programı yazmak ve de 3 defa database değiştirmek zorunda kaldım.

çok ilginç sizin tavsiyelerinizle nedense bire bire aynı.
şöyleki : programı çalıştırdığımda eğer runtime olursa veya programı normal yollardan close etmeden çıkarsam arkasından bu tür bir hata veriyordu.
oysa normal çalıştığında sorun yoktu.
bu tablo da lock hatasını ancak yeniden db oluşturarak ve program codunu kopyalarak giderdim.
ancak yeni bir hata yine aynı sonuca götürdü.
bende düşündüm ki eğer tablo açık kalıyorsa bende açmaya çalışmadan önce bir kontrol edeyim açık mı kapalı mı ? tesadüfe bakın sizde aynısını önermişsiniz.

şimdi yukarıda sizin yazdıklarınızı ekleyceğim ve bakalım sonuç ne olacak.

teşekkürler saygılar sevgiler
harmandalı
 
A

Anonymous

Misafir
db yi kopyaladım. yedeğin dx uzantısını sildim
index gitti ama en azından çalıştı.
bende table olarak tekrar orijinalini çağırdım ve çalıştı.
ilginç
 
A

Anonymous

Misafir
Öncelikle rica ederim.
Aklın yolu birdir. Programcılıkda ulaşmak istediğinz bir sonuç varsa sonuca giden yol en az onun iki katıdır. (ama enz..)
Nçizane bir tavsiyede daha bulunmak istiyorum. Programcılığı kolaya kaçarak daha rahat öğrenirsiniz. Niye..? Çünkü en basitten başlayarak en karmaşığa doğru (zaman içinde) hazır üretilmiş örnek ve program kodları üzerinde değişiklik yaparak, mesajları değiştirerek, ek veriler ekleyerek, hesapları değiştirerek, örneğin girilen bir veriyi hep büyük harfe çeviriyorsa siz küçüğe nasıl çevirebilirm diyerek...vs gibi küçük alıştırmalardan büyük alıştırmalar doğru kolaya kaçın. Niye mi? en zoru budur. Mevcut kod üzerinde işlem yapmak, mantığı algılamak, kendi mantığınızın üzerine çıkmak...vs.inanın en zoru ama en garantili ve kalıcı öğreti yolu budur. Kopya çekmek gibi. Derler ki öğrenci kopya çektiği sorunun cevabınıda kendisinide unutmaz (!) .. Hazır kodlar üzerinde çalışmayı ben bu mantık üzerine oturtuyorum.

Kolay gelsin.

QuickPink
 
A

Anonymous

Misafir
Merhaba

Programcılıkta şu esasa uymak iyi olur diye okumuştum çok uzun zaman önce (nereden olduğunu hatırlamıyorum, epey önce bir bilgisayar dergisinde idi sanırım) :

"KISS : Keep It Simple and Stupid."

Programınız basit ve aptalca olsun. Yani algoritmayı çok akıllıca ve çok şeyi kısa yoldan halletmeye yönelik olarak karışık hazırlayabilirsiniz (kodun ilk hazırlanışında biraz uğraşınca bu mümkün olur.)
Ama sonradan o kodun düzeltilmesi/üzerine eklemeler yapılması için biraz da uzunca bir zaman sonra uğraşmanız gerekirse oturup kendinize kalayı basarsınız, "hay bu işi böyle yapanın ..." diye.

Yani sonradan tecrübe ile de bu okuduğum tavsiyeye uymak gerektiğini idrak ettim.
 
A

Anonymous

Misafir
Merhaba

BDE ayarlarında "Local Share" in değeri "True" mu ?
Değilse o ayarı True yapmayı deneyin bir de.

Bir faydası olur mu bilemiyorum. Çok uzun zaman önce başıma bu tip sıkıntılar gelmişti ama bu aralar hiç raslamadım (şükür :)

Bu arada, bundan sonra bir program yapacak olursanız Paradox tabloları yerine Interbase'i kullanmanızı tavsiye ederim. En azından öğrenmeye şimdiden başlayın.
 

Türkiye’nin ilk webmaster forum sitesi iyinet.com'da forum üyeleri tarafından yapılan tüm paylaşımlardan; Türk Ceza Kanunu’nun 20. Maddesinin, 5651 Sayılı Kanununun 4. maddesinin 2. fıkrasına göre, paylaşım yapan üyeler sorumludur.

Backlink ve Tanıtım Yazısı için iletişime geçmek için Skype Adresimiz: .cid.1580508955483fe5

Üst