muller@inmet.UUCP (03/23/84)
#N:inmet:17900013:000:1424 inmet!muller Mar 22 00:50:00 1984 Question: How does one write a procedure to be included in a Units library in Apple PASCAL to which you can pass a variable array (by reference) such that the subscript range does not need to determined when the procedure is written (i.e., variable dimensioning)? If you list the procedure with its parameters in the Interfaces section of the unit, and you give a TYPE (presumably defined in the as yet unwritten calling program) as the identifier of the array, in order to make sure the types agree between the calling program and the porcedure in the unit, the compiler doesn't like it. If you then define the TYPE of that array before the procedure declaration, you don't have variable sizing, since you then have to declare the sizing variables, and the type statement has to go before the var statement. In a related question, can you declare variables local to a single procedure in a Unit by placing them in the procedure block rather than in the Interface section? (Variable parameters are declared in the Interface section, and not in the subsequent procedure definition.) Finally, in another related question, by what criterion does Apple PASCAL think that two arrays are of the same type? Same element type and same subscript range? or must they be declared to be the same type? and if so then how does one pass a type to a Unit? Thanx, Jim Muller harpo!inmet!muller or ima!inmet!muller