Hi Adrian
I'm looking at globals/temps etc for the future - there is even a third type in the code called statics...
My idea wasn't confined to having a specific form for procedure parameters, it was just one way of using it. I was thinking you could also have a normal form or aspect used for data entry that fired up a procedure using the current record as input when you pressed save / save as / delete.
I haven't fully decided how it should work yet, (or indeed whether I will _ever_ have the time!) but it should a) use the data off the screen for subforms, _not_ a lookup to the data file which could be out of date due to on-screen modifications and b) should not enter data to the database until you tell it to (thus parameters to procedures etc. need not be actually saved unless you want them to).
Open Related Procedure might be an alternative approach, but that isn't simple either - well, not to implement. (I did try just allowing it - very nasty result

)
The main point is that I believe the correct design is to have the data drive the procedure rather than have the procedure pinging for data. As already happens with Report open related.
Remember here we are talking the purist approach. I also plan to make Interactive Headers easier to use for output by the simple method of fixing 'don't print'. So you will then be able to 'list records' the data entry fields and summarize them in the headers with no problem. I don't know whether don't print should automatically shrink the field too - I'll think about that. It shouldn't shrink it to nothing because you won't be able to select it later if you change your mind
The other point that has come up in the discussion is that in order to get what you want you have to know what you are asking for. The different nature of Windows requires that 'parameters' are treated as data if you want to process them for output. That doesn't mean it has to be difficult, it does mean it will be different.
Which shouldn't be a problem because if we want to get the best from Windows and the different devices it supports - page printers in the main - compared to DOS we have to do things differently anyway.
I don't question the need to put parameters into headers, but the way it is done isn't going to be exactly the same.
Regards