Please Explain why this won't work

Please Explain why this won't work

Postby Jeff Barnes » Sun Dec 11, 2005 1:15 am

Hi,

In my app I have a dialog that has 10 "parts" listed on the screen.
Part1, Part2 .... Part10

I have a function that will work with these PART fields (using Tdatabase)

Function MyFunction( cNumber ) //cNumber can be from "1" to "10"
Local cTempPart
cTempPart := oPartsDBF:Part&cNumber //This works

oPartsDBF:Part&cNumber := cSomeText //This does not error but will return an empty string.

Return .t.

If I use an actual number ( oPartsDBF:Part1 := cSomeText ) it works.

Why can I use the &cNumber to store a value to cTempPart but can't do it the other way.



Thanks in advance,
Jeff
User avatar
Jeff Barnes
 
Posts: 929
Joined: Sun Oct 09, 2005 1:05 pm
Location: Ontario, Canada

Postby Antonio Linares » Sun Dec 11, 2005 11:51 am

Jeff,

Better use the __ObjSendMsg() function:

Instead of cTempPart := oPartsDBF:Part&cNumber:

cTempPart := __ObjSendMsg( oPartsDBF, "Part" + cNumber )

and instead of oPartsDBF:Part&cNumber := cSomeText:

__ObjSendMsg( oPartsDBF, "_Part" + cNumber, cSomeText )

Notice the use of "_" before "Part" when assigning.
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 42099
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Postby Jeff Barnes » Sun Dec 11, 2005 3:41 pm

Thanks Antonio.

Works perfectly.
User avatar
Jeff Barnes
 
Posts: 929
Joined: Sun Oct 09, 2005 1:05 pm
Location: Ontario, Canada


Return to FiveWin for Harbour/xHarbour

Who is online

Users browsing this forum: Google [Bot] and 60 guests