Search  
Tuesday, October 15, 2019 ..:: 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  Baze de date, tabele, view-uri si indecsi  Unknown member ...
 Unknown member COLUMN
 
 11/11/2018 7:10:23 AM
User is offlineGiraldi
23 posts


Unknown member COLUMN
 (N/A)
Incerc de cateva saptamani sa gases solutia la urmatoarea problema dar fara succes. Am cautat si in istoricul forum-ului, dar fara rezultat.

In aplicatie folosesc mai multe grid-uri, cu un numar mare de coloane. Coloanele, la mai reordonez...sortez...etc. Mai deconectez tabelele, fac niste calcule, le conectez la loc
Toate functioneza super OK mai putin 2 grid-uri care, aleator in timp si la utilizatori aleatori (deci nu la toti - eu nu am vazut la mine eroarea niciodata dar am primit error report de la useri) apare eroarea Unknown member COLUMN19 de exemplu. In mare parte dintre cazuri este vorba despre aceleasi coloane 19 intr-un grid si 3 in celalalt
Am verificat linie cu line, coloanele pe rand si nu am gasit nimic.
Nu pricep de ce apare aleator si numai la anumiti useri. Nu-mi dau seama acum ce alte detalii sa mai dau

A mai vazut cineva aceasta problema?

Multumesc foarte mult pentru ajutor.

P.S Am incercat sa postex la FoxPro in general de cateva ori dar primesc o eroare cand apas Update
 11/11/2018 12:48:30 PM
User is offlineDaniel Buduru
3508 posts
1st




Re: Unknown member COLUMN
 (N/A)
Daca ai un error handler in aplicatie, pune-l sa determine linia din program la vare s-a produs eroarea, apoi sa o scrie intr-un log.

Daca nu este o alta eroare mascata de acest mesaj - se mai intampla in vfp - pare ca gridul a pierdut sursa si s-au resetat coloanele, iar coloana respectiva este adresata explicit.
Cum se comporta aplicatia dupa eroare? Continua normal, sau trebuie repornita?

Daniel Buduru
 11/11/2018 2:06:13 PM
User is offlineGiraldi
23 posts


Re: Unknown member COLUMN
 (N/A)
Multumesc foarte mult pentru raspuns...nu ma mai simt atat de singur in lupta cu aceasta eroare (sau oroare)

Am un error handler si stiu exact linia dar nu este nimic deosebit acolo si in plus este aleatoare asa cum am spus.
Am rugat userii respecivi sa-mi spuna exact ce faceau inainte de eroare (desi eu stiam unde au dat click din error handler) si mi-au spus ca totul este OK acum.
Totusi, dupa o perioada primesc alte cateva error-reports cu aceeasi prblema. Uite..n-am verificat daca apare la unii mai multi ca la altii. O sa fac o statistica ..

Si eu cred ca principala pista este ca grid-ul isi pierde sursa dar nu inteleg din ce cauza...si mai ales de ce aleator. Am spus ca eu n-am vazut eroarea asta pe calc. mele si ruleaza de cativa ani.

Aplicatia se opreste. Ei au un form prin care-mi trimit datele cu eroarea daca vor dupa care aplicatia se opreste. Se reporneste si merge fara probleme


 11/11/2018 4:17:48 PM
User is offlineDaniel Buduru
3508 posts
1st




Re: Unknown member COLUMN
 (N/A)
E bine ca exista error handler.
Nu e vorba sa fie ceva deosebit in linie, doar de vazut daca acea linie sau cea urmatoare este legata de adresarea coloanei respective, si de obiectul din care se executa codul - form, grid, coloana ...

Poti pune in el cod care sa faca un snapshot in momentul aparitiei acestei erori. Sa salveze grid.recorsource, grid.columncount, apoi fiecare coloana din grid : grid.columns(i).name.
De asemenea, si inregistrarea curenta din sursa gridului, vazut daca nu cumva este legat de date.

In vfp mai apar erori netratate, situatie in care mesajul de eroare e ales cumva, fara insa a avea legatura cu eroarea reala. Eroarea reala este mascata de eroarea afisata.

Gridul este definit complet in designer, sau este populat in runtime?
Contine cod in coloane sau obiectele incluse?
Exista ceva in proprietatile Dynamic?
Se reordoneaza coloanele?
Se executa un scroll orizontal?

Toti userii lucreaza pe aceeasi baza de date?
Calculatoarele tale, pe care n-a aparut eroarea, lucreaza cu aceeasi baza de date?
Baza de date este dbf, accesata pe file server, sau sql ?
Userii la care apare - sau poate bine zis statille? - au probleme de retea?

Candva, pe vremea lui vfp3 sau vfp5, am avut probleme cu un grid - aplicatia se inchidea cu eroarea c0005 - internal consistency error. Cauza a fost un dirty buffer, ce aparea uneori la adaugari intr-un cursor in table buffering. Eroarea aparea in grid, cand acesta incerca afisarea unui string ce continea caractere cu cod ascii<32. A durat ceva izolarea erorii, si aceasta nu avea legatura nici cu gridul, si nici cu codul. Dar, cu error handlerul, am reusit sa identific ce anume genera eroarea.
Atunci am gasit un workaround, apoi s-a remediat in urmatoarea versiune vfp.

Daniel Buduru
 11/11/2018 5:53:04 PM
User is offlineGiraldi
23 posts


Re: Unknown member COLUMN
 (N/A)
Multumesc pentru sugestii.

Cred ca o sa incerc sa scriu ceva in error handler sa aflu mai multe in momentul in care se intampla.

Dupa ce am citit ce ai scris tu ma gandesc ca are legatura cu datele nu cu grid-ul . Altfel nu se explica de ce la acelasi user, azi apare dar maine nu (se folosesc date diferite...)

