O mica precizare tehnica.
BDE-ul cu idapi32.dll precum stiti el se incarca in memorie odata cu accesul unei table paradox si ramane rezident pana cand nu mai exista nici o tabla deschisa DE NICI O APLICATIE. De aia daca a crapat mentor, a crapat si tot ce era bde deschis (bdeadmin, dbd64, declaratii, etc...)
Vroiam sa reprezint ierarhia BDE, un arbore cu relartii de la 1 la n, unde n are o limita (256, 4096, per caz, etc.)

1. DLL (Ce controleaza in mod unic NETDIR-ul)
2. ---> Sesiuni (se creeaza o sesiune implicita pentru fiecare aplicatie. daca se vrea, pot exista mai multe sesiuni pe aplicatie, se izoleaza cumva lucrul. permite utilizarea de aliasuri temporare cu nume identice.
3. ------> Databases (baze de date care pot avea aliasuri temporare - denumiri interne la fel ca cele permanente [mentor, lunaalias, firmaalias..]) Ele se crează automat in momentul accesarii unei table dintr-un folder,
si se pare ramane creat, pana la inchiderea sesiunii, pentru a nu se creea de fiecare data cand accesezi din nou acel folder. Aici intervin LCK-urile. Ele spun ca o baza de date exista pe folderul respectiv.
Particularitate: PrivateDatabase - ce noi am setat acum cativa ani folderul Private, ofera acces exclusiv unei aplicatii, viteza creste, deoarece astfel nu e nevoie sa tina evidenta prin lck-uri si netdir a accesului
concurent.
4. ---------> Cursoare. A se diferentia de tabelele fizice. Ele sunt practic legaturi pe memorie catre tabela fizica de pe disk, din directoare. Pentru ca pot exista mai multe cursoare la aceeasi tabla, pe aceeasi baza de date, dar chiar si pe sesiuni diferite.
Si aici a aparut nebunia Windows 10/ Windows Defender. BDE-ul se asteapta ca atunci cand face o cerere de obtinere adresa (HANDLE) de la Windows catre o tabla (pentru ca pana la urma windowsul e cel ce gestioneaza accesul la
partitia de fisiere, nu altcineva) sa primeasca raspunsul imediat cu un numar intreg reprezentand un identificator temporar unic catre acea tabla. Dar Windowsul s-a decis mai intai, din motive de securitate, sa verifice cine face cererea,
are drepturi pe acel director, la acel fisier, este sigura aplicatia, dupa care cine este fisierul? nu cumva e un virus? sa-i facem un diagnostic complet. Si pana se decide el sa trimita raspunsul cu acel numar, a plecat trenul... De aia
reparatia facuta e cat se poate de prosteasca, in sensul ca efectiv, daca primeste numarul cu valoarea 0 (invalid), sa nu presupun ca nu am acces sau nu exista, ci sa mai intre o data, si inca o data, si inca o data...
Ca pana la urma poate voi primi raspuns, bazandu-ma pe faptul ca la a 2-a sau a 5-a verificare, windowsul are totul proaspat si o face mai repede. Nu pot nici sa repet intrebarea la nesfarsit, pentru ca e posibil ca
tabla chiar sa nu existe. Sau sa nu am drepturi de utilizare a ei.

Oricum. In mare am reusit sa intervin si sa inchid bazele alea de date ce nu sunt folosite, punand verificare de fiecare data cand inchid un cursor. Incerc sa studiez si cauza pentru care lucrul acesta nu se face automat, dar e posibil sa fie iar o chestie a BDE-ului. Nu stiu daca a existat din totdeauna sau e iar o latenta de windows 10 ce trimite prea tarziu raspunsul ca nu mai exista table active...