1. You need to produce a custom version of Perform; use cperf and find the
file which contains your c-code function (file.c), and then compile it
(assuming it contains the userfunc definition too) using:
cperf -o new.perform file.c
2. Unless you also upgraded the version of ISQL at the same time you
upgraded your engine (so you are now using 4.1x ISQL instead of 2.10.03
or some even more archaic version), there was no need to throw away the
old Perform executable.
Yours,
Jonathan Leffler (johnl@informix.com) #include <disclaimer.h>
}From: dmb@abacus.abasoft.co.uk (David Byrne)
}Date: 23 Mar 1996 22:48:38 -0000
}X-Informix-List-Id: <news.22437>
}
}We've just moved to version 5 of Informix, and have come across a problem.
}Any light shed on this would be a great help. Basically, in an old
}application, one of the .per files contains a line which reads CALL lognm().
}The function in question was originally written for version 2 of Informix
}a few years ago, when a program would have been created which linked a C
}module to create a .per interpreter. We've re-coded this and other routines,
}but can't call them from the compiled form. An error something like
}"The C function lognm() cannot be called as it does not exist in the "userfuncs"
}table " is reported. We can find neither the table nor any documented refer-
}ence to it. Neither can we use SQL statements such as CALL SPL or EXECUTE
}PROCEDURE to run stored procs from within the form, so it looks like we either
}find out what userfuncs is, or re-code in 4GL, ESQL or something.