comp.lang.idl-pvwave archive
Messages from Usenet group comp.lang.idl-pvwave, compiled by Paulo Penteado

Home » Public Forums » archive » how to pass array from dll into IDL?
Show: Today's Messages :: Show Polls :: Message Navigator
E-mail to friend 
Return to the default flat view Create a new topic Submit Reply
how to pass array from dll into IDL? [message #25656] Thu, 05 July 2001 07:53 Go to previous message
maxschautzer is currently offline  maxschautzer
Messages: 2
Registered: July 2001
Junior Member
Hi ,

I need to pass a bytearray from the dll to IDL (5.2).
I am writing a wrapper for a framegrabber which uses the dll functions to aquire
the single frames(monochrome).

Then I try to pass the pointer address to idl, then this address seems not to work.
Here my example:

in dll:

IDL_LONG TestFunction(int argc, void* argv[])
{
IDL_LONG *answer;
BYTE b=255; //BYTE is UCHAR
BYTE *pb;
answer = (IDL_LONG *)argv[0];
pb=&b;
*answer = (IDL_LONG)pb;
return(0L); //Return zero if all okay
}

in IDL:

a=10L
err=Call_External('aquire.dll','TestFunction',a)
print,a
IDL>10415668

This address seems not to be the address for b in dll. I tested this with:
var = EXTPROC_DEREF(addr,BYTE=1)
print,var
IDL>94 not 255
-> EXTPROC_DEREF comes from http://www.rlkling.com/

So her are my questions: How can I access these different address spaces?
How can I test this address in IDL?
Is there any possibility to transfer whole arrays(frames)?
And if, how fast can I get these arrays(25ms)?

Thanks

Max
[Message index]
 
Read Message
Read Message
Read Message
Read Message
Previous Topic: angles from rotation matrix
Next Topic: Looking for IDL code to read Excel spreadsheet

-=] Back to Top [=-
[ Syndicate this forum (XML) ] [ RSS ] [ PDF ]

Current Time: Wed Oct 08 14:52:50 PDT 2025

Total time taken to generate the page: 0.00433 seconds