And just narrowed down -- DEFINITELY - it's something to do with INT return ... I made the process a VOID process... moved the data into the 'passed parameters' - and (dunno why) it is working now... Will spend some more time finding what is causing this little 'mismatch' ... appears that on return, whatever is being returned as an "int" from the C program, UnIData does not like in it's INT bucket... weird.
-----Original Message----- From: [email protected] [mailto:[email protected]] On Behalf Of David Wolverton Sent: Thursday, March 22, 2012 7:07 PM To: 'U2 Users List' Subject: [U2] CALLC Question... I've never had this particular issue, and the debugging for CALLC is ... ummmm... sketchy... I call a function using CALLC -- from the logs, I can tell that everything is perfect on the subroutine -- everything I pass in does what it should. However, on exit the UniData (on Windows, 7.2.2) session ALWAYS DIES. The data is not being changed in the 'passed parameters' - so it should be 'good'.... and the function is defined Int funcname(parameters) And the Function is set to exit with return 0; The first field in the "E" pointer is INT, and all the others a CHAR_PTR -- all the parameters are 'inbound' and not changing - and even if they did change, the are CHAR_PTR strings -- should be no big deal... and I can see that the C function is working -- and getting every passed parameter. It is JUST on the 'return 0;' that it fails. Is there a way to 'know' what is causing this? It's just too freaky since everything that 'went out' fine should 'come back' exactly as it left. But I can't think of a way to 'watch' this interface or 'catch' what is going wrong. Thoughts?? _______________________________________________ U2-Users mailing list [email protected] http://listserver.u2ug.org/mailman/listinfo/u2-users _______________________________________________ U2-Users mailing list [email protected] http://listserver.u2ug.org/mailman/listinfo/u2-users
