call C function in Scilab 5.0.2

Sebastien Barre sebastienbarre at free.fr
Fri Nov 7 13:33:36 CET 2008


Dear Scilab users / Developpers,

I am currently working on the development of an interface between measurement
devices and the great Scilab machine.
The idea is to be able to command the devices connected to the computer directly
for the scilab command Line.

In this aim, I use the Scilab c_link function to link c function of a DLL,
then the Scilab call function.

It looks like this:

if (~c_link('QueryDevices'))
funcload = ['QueryDevices'];
link('SCILabIF.dll', funcload, 'c');
end

[NbrOfDevices] = call('QueryDevices', 'out', [1,1], 1, 'i');
if (NbrOfDevices <= 0) //error handling no devices found
 rc = -1;
end


My problem is:

The command:
[Name, Channels] = call('GetChannelName',  0 , 1, 'i', 'out', [32, 1], 2, 'c',
[1,1], 3, 'i');

works properly with version 4.1.2 of Scilab, but with Version 5.0.2 I get the
message

Warning !!!
Scilab has found a critical error (EXCEPTION_ACCESS_VIOLATION)
with "call" function.
Save your data and restart Scilab.

Warning: stack problem..., cleared.



Does anybody  know  why? and how could I solve it.

Thanks in advance,

Sébastien



-- 
Sébastien Barré
Sinus Messtechnik GmbH
Foepplstrasse 13
D-04347 Leipzig
Germany
Tel: +49 341 244 29 28



More information about the dev mailing list