Forum > General

Possible FPC Compiler Change?

<< < (2/2)

Leledumbo:

--- Quote from: JohnK on August 08, 2014, 12:50:39 am ---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??
--- End quote ---
Something else causes it, and as Marco pointed, your exception is now gone is not a sign that your code is correct. It could be a luck instead. I'll try installing rexx library to be able to link your project, I hope it's not big because it won't have any other use for me and would be a waste of space. Have you tried getting stack trace anyway? Let the exception happens, and open call stack window. Or simply run it from terminal (uncheck -WG if you're on windows so you can copy paste from cmd window), additionally with --debug-log=somefile.txt to get LCL log messages, too. If your debugging info settings are correct, you should be able to see what went wrong.


--- Quote from: Leledumbo on August 07, 2014, 08:32:33 am ---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.

--- End quote ---
Lazarus documentation ATM is only the wiki, the HTML/CHM is an API reference. By learning, I don't mean reading documentation only, you can trace the code by yourself as well. I admit Lazarus lacks such a documentation as FPC has (which you're still not satisfied as well).

Navigation

[0] Message Index

[*] Previous page

Go to full version