Strings as memptr in COM object?

From: Jan-Jaap van der Geer

Date: 22 Sep 2003


Hello,

9.1D05, W2000

I have a com object that has this function:

string EncryptBody (string data);

In the COM Object viewer it presents itself like this:

[ Character-Var = ] <com-handle>: EncryptBody ( 
	  Character-data ).

However, I might need to feed it more than 32KB and get back more than 32KB.
So I'd like to use memptrs instead. I think this is possible for normal
DLL's, but I cannot get it to work for this routine. Is it possible at all?
The documentation doesn't seem to mention it, but I suspect that what
happens underneath is done via pointers anyway. So why can't I do that
myself?

So this works:

wEncryptedBody = chCryptoProvider:EncryptBody (get-string(wDocBuf,1)).

while this fails:

wEncryptedBody = chCryptoProvider:EncryptBody (wDocBuf).

"Unexpected error occurred while processing method/statement EncryptBody.
ReplaceNode c:\temp\p80406.cmp (5889)"

Haven't tried to make wEncryptedBody as a memptr yet, but I expect the same
type of problems there...

Any ideas?

TIA,
Jan-Jaap