Re: Experiencing errors using SQLEXIT()
Posted in 1997
There was a major discussion of sqlexit() in the last month or two on c.d.i. We don't need to go through the details now. Suffice to say you can't call sqlexit() directly from I4GL without running into problems. There are simple workarounds which involve packaging the sqlexit() function (which is a pure C function) into an I4GL-callable wrapper. Please go investigate the archives -- http://www.dejanews.com or the IIUG archives, or ... Yours, Jonathan Leffler (johnl@informix.com) #include <disclaimer.h> }From: Allen Lebo <bostch@itw.com> }Date: Wed, 21 May 1997 11:22:57 -0400 }X-Informix-List-Id: <news.38151> } }Hello, } }We have been recently having problems here with calls to SQLEXIT(). }When called on specific installs, the menu "jumps around." (This is how }it was described to me.) And when it does work, there is nothing but }garbage on the screen. Other times, the application will blow an error }that references the line for CALL SQLEXIT(). }In our full code, the following error sometimes is occurs: } menu00.4gl line 951, forms statement error -1320 A function has not }returned the correct number of values. }The only statement on that line is CALL SQLEXIT(). } }---begin }### menu00.4gl }### }DATABASE database }MAIN }Define }db_name CHAR(9) } }LET db_name = "database" } }OPEN WINDOW c_h AT 3,3 WITH 15 ROWS, 70 COLUMNS ATTRIBUTE }(BORDER) }MENU "TEST MENU" }COMMAND "1" }CLOSE DATABASE }CALL SQLEXIT() }RUN "cd $app; ./application.4ge" # Some application that opens a Form }DATABASE db_name }CONTINUE MENU }COMMAND "EXIT" }EXIT MENU }END MENU }CLOSE WINDOW c_h }END MAIN }---end } }The application.4ge would look something like this (just a sample): }---begin }### application.4gl }### }DATABASE database }MAIN }DEFINE db_name CHAR(9) } }LET db_name = "database" } }OPEN WINDOW c_g AT 3,3 WITH 10 ROWS, 50 COLUMNS }ATTRIBUTE (BORDERS) } }MENU "SUB MENU" }COMMAND "RETURN" }EXIT MENU }END MENU } }CLOSE WINDOWS c_g }END MAIN }---end } }The above code samples are identical to code that we have already sent }to Informix. }The error is not occuring on all platforms. The first notice of a }problem was on AIX 4.2.5 running: } }INFORMIX-4GL V 6.04.UC2 }INFORMIX-SQL V 6.04.UC2 }INFORMIX-SE V 7.13.UC2 } }This is not RDS, only C-compiler. RDS is not available at this site or }any other site where we are having this problem. } }Other sites having this problem are SCO and HP (I do not have versions }right now, as these calls are just coming to my attention) At least one }of these sites uses Online. }The current workaround we have is to remove the SQLEXIT() call from the }first code sample. This is the only instance of SQLEXIT() in any of the }code. }Please be aware that I am do not write the code here. I am only the }support person who this problem has been given to. The sites in }question are not local to my location, and are difficult for me to do }things on. } }Any help that anyone can give would be helpful. As I have said, }Informix is aware of this, and is setting up a test case. I am just }seeing if anyone else has seen this type of issue. } }Thanks in advance } }Allen Lebo