Re: Forms and Cursors
Posted in 1994
>From: gwr@metronet.com (George Rapp) >Date: Mon, 10 Oct 1994 18:46:24 GMT >X-Informix-List-Id: <news.9187> >In article <37a88r$b7j@emory.mathcs.emory.edu>, >Jonathan Leffler <johnl@informix.com> wrote: >>}When I use C functions with Forms, and use cursors in these functions and >>}try to compile them with cperf, there are multiple definitions of symbols, >>}such as _iqlocate_cursor, _iqcdcl >>}Without using cursors, everything works perfectly. >>I diagnose that you are using 4.1x ISQL and 5.0x ESQL/C. This mixture >>doesn't work -- as you've just found out. You either have to use 4.1x >>ESQL/C, or upgrade all the way to 6.0x ISQL and ESQL/C. >Jonathan, I don't think the version mismatch is the only problem, >although it might contribute to the problem. I have observed the same >problem using OnLine 5.02.UC1 and ESQL/C 5.02.UC1. >... [detailed circumstances in which some things link omitted] ... I'm sorry, but the version mismatch IS the whole cause of the problem. The interface used by the 5.0x and above ESQL/C product set is very noticably different from the pre-5.00 interface. The dead giveaway is the reference to _iqlocate_cursor -- that was not part of the pre-5.00 ESQL/C product libraries. The two interfaces are not totally disimilar, so some things will link. Whether they will function correctly is debatable. However, it is 100% not supported to try using 5.0x ESQL/C code in the 4.1x ISQL custom runners, whether that is ACE or PERFORM. And if anything goes wrong, it is because you have incorrectly mixed versions which are incompatible. You have been warned! Yours, Jonathan Leffler (johnl@informix.com) #include <disclaimer.h>