Changing private variables would be included in this due to the way Delphi
accesses properties.
Have a look at the compiled code. If you specify a property xa: Boolean read
fxa; then Delphi directly accesses the private variable "fxa" by offset from
the start of the object, so changing anything in the object "could" cause
this to fail.
Also adding procedures/functions to the private section could change the
virtual call table, so again would cause this to fail.
ie Any change in the "Interface" would have an effect - this is one case
where real "privates" would be nice - a case of Delphi being to
"Smart"/optimal - there is always some trade off.
The only way to get what you want in this case would be to use COM
Interfaces, this way the Viable does not change - Unless you manually change
the DISPID, in which case you are just asking for trouble.
> -----Original Message-----
> From: Kerry Sainsbury [SMTP:[EMAIL PROTECTED]]
> Sent: Friday, September 03, 1999 11:09 AM
> To: Multiple recipients of list delphi
> Subject: RE: [DUG]: Forms from DLLs
>
> --- Dennis Chuah <[EMAIL PROTECTED]> wrote:
> >
> > Only if you have changed the interface section of any of the units.
>
> That wasn't my impression. In my experience it was just a bloody great
> pain in the butt.
>
> I wonder if adding or altering private variables is included in the
> definition of "changing the interface section".
>
> I haven't gone looking for the cause of the problem exhaustively.
> People should just be aware that it isn't all roses.
>
> > > Just be warned that when you change a packages, you really need to
> > > recompile both the package *and* the application that uses
> > > the package.
> > >
> > > This may, or may not, become a pain in the butt for you.
> > >
> > > Kerry S
> > >
> > > --- Myles Penlington <[EMAIL PROTECTED]> wrote:
> > > > Is this one? of the reasons Borland invented the DPL/BPL
> > libraries
> > > > which is
> > > > a superset of the DLL for Delphi use??
> > > > And perhaps we should be using the DPL/BPL instead (and hence get
> > > > around
> > > > these kind of problems)?
> > > > Myles.
> > > >
> > > >
> > > > > -----Original Message-----
> > > > > From: Carl Reynolds [SMTP:[EMAIL PROTECTED]]
> > > > > Sent: Thursday, September 02, 1999 1:30 PM
> > > > > To: Multiple recipients of list delphi
> > > > > Subject: RE: [DUG]: Forms from DLLs
> > > > >
> > > > > 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/
> > > > >
> > >
> > >
> > > _______________________________________________________________
> > > Do You Yahoo!?
> > > Get your free @yahoo.com.au address at http://mail.yahoo.com.au
> > > or your free @yahoo.co.nz address at http://mail.yahoo.co.nz
> > >
> > > --------------------------------------------------------------
> > > -------------
> > > New Zealand Delphi Users group - Delphi List -
> > > [EMAIL PROTECTED]
> > > Website: http://www.delphi.org.nz
> > >
> >
> --------------------------------------------------------------------------
> -
> > New Zealand Delphi Users group - Delphi List -
> > [EMAIL PROTECTED]
> > Website: http://www.delphi.org.nz
> >
> >
>
> ===
> -- Systems Engineer, Inprise NZ. [EMAIL PROTECTED]
> _______________________________________________________________
> Do You Yahoo!?
> Get your free @yahoo.com.au address at http://mail.yahoo.com.au
> or your free @yahoo.co.nz address at http://mail.yahoo.co.nz
>
> --------------------------------------------------------------------------
> -
> New Zealand Delphi Users group - Delphi List - [EMAIL PROTECTED]
> Website: http://www.delphi.org.nz
---------------------------------------------------------------------------
New Zealand Delphi Users group - Delphi List - [EMAIL PROTECTED]
Website: http://www.delphi.org.nz