Search  
Friday, May 25, 2012 ..:: Forum ::.. Register  Login
 Forum Minimize
Pentru a putea posta mesaje trebuie să vă înregistraţi.
Notă: Mesajele cu conţinut jignitor sau ilegal (inclusiv cereri de soft piratat) nu sunt acceptate şi vor fi şterse imediat .

Pentru a primi raspunsuri rapide si corecte, scrieti in mesaj ce intentionati sa faceti, ce mesaj de eroare primiti, in ce context si in urma caror actiuni. De asemenea, mentionati versiunea de FoxPro in care lucrati!
Dacă nu specificați versiunea, se consideră VFP 9.0 SP2.

SearchForum Home
  Visual FoxPro  Cod, sintaxa si comenzi  Deschidere tabe...
 Deschidere tabela
 
 1/25/2012 11:15:56 AM
User is offlinedanilea
212 posts
4th


Deschidere tabela
 (N/A)
Buna ziua,
Va doresc tuturor un AN NOU FERICIT!
Am o problema pe care nu stiu de unde sa o apuc.
In VFP9,fereastra de comenzi,deschid o tabela:
USE f:\Tabela1.dbf EXCLUSIVE
O uit deschisa(si ramin in VFP9).
Aceeasi Tabela1 o folosesc si intr-o aplicatie scrisa cu VFP9.
Lansez aplicatia(un EXE cu un shortcut) care,la un moment dat,vrea sa deschida Tabela1.dbf(NU intr-o Forma).
Fac un test:
mAlias = "tabela1"
IF !USED(mAlias)
    SELECT 0
    USE f:\Tabela1.dbf EXCLUSIVE
    ........
ELSE
    SELECT(mAlias)
ENDIF
Imi da eroarea: "File acces is denied f:\Tabela1"
Ceva nu pricep eu...
Va multumesc.
 1/25/2012 11:56:23 AM
User is offlineGrigore Dolghin
3592 posts
www.class-software.eu
1st






Re: Deschidere tabela
 (N/A)
Pai n-ai formulat intrebarea, asa ca n-am ce sa-ti raspund. Ai deschis tabela aia exclusive, sanatate si noroc, n-o mai foloseste nimeni cat timp n-o inchizi. Nu-i nimic de priceput aici.

Care-i problema ta, de fapt? Ce vrei sa se intample? sa nu-ti mai da eroarea? sau ce?

Grigore Dolghin
Visual FoxPro MVP 2006 - 2010
Class Software
My blog
 1/25/2012 11:59:50 AM
User is offlineDaniel Buduru
2335 posts
1st




Re: Deschidere tabela
 (N/A)
Atunci cand un fisier este deschis in mod exclusiv de catre o aplicatie, sistemul de operare nu mai permite deschiderea acestui fisier pana cand prima instanta nu este inchisa.
Sistemul de operare se ocupa de asta, nu vfp sau aplicatia, pentru ca sistemul de oeprare este cel care deschide fiiserul si ii paseaza aplicatie un handle catre acest fisier.
Prin urmare, indiferent unde deschizi o tabela in mod exclusiv, ea nu va mai putea fi deschisa de catre alte aplicatii/utilizatori.
Deschiderea unei tabela in mod exclusiv are sens doar daca se face o operatie de intretinere - pack, index, alter table ...


Daniel Buduru
 1/25/2012 12:12:53 PM
User is offlinemmarius28
139 posts
5th


Re: Deschidere tabela
 (N/A) Modified By mmarius28  on 1/25/2012 1:22:31 PM)

Trebuie sa deschizi tabela shared, nu exclusive daca doresti sa o folosesti in mai multe instante ale programului si/sau VFP. Nu este nevoie si nici corect sa folosesti IF USED(malias), pentru ca USED verifica daca malias mai exista in aceeasi instanta.

Daca intentia ta este doar sa afiseze un mesaj de eroare si sa iasa din aplicatie, atunci poti sa il deschizi exclusive, dar atunci trebuie sa verifici daca poti sa il deschizi exclusiv, intr-o structura TRY..CATCH..ENDTRY

local loException as exception
local llSucces
llSucces = .F.
TRY
USE f:\TABELA1 IN 0 EXCLUSIVE ALIAS tabela1
llSucces = .T.
CATCH to loException
messagebox(loException.message)
ENDTRY
if !llSucces
return && iesire din program
endif

 1/25/2012 7:38:24 PM
User is offlinedanilea
212 posts
4th


Re: Deschidere tabela
 (N/A)
Va multumesc tuturor pentru lamuriri si ajutor.
 1/26/2012 7:21:50 AM
User is offlineMarian Dobre
399 posts
3rd


Re: Deschidere tabela
 (N/A)
O astfel de problema se poate intampla oricand mai ales in faza de testare. Eliminarea ei este simpla. Una din primele comenzi din prodramul principal ar trebui sa fie Close Tables All.

Orice putere omeneasca este un compus de rabdare si de timp. Balzac
 1/26/2012 9:48:48 AM
User is offlineDaniel Buduru
2335 posts
1st




Re: Deschidere tabela
 (N/A)
 Marian Dobre wrote
O astfel de problema se poate intampla oricand mai ales in faza de testare. Eliminarea ei este simpla. Una din primele comenzi din prodramul principal ar trebui sa fie Close Tables All.


Asta nu-i rezolva problema, intrucat tabela era deschisa exlusiv intr-o alta aplicatie.

Nu sunt de acord cu Close Tables All in nici un program, in afara celor care se ocupa de intretinerea bazei de date.
Daca o aplicatie care contine aceasta comanda este lansata dintr-o alta aplicatie, ii distruge contextul de lucru.
Fiecare aplicatie trebuie sa-si gestioneze resursele fara sa altereze contextul in care a fost lansata.

Daniel Buduru
 1/26/2012 2:54:50 PM
User is offlineMarian Dobre
399 posts
3rd


Re: Deschidere tabela
 (N/A)
Sorry. Am crezut ca lanseaza aplicatia din mediul lui de lucru. M-am uitat din nou la primul post si intr-adevar el vrea sa utilizeze acea tabela in mod concurrent dar deschisa in mod exclusiv. Explicatiile voastre sunt corecte.
Orice putere omeneasca este un compus de rabdare si de timp. Balzac
  Visual FoxPro  Cod, sintaxa si comenzi  Deschidere tabe...

Search  Forum Home         

 Google Ads Minimize

    

Copyright 2002-2010 Profox   Terms Of Use  Privacy Statement