Subject Re: [IBO] TIBO* V.4.2Ga - CacheDMLRefresh after InternalDataset buffer syncronization
Author Jason Wharton
Is this Lookup() problem with the native IBO or the TDataset stuff or both?

Jason Wharton
CPS - Mesa AZ
http://www.ibobjects.com


----- Original Message -----
From: "mmenaz" <mmenaz@...>
To: <IBObjects@yahoogroups.com>
Sent: Wednesday, March 13, 2002 12:40 PM
Subject: Re: [IBO] TIBO* V.4.2Ga - CacheDMLRefresh after InternalDataset
buffer syncronization


> I think that an old locate "bug" I reported you by the times of IBO 3.6D,
and already exists, is related to this fact.
> I reported something like:
> ------
> "I've some problems with IB_Query lookup method when the returning field
of a found record has the null value.
> In fact, the resulting variant is not null, instead is not assigned! So I
can't distinguish from a not found row and a found row but with a null field
> WorkV := Lookup('CONTATTO_ID, IN_USO', VarArrayOf([MyCustId, 'S']),
'ADDRESS');
> If ADDRESS is NOT null the result is correct:
>
> If found: VarIsNull is False, VarType(WorkV)=varEmpty is False
> If NOT found: VarIsNull is False, VarType(WorkV)=varEmpty is True
>
> If ADDRESS *IS* null the result is wrong:
>
> If found: VarIsNull is False, VarType(WorkV)=varEmpty is True (should be
TRUE, FALSE)
> If NOT found: VarIsNull is False, VarType(WorkV)=varEmpty is True
> ------
> I think that the null issue should be fixed, but depends also upon the
impact it has in the IBO, well tested and working code...
> Thanks
> Marco Menardi
>
> --- In IBObjects@y..., "Jason Wharton" <jwharton@i...> wrote:
> > Hmmm.... Not sure what to do here. There are a lot of factors that could
be
> > influencing this.
> >
> > Perhaps you can write your own sub-class to make it do exactly as you
would
> > like?
> >
> > Jason Wharton
> > CPS - Mesa AZ
> > http://www.ibobjects.com
> >
> >
> > ----- Original Message -----
> > From: "Enrico Raviglione" <e.raviglione@i...>
> > To: <IBObjects@y...>
> > Sent: Friday, March 08, 2002 8:36 AM
> > Subject: R: [IBO] TIBO* V.4.2Ga - CacheDMLRefresh after InternalDataset
> > buffer syncronization
> >
> >
> > > Hi Jason,
> > > where my inherited MyTIBOTable/MyTIBOQuery receive a DMLCache
notification
> > > the routine who i attached to my previous e-mail are called.
> > >
> > > If the DMLCache notifcation are due to an Insert or a Delete all seem
to
> > > work fine but if the message are a "ditEdit" my component seem to have
> > some
> > > refresh problem after the InvalidateBookmark().
> > >
> > > I see it with 2 different DBGrid conneted to 2 MyTIBOTable connected
with
> > 2
> > > different transaction to the same Database Table.
> > >
> > > When i do insert or delete on MyTable1 the Grid MyTable2 refresh
correctly
> > > without change the current record (if i don't delete it).
> > > But when i edit one record on MyTable1 after the post, MyTable2
refresh
> > the
> > > changed record but make a strange refresh of all records into the grid
> > > repositioning the table on another current record.
> > >
> > > Regards,
> > > Enrico Raviglione.
> > >
> > >
> > > ) into the same form and when i do the Invalidate
> > > >
> > > > I attach here my C++ code, how you can see in "ditEdit" case i do
only
> > an
> > > > InvalidateBookmark() but when i do this my current record are
changed
> > and
> > > > the Grid display another section of the table (??).