Please Explain why this won't work

Post Reply
User avatar
Jeff Barnes
Posts: 912
Joined: Sun Oct 09, 2005 1:05 pm
Location: Ontario, Canada
Contact:

Please Explain why this won't work

Post by Jeff Barnes »

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
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Post by Antonio Linares »

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
Jeff Barnes
Posts: 912
Joined: Sun Oct 09, 2005 1:05 pm
Location: Ontario, Canada
Contact:

Post by Jeff Barnes »

Thanks Antonio.

Works perfectly.
Post Reply