Large arrays to DLL? [message #2885] |
Fri, 02 September 1994 07:06 |
harmer
Messages: 8 Registered: April 1994
|
Junior Member |
|
|
Hi
I am writing a DLL, under windows 3.1, using Borland C++ 3.1
for windows compiling using the large memory model.
The DLL is called by idl using call_external, and IDL passes a very
long array of bytes to the DLL by reference (2621444 bytes).
The problem I have is that the DLL can write to the first 32767 bytes
of the array, but as soon as it writes the 32768'th byte, idl reads the
whole array as being full of zeroes.
In the DLL the array is declared as:
char far * Array;
and it is writen to, at least the first 32767 bytes, using simple pointer
arithmetic:
*(Array + i) = myvalue;
where, as I said, i works from 0 to 32766, but not above - 32766 'cos I start
from 0.
How can I write to the rest of the array, please?
If I can't get at the rest of the array, how does idl do it?
Mark
|
|
|