Yeah, if I remove ShareMem from my uses clauses, funnily enough my test
program doesn't work anymore either - with the same problem as first
mentioned! Rohit, I'm presuming you don't need a copy of it anymore.
My guess is if there are any TStringFields, which use long strings, in
your table data, that alone would be sufficient to require ShareMem in
the program.
I ran into a curious problem while I was mucking around anyway. I have
no problem creating an instance of the DLL form, displaying it, and
joining it to the dataset on the calling program's main form. But when
I try to set the parent property of the DLL form to a tabsheet of a page
control, the DLL form just disappears (doesn't appear on the tabsheet)
and I get an exception when the program finishes. The same code works
when I choose any other form to place on the tabsheet except the one
from the DLL. Do you have to do something special to get that to work?
Cheers,
Carl Reynolds Ph: +64-9-4154790
CJN Technologies Ltd. Fax: +64-9-4154791
[EMAIL PROTECTED] DDI: +64-9-4154795
PO Box 302-278, North Harbour, Auckland, New Zealand
12 Piermark Drive, North Harbour Estate, Auckland, NZ
Visit our website at http://www.cjntech.co.nz/
> -----Original Message-----
> From: [EMAIL PROTECTED] [SMTP:[EMAIL PROTECTED]]
> Sent: Friday, September 03, 1999 1:13 AM
> To: Multiple recipients of list delphi
> Subject: Re: RE: [DUG]: Forms from DLLs
>
> Aaarrgghh, when did they add the rest of the to the help. It wasnt
> there last time I read it probably in D2.
>
> On 2 Sep 99 at 11:40, Aaron Scott-Boddendijk wrote:
>
> > >> It's not the problem of NOT including the Borland shared Memory
> > >> Manager if strings are being used?
> > >> in the DLL uses statements??
> >
> > > No, thats only required for sharing long strings. Hmm. maybe it
> is.
> > > I will have another look at it later.
> >
> > As the snippet from the help below states... Strings ain't the only
> evil...
> > All dynamic arrays as well or anything allocated with New or
> GetMem...
> > so that's likely to cover a lot of the VCL...
> >
> > "If a DLL exports routines that pass long strings or dynamic arrays
> > as parameters or function results (whether directly or nested in
> records
> > or objects), then the DLL and its client applications (or DLLs) must
> all
> > use the ShareMem unit. The same is true if one application or DLL
> > allocates memory with New or GetMem which is deallocated by a call
> > to Dispose or FreeMem in another module. ShareMem should always
> > be the first unit listed in any program or library uses clause where
> it
> > occurs."
> >
> > --
> > Aaron Scott-Boddendijk
> > Jump Productions
> > (07) 838-3371 Voice
> > (07) 838-3372 Fax
> >
> >
> >
> ----------------------------------------------------------------------
> -----
> > New Zealand Delphi Users group - Delphi List -
> [EMAIL PROTECTED]
> > Website: http://www.delphi.org.nz
> >
> Rohit
>
> ======================================================================
> CFL - Computer Fanatics Ltd. 21 Barry's Point Road, AKL, New Zealand
> PH (649) 489-2280
> FX (649) 489-2290
> email [EMAIL PROTECTED] or [EMAIL PROTECTED]
> ======================================================================
>
> ----------------------------------------------------------------------
> -----
> New Zealand Delphi Users group - Delphi List -
> [EMAIL PROTECTED]
> Website: http://www.delphi.org.nz
application/ms-tnef