I have a typed array which I'm sending to a procedure with open array parameters declared as var,
An open array parameter is not a typed array or dynamic array. Needs to be passed a typed array if you mean a typed array. I know the syntax is confusing: they look like dynamic arrays, but they are not!
but I'm getting an error message saying call by var parameters have to match exactly. This is using lazarus for windows. The strange thing I don't get the error using fpc on Linux using a command line version of the same code. Any suggestions? Thanks.
I don't believe that. Do you have a small example? The compiler is the exact same. If you show it compiles differently -given the same settings - from IDE or command line that would be a bug. (But I can't reproduce this without code)
I already answered a question about the same problem last week, with example code.
Note that it should not be possible that there is in this case a difference between platforms... because how the compiler works....
So: example code...