Hi All,

Trying to call a standard DLL (not com standard).  The parameters
passed in are an integer var and an array (input data) lastly an
empty array of 100 elements is passed that will be filled with
solution data by the DLL. My problem is that the DLL is getting the
int parameter 1 correctly, but not either of the arrays.  I didn't
think I needed to designate pass by reference.

Anybody have a solution

I'm calling it as follows:

client static int runDLL()
{
    Dll           _myDLL;
    DllFunction   _myFunction;
    int           iParam1,iReturn;
    Array         iInParams,iOutSolution;

    iInParams    = new Array(Types::Integer);
    iOutSolution = new Array(Types::Integer);

    _myDLL      = new DLL('c:\\mydll');
    _myFunction = new DLLFunction(_myDLL,'myFunction ');

    _myFunction.arg(ExtTypes::DWord,   // iParam1      int
                    ExtTypes::Pointer, // nInParams    int
                    ExtTypes::Pointer) // iOutSolution dbl
   

    iParam1 = 6
    iInParams.value(1,10);
    iInParams.value(2,20);

    iOutSolution.value(1,0);  
    iOutSolution.value(2,0);  

    iReturn = 9999;
    iReturn = _myFunction.call(iParam1,iInParams,iOutSolution)
}

Thanks for any help
Tim Peterson








YAHOO! GROUPS LINKS




Reply via email to