Oricum, dupa ce o izolez o sa scriu aici
 11/26/2018 9:56:34 AM
User is offlineGiraldi
23 posts


Re: Unknown member COLUMN
 (Switzerland)
Se pare ca s-a rezolvat problema dar nu am nici un merit ca habar nu am ce s-a intamplat.

Programul meu se actualizeaza - el si bazele de date - prin FTP si folosesc vfpconnection.fll
Merge excelent (a trebuit la un moment dat un TIMEOUT mai mare)

Tot citind rapoartele de eroare care au venit cam de la 1-2 % din useri (aleatori si nu in fiecar zi) am observat la un user ca eroarea a fost provocata de comanda

thisform.update()

Nu-mi aminteam unde-i asta dar am gasit ca asta actualizeaza progress bar-ul la transfer. Cand am scris programul am folosit numele de pe exemplu. Acum mi s-a parut ciudat numele asa ca l-am schimbat in ceva sa nu sune atat de "oficial" :)
Pot sa spun ca de 5 zile nu a mai venit nici o eroare.

Asa cum spuneam ..habar nu am ce s-a intamplat, de ce la marea majoritate merge perfect, de ce la unii aparea aleator....
Ce pot sa spun este ca progress bar-ul meu este pe forma principala (care contine paginile unde sund grid-urile cu eroare). In exemplul lui progress bar-ul era, cum este si normal pe o forma separata mai mica. Asa l-am gandit atunci....asta e.

Multumesc pentru sprijin. Mi-am propus, dupa chinul asta de cateva saptamani, sa-mi dezvolt modul de raportare a erorilor. Acum ii apare o forma unde ii spune sa nu intre in panica si sa-mi trimita cele 5-6 elemente. Unde pot sa gasesc un exemplu mai complex, sa vad variabile..si ce mai spuneai tu mai sus
 11/26/2018 9:15:34 PM
User is offlineDaniel Buduru
3508 posts
1st




Re: Unknown member COLUMN
 (N/A)
Diferenrele de comportament pot veni si din resursa (foxuser). Daca nu o foloseti in aplicatie, fa-o disabled din config.fpw (resource=off).
Daca o folosesti in aplicatie, sterge fisierele existente.

Daca ai folosit progressbar-ul din windows (mscomctrl), trebuie tinut cont de faptul ca aceste controale au propria fereastra, cu propriul window handle, in timp ce toate controalele vfp sunt doar desenate in form, singurul control care are propria fereastra. VFP nu poate actualiza decat propriile ferestre, pentru celelalte, sarcina este pasata catre windows.

Se poate ca eroarea sa fie legata de asta, sau nu.

Se poate ca disparitia erorii dupa ce ai modificat numele sa nu fie legata de nume, ci doar de recompilarea codului.

Pentru error log, cea mai utila este functia astackinfo(), care returneaza o matrice cu stiva de executie. Salvezi matricea si vezi exact ce comanda s-a dat si de de unde.
Daca nu este ceva banal, ci o eroare ca cea cu care te-ai confruntat, trebuie mai intai sa vezi in ce circumstante apare, daca este aceesi linie de cod, sau o anume succesiune de comenzi, informatii pe care le da astackinfo,
Dupa ce localizezi un obiect, ii poti explora proprietatile cu amembers(), pemstatus() pentru a identifica proprietatile care nu sunt read-only si a caror valoare a fost schimbata si getpem() pentru a returna valoarea proprietatii.
Pentru date, atable() returneaza tabelele deschise, apoi se poate extrage din fiecare inregistrarea curenta cu scatter to array.
Toate valorile citite sa salveaza in error log, nu trebuie sa le noteze utilizatorul.
Se poate folosi un fisier de configurare extern, citit la pornirea aplicatiei, care sa seteze un flag indicand cat de amanuntita sa fie examinarea si logarea.
Se poate pune in aplicatie un modul care sa trimita logul pe mail. Atentie cu datele din tabele, acestae pot fi sensibile si, daca sunt logate, logul trebuie criptat cumva inainte de a-l atasa la un email.

Nu stiu exemple pe undeva, eu am ajuns singur la aceasta metoda, dar poti cauta pe tek-tips.com vfp error log, sunt ceva discutii legate de tratarea erorilor.

Daniel Buduru
 11/27/2018 10:16:34 AM
User is offlineGiraldi
23 posts


Re: Unknown member COLUMN
 (N/A)
Multumesc foarte mult pentru raspunsurile detaliate.

Si mie mi s-a parut foarte ciudat sa fie doar de la un nume desi thisform.update() ma ducea cu gandul la un refresh al formei unei sunt grid-urile. Si asta era apelata din libraria vfpconnect.dll...cine stie ce se intampla acolo.
De recompilat le-am recompilat de 100 de ori inainte..Sunt sigur ca singurul lucru pe care l-am schimbat a fost numele (si am mai pus putin la timeout in parametrii vfpconnect.dll )
Poate de la progress bar....nu stiu. De obicei imi place sa sap sa vad WHY??????? dar de data asta nu simt nici o emotie. M-a chinuit prea mult si acum am liniste din directia asta de cateva zile. :)

Mai am o singura problema de rezolvat dar mai sap. Spuneamca tot am marit timeout-ul. Userii care se conecteaza cu sub 250-300 kbps sunt deconectati random. Noroc ca si astia sunt 1% cel mult.
In prima faza le-am spus sa nu fie zgarciti si sa-si ia un pachet mai rapid. (dar mai sunt astia cu sateliti...etc...)
  Visual FoxPro  Baze de date, tabele, view-uri si indecsi  Unknown member ...

Search  Forum Home         

 Google Ads Minimize

    

Copyright 2002-2013 Profox   Terms Of Use  Privacy Statement