General information
Category:
Coding, syntax & commands
>>I have a form that passes an entire array by reference as follows:
>>THISFORM.PrintReport(@laNewInvoices)
>>
>>Then inside of the PrintReport() method I call a .prg and again pass the entire array as follows:
>>DO (oapp.csyspath+'reports\rpsojour.prg') WITH laNewInvoices
>>
>>It took me awhile to figure out that I had to pass the array in the DO command without the @ (i.e. DO whatever.prg WITH @laNewInvoices results in syntax error).
>>
>>I receive the array in my rpsojour.prg just fine as follows:
>>LPARAMETERS aNewInvoices
>>
>>I don't understand how I'm recieving the entire array without the @, and having UDFPARMS set to VALUE, but it works. The problem is, whenever I compile my .exe I get the following error:
>>
>>Program c:\majdata\reports\rpsojour.prg has the following errors:
>> Unknown ANEWINVOICES - Undefined
>>
>
>You need to add an EXTERNAL ARRAY statement, to tell VFP that the array definition is external to the procedure or function. Add the line:
>
>EXTERNAL ARRAY aNewInvoices
>
>right after the LPARAMETERS statement. The message is a warning only; VFP can resolve the array reference properly at runtime, so no runtime error occurs. The EXTERNAL statement is applicable only at compile time.
>
>>why is anewinvoices undefined and how do I get around it? I've been ignoring the compile error until I've had a chance to figure this out. My code is working as desired.
Ed, thanks, I knew there had to be a better way.
help says 'The command EXTERNAL ARRAY is included to alert the Project Manager.' Makes sense now why I was getting the error.
Previous
Reply
View the map of this thread
View the map of this thread starting from this message only
View all messages of this thread
View all messages of this thread starting from this message only