Subject: Re: AW: DLL function with string result?
From: Andrew Markebo <[email-masked]>
To: Christian Lescher <[email-masked]>
Cc: [email-masked]
Date: 20 Apr 2001 22:36:26 +0200

I would vote for something like you have a function 'dealloc' exported
from the dll that has a function that returns the char* in the first
place.

Have you  tried copying the string by hand?? Sort of.. I mean, could
it be that the implementation of strdup can't handle strings that are
longer than 64k.

Which compiler-platform is it on?? What code does what?? Please answer
that question first!

        /Andy

/ Christian Lescher <[email-masked]> wrote:
| I found that in windowsx.h of cygwin/gcc there are the following functions defined:
| 
| #define GlobalAllocPtr(flags,cb) (GlobalLock(GlobalAlloc((flags),(cb))))
| #define GlobalFreePtr(lp) (GlobalUnlockPtr(lp),(BOOL)GlobalFree(GlobalPtrHandle(lp)))
| 
| May these functions also be used for copying a string? How must they be used? (Maybe this works also for string > 64 KB?!)
| Is this also a way for interworking of Borland and Visual?
| 
| Christian
| 
| | char*
| | mallocAndStrCpy (const char* srcStr) {
| |    if (srcStr == NULL)
| |       return NULL;
| |    return strdup(srcStr);
| | }

--
Want to unsubscribe from this list?
Check out: http://cygwin.com/ml/#unsubscribe-simple