Learn identifier scoping. Your code is perfectly valid, Form1 fields are accessible because you access it through Form1 object.
I read about identifier scoping, but IMO I don't think the compiler follows the documentation. In the code I have presented in this topic, I tried many different things to prevent the SIGSEGV runtime error and nothing worked until I move the assignment statements from the call_ooRexxSAA function into the Form1.Invoke_ooRexxSAA function. And because I understand identifier scoping some, I knew that I had to move some of the call_ooRexxSAA locally defined variables into the global defined variable area. And those changes made my program work and I no longer got the SIGSEGV error.
Also when I opened my original SIGSEGV runtime error (which used the coding show in this forum topic) in a different forum area, you tried to review my problem and the code I had, but you never provided a successful solution. You did state that I might have a local variable problem that was causing the SIGSEGV eror. But you never suggested that I try what I ended up doing to get my program to work. So if I believe what you are saying now and that my original code (as shown in this topic) should have worked AND that my assumptions stated in this topic (that I had to pass the SENDER: TOBJECT parameter) is also incorrect, then my only conclusion can be is that the FPC compiler has some sort of error that prevents my "perfectly valid" code from working and causes it to fail with a SIGSEGV error.
Also if the assertions I make in this topic when I set it up are so incorrect, and you indicate that "Your code is perfectly valid" and the "Form1 fields are accessible", then why did my code not work as shown in this topic??
I suggest you read the Free Pascal manual first and when you have managed to master the OO concept, learn LCL application flow. How application is started, how a form is created and maintained automatically, its lifetime, etc.
I did read the Free Pascal manual first or I never would have gotten as far as I did. While the manual is not bad, it certainly is not a definitive, full discussion of the Free Pascal language. I have read several books concerning Visual Basic and Visual C++ and both of them are much fuller and complete and contain many, many more coding examples!
Also, where is the Lazarus documentation? As best as I can tell, the only Lazarus documentation is in HTML format and HTML format takes hours and hours to read and provides horrible access for actually studying it, IMO. I printed off the FPC manual, read it, and referred back to it several times and while it does have a lot of information, it did not help me get around my SIGSEGV error I was having and have documented in my topic.
I'm sorry if my comments seem critical and I apologize if you think they are, but I worked hard for several days trying to get this code to work before submitting the original Forum topic. It my comments here bother you too much, feel free to expunge the topic and we can just agree to disagree on this. I will stumble through and get my FPC programs to work or switch to another language that is easier and better document with examples.