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

Reply via email to