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  Clase - VCX si PRG  Avertizare la c...
 Avertizare la compilare: SELECT ... INTO ARRAY
 
 3/23/2010 6:30:43 AM
User is offlineRomeo
528 posts
1st


Avertizare la compilare: SELECT ... INTO ARRAY
 (N/A)
Intr-o clasa frm am metoda incrementez cu urmatorul cod:


PARAMETERS wTabel, wCheie

PRIVATE wa

SET DELETED OFF
wselect="SELECT "+ALLTRIM(wTabel)
&wSelect

wCompar='RECCOUNT("'+ALLTRIM(wTabel)+'")=0'
wLogic=&wCompar
IF wLogic=.T.
wIdMax=1
ELSE
wIdMax="SELECT MAX("+ALLTRIM(wCheie)+") FROM "+ALLTRIM(wTabel)+" INTO ARRAY wa"
&wIdMax
wIdMax=wa(1,1)+1
ENDIF
SET DELETED ON

RETURN wIdMax


Atunci cand compilez proiectul, apare urmatoarea eroare de avertizare de care nu am reusit sa scap sub nici o forma (aplicatia functioneaza fara probleme):

Visual Class Library c:\itp_2009\clase\baza.vcx has the following errors:
Unknown WA - Undefined

Cum se poate scapa de ea (vreo setare a mediului) ?

PS: Evident pot folosi Select ... INTO cursor pt a o elimina, dar ma intereseaza cum se rezolva cu optiunea INTO ARRAY deoarece ma pot intalni cu ea si-n alte situatii.

Slava Tatalui si Fiului si Sfantului Duh si acum si pururea si-n vecii vecilor. Amin.
 3/23/2010 6:50:03 AM
User is offlineoviciandrus
762 posts
www.comptech.ro
1st




Re: Avertizare la compilare: SELECT ... INTO ARRAY
 (N/A)
Poate merge LOCAL ARRAY wa[1,1]
 3/23/2010 8:59:58 AM
User is offlineRomeo
528 posts
1st


Re: Avertizare la compilare: SELECT ... INTO ARRAY
 (N/A)
Nu scap de avertizare.
Am increcat si o chestie de genul: AddProperty(ThisForm,"aParams(1,1)")

Slava Tatalui si Fiului si Sfantului Duh si acum si pururea si-n vecii vecilor. Amin.
 3/23/2010 9:07:18 AM
User is offlineDaniel Buduru
2335 posts
1st




Re: Avertizare la compilare: SELECT ... INTO ARRAY
 (N/A)
Linia
PRIVATE wa
defineste wa ca o variabila, nu un array

PRIVATE wa[1]
sau
PRIVATE ARRAY wa[1]

desi nu stiu de ce ar trebui sa fie privata, si nu locala, cum a zis Ovidiu.

Daniel Buduru
 3/23/2010 9:12:32 AM
User is offlineoviciandrus
762 posts
www.comptech.ro
1st




Re: Avertizare la compilare: SELECT ... INTO ARRAY
 (N/A)
Incerca sa pui

wIdMax=wa[1,1]+1

in loc de

wIdMax=wa(1,1)+1

Poate crede ca "wa" este o functie!
 3/23/2010 9:27:06 AM
User is offlineDaniel Buduru
2335 posts
1st




Re: Avertizare la compilare: SELECT ... INTO ARRAY
 (N/A)
Avertizarea la compilare apare apare atunci cand in cod se opereaza cu un array care n-a fost declarat sau creat anterior.

"SELECT ... INTO ARRAY wa"  este un string oarecare, nu o comanda, pana in momentul cand este executata - macrosubstitutia (&) nu se evalueaza la compilare
linia urmatoare insa,

wIdMax=wa(1,1)+1

presupune existenta array-ului wa, care nu a fost declarat (PRIVATE wa declara o variabila, nu un array) si nici obtinut in vreo comanda - SELECT ... nu este compilat.
Deci, fie se declara
Public  wa[1] 
sau
Local wa[1]
fie se foloseste directiva de compilare
EXTERNAL ARRAY wa

Oricum, toata functia se poate scrie mult mai compact:

LPARAMETERS wTabel, wCheie
lcSetDeleted=SET("DELETED")
SET DELETED OFF
SELECT MAX(&wCheie) FROM (wTabel) INTO ARRAY wa
SET DELETEDE &lcSetDeleted
RETURN EVL(wa[1],0)+1

N-am teste codul, poate contine erori de tastare

Daniel Buduru
 3/23/2010 10:31:39 AM
User is offlineniculescu.adriana
31 posts


Re: Avertizare la compilare: SELECT ... INTO ARRAY
 (N/A)
Eu am intalnit eroarea asta intr-un report cu campuri de tip array. Conform documentatiei fox, trebuia definit External Array ca sa fie recunoscut la compilare. In concluzie, daca WA este declarat ca array inainte de procedura, trebuie declarat External Array la inceputul procedurii.
 3/23/2010 1:15:38 PM
User is offlineRomeo
528 posts
1st


Re: Avertizare la compilare: SELECT ... INTO ARRAY
 (N/A)
Multumesc. LOCAL wa[1] a rezolvat toate problemele. optiunea cu Externat am sa o retin.
Slava Tatalui si Fiului si Sfantului Duh si acum si pururea si-n vecii vecilor. Amin.
 3/23/2010 1:57:12 PM
User is offlineoviciandrus
762 posts
www.comptech.ro
1st




Re: Avertizare la compilare: SELECT ... INTO ARRAY
 (N/A)
Este vreo diferenta intre

LOCAL wa[1]

si

LOCAL ARRAY wa[1]
 3/23/2010 2:16:25 PM
User is offlineDaniel Buduru
2335 posts
1st




Re: Avertizare la compilare: SELECT ... INTO ARRAY
 (N/A)
Niciuna.

LOCAL Command
Creates local variables and variable arrays. There are two versions of the syntax.

LOCAL Var1 [ AS type [ OF ClassLib ] ] | [ ArrayName1( nRows1 [, nColumns1 ] ) [ AS type [ OF ClassLib ] ] ]
       [, Var2 [ AS type [ OF ClassLib ] ] | [, ArrayName2( nRows2 [, nColumns2 ] ) [ AS type [ OF ClassLib ] ] ]

LOCAL [ ARRAY ] ArrayName1( nRows1 [, nColumns1 ] ) [ AS type [OF ClassLib ] ]
       [, ArrayName2( nRows2 [, nColumns2 ] ) [ AS type [ OF ClassLib ] ] ]

Daniel Buduru
 3/23/2010 3:06:28 PM
User is offlineoviciandrus
762 posts
www.comptech.ro
1st




Re: Avertizare la compilare: SELECT ... INTO ARRAY
 (N/A)
 oviciandrus wrote
Poate merge LOCAL ARRAY wa[1,1]


Initial am crezut ca asta nu a rezolvat problema!
 3/23/2010 3:30:19 PM
User is offlineDaniel Buduru
2335 posts
1st




Re: Avertizare la compilare: SELECT ... INTO ARRAY
 (N/A)
 oviciandrus wrote
 oviciandrus wrote
Poate merge LOCAL ARRAY wa[1,1]


Initial am crezut ca asta nu a rezolvat problema!


Nu cred ca atunci s-a aplicat vreuna dintre solutii ...

Daniel Buduru
  Visual FoxPro  Clase - VCX si PRG  Avertizare la c...

Search  Forum Home         

 Google Ads Minimize

    

Copyright 2002-2010 Profox   Terms Of Use  Privacy Statement