Returning array ...

  • Thread starter Thread starter nicgendron
  • Start date Start date
N

nicgendron

Hi all,

I have a function that I registered to return an OPER array ('P' retur
type).

In all example I saw, here is the way it is done


Code
-------------------

OPER* __stdcall MyFunc(...)
{
static OPER sRet;
static OPER sArray[numberOfElements];

...
//do some calculation
...
// fill sArray
// affect sArray to sRet and set type of sRet to be an array
return &sRet;
}


-------------------


That works very fine but I have two questions :

1 - With this way I can return something in 'numberOfElements' cells
For exemple, if 'numberOfElements' is 3, I can return value in A1
A2 and A3

But what if I need to return value in A1, A2, A3, B1, B2, B3 (i.e
returning an array of 3 by 3)

2 - What if I don't know the number of element that I have to return.
Can I just do a 'malloc' of an array and then forget it ? ...
don't think so. I'll need to 'free' this at some moment. In othe
word, is there a way to replace static variable without having memor
leaks ?

Thanks a lot

Ni
 
Ok, I found an answer, it is to pass

xltypeMulti | xlbitDLLFree in the xltype member of XLOPER

but now, another question appears :

The function is returning an array of size x and y where x and y ar
subject to change from time to time.

To see all the results, I have to select an x by y array, put a formul
in it and then press CTRL+SHIFT+ENTER.

Is there a way to simplify this process.
An example could be to select only one cells, enter the formula, pres
CTRL+SHIFT+ENTER (or not ..) and then you receives an output of x b
y.

Thanks

Ni
 
Hi Nicgendron,
To see all the results, I have to select an x by y array, put a formula
in it and then press CTRL+SHIFT+ENTER.

Is there a way to simplify this process.
An example could be to select only one cells, enter the formula, press
CTRL+SHIFT+ENTER (or not ..) and then you receives an output of x by
y.

Unfortunately not. Also, questions related to xlls are better asked in
the Public.Excel.sdk newsgroup.

Regards

Stephen Bullen
Microsoft MVP - Excel

Professional Excel Development
The most advanced Excel VBA book available
www.oaltd.co.uk/ProExcelDev
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Back
Top