Página 1 de 1

when will TDataField:lModified set to .T.?

Publicado: Lun Sep 11, 2006 2:42 pm
por Ingo Junge-Herrmann

José,
how can I find out if the content of the DBDataControl (the DBDataControl's
buffer) is changed?
I'm using the OnExit like this:
METHOD FExit( oSender, oNextCtl ) CLASS TForm2
LOCAL lOk
lOk:= oSender:oDataField:lModified //it is always .F.
LogDebug(lOk)
RETURN Nil
The complete sample ist attached.
Can you spend a little time to have a look in it and tell me what I'm doing
wrong?
Thanks in advance
Ingo
--

Attached files TestEvent.zip (3.3 KB)Â

when will TDataField:lModified set to .T.?

Publicado: Lun Sep 11, 2006 2:52 pm
por Ingo Junge-Herrmann
José,
when the DataSet is on the Append mode (AddNew) then it works but not when
it is on the Edit mode.
Have you any idea?
Regards
Ingo

when will TDataField:lModified set to .T.?

Publicado: Lun Sep 11, 2006 2:52 pm
por Ingo Junge-Herrmann
José,
when the DataSet is on the Append mode (AddNew) then it works but not when
it is on the Edit mode.
Have you any idea?
Regards
Ingo

when will TDataField:lModified set to .T.?

Publicado: Lun Sep 11, 2006 7:59 pm
por ignacio
Ingo,
It returns .F. because the DataField buffer is not changed yet. Only the
DataControl value is modified. Right now the DataField buffer is changed on
the Update() operation.
BTW, you are not the first one complaining about this problem so we have
decided to fix it so it works as expected for most users. In the next
revision any change to a data control value while in edit mode will provoke
the update of its underlaying data field value. In the same manner, any
change to DataField buffer value will udpate all its linked controls when
in edit mode.
Regards,
--
Ignacio Ortiz de Zúñiga
http://www.xailer.com
"Ingo Junge-Herrmann" <[email=XPRO-0031BA74-01@10.0.0.11]XPRO-0031BA74-01@10.0.0.11[/email]> escribió en el mensaje
news:450559cd$[email=1@news.xailer.com...]1@news.xailer.com...[/email]
>
> José,
>
> how can I find out if the content of the DBDataControl (the
> DBDataControl's
> buffer) is changed?
>
> I'm using the OnExit like this:
>
> METHOD FExit( oSender, oNextCtl ) CLASS TForm2
> LOCAL lOk
> lOk:= oSender:oDataField:lModified //it is always .F.
> LogDebug(lOk)
> RETURN Nil
>
> The complete sample ist attached.
>
> Can you spend a little time to have a look in it and tell me what I'm
> doing
> wrong?
>
> Thanks in advance
>
> Ingo

when will TDataField:lModified set to .T.?

Publicado: Lun Sep 11, 2006 7:59 pm
por NoName
Ingo,
It returns .F. because the DataField buffer is not changed yet. Only the
DataControl value is modified. Right now the DataField buffer is changed on
the Update() operation.
BTW, you are not the first one complaining about this problem so we have
decided to fix it so it works as expected for most users. In the next
revision any change to a data control value while in edit mode will provoke
the update of its underlaying data field value. In the same manner, any
change to DataField buffer value will udpate all its linked controls when
in edit mode.
Regards,
--
Ignacio Ortiz de Zúñiga
http://www.xailer.com
"Ingo Junge-Herrmann" <[email=XPRO-0031BA74-01@10.0.0.11]XPRO-0031BA74-01@10.0.0.11[/email]> escribió en el mensaje
news:450559cd$[email=1@news.xailer.com...]1@news.xailer.com...[/email]
>
> José,
>
> how can I find out if the content of the DBDataControl (the
> DBDataControl's
> buffer) is changed?
>
> I'm using the OnExit like this:
>
> METHOD FExit( oSender, oNextCtl ) CLASS TForm2
> LOCAL lOk
> lOk:= oSender:oDataField:lModified //it is always .F.
> LogDebug(lOk)
> RETURN Nil
>
> The complete sample ist attached.
>
> Can you spend a little time to have a look in it and tell me what I'm
> doing
> wrong?
>
> Thanks in advance
>
> Ingo

when will TDataField:lModified set to .T.?

Publicado: Mar Sep 12, 2006 7:48 am
por Ingo Junge-Herrmann
Ignacio,
thanks for the response, but when DataSet is in Append mode then lModified
is set to .T. if the DataControl is modified like it is specified in the
documentation:
'TDataField:lModified
Returns .T. if the 'buffer' has been modified.'

But it isn't done when the DataSet is in Edit mode. It will be very helpfull
to fix it - thank you vbery much.
In the meantime have you any suggestion for a workaround?
On EditControls I can look at the lModify property but this doesn't exist
in ComboBox. What can I do there?
Thanks in advance
Ingo

"Ignacio Ortiz de Zúñiga" <NoName@xailer.com> wrote:
>Ingo,
>
>It returns .F. because the DataField buffer is not changed yet. Only the
>DataControl value is modified. Right now the DataField buffer is changed
on
>the Update() operation.
>
>BTW, you are not the first one complaining about this problem so we have
>decided to fix it so it works as expected for most users. In the next
>revision any change to a data control value while in edit mode will provoke
>the update of its underlaying data field value. In the same manner, any
>change to DataField buffer value will udpate all its linked controls when
>in edit mode.
>
>Regards,
>
>--
>Ignacio Ortiz de Zúñiga
>http://www.xailer.com
>"Ingo Junge-Herrmann" <[email=XPRO-0031BA74-01@10.0.0.11]XPRO-0031BA74-01@10.0.0.11[/email]> escribió en el mensaje
>news:450559cd$[email=1@news.xailer.com...]1@news.xailer.com...[/email]
>>
>> José,
>>
>> how can I find out if the content of the DBDataControl (the
>> DBDataControl's
>> buffer) is changed?
>>
>> I'm using the OnExit like this:
>>
>> METHOD FExit( oSender, oNextCtl ) CLASS TForm2
>> LOCAL lOk
>> lOk:= oSender:oDataField:lModified //it is always .F.
>> LogDebug(lOk)
>> RETURN Nil
>>
>> The complete sample ist attached.
>>
>> Can you spend a little time to have a look in it and tell me what I'm
>> doing
>> wrong?
>>
>> Thanks in advance
>>
>> Ingo
>
>

when will TDataField:lModified set to .T.?

Publicado: Mar Sep 12, 2006 7:48 am
por Ingo Junge-Herrmann
Ignacio,
thanks for the response, but when DataSet is in Append mode then lModified
is set to .T. if the DataControl is modified like it is specified in the
documentation:
'TDataField:lModified
Returns .T. if the 'buffer' has been modified.'

But it isn't done when the DataSet is in Edit mode. It will be very helpfull
to fix it - thank you vbery much.
In the meantime have you any suggestion for a workaround?
On EditControls I can look at the lModify property but this doesn't exist
in ComboBox. What can I do there?
Thanks in advance
Ingo

"Ignacio Ortiz de Zúñiga" <NoName@xailer.com> wrote:
>Ingo,
>
>It returns .F. because the DataField buffer is not changed yet. Only the
>DataControl value is modified. Right now the DataField buffer is changed
on
>the Update() operation.
>
>BTW, you are not the first one complaining about this problem so we have
>decided to fix it so it works as expected for most users. In the next
>revision any change to a data control value while in edit mode will provoke
>the update of its underlaying data field value. In the same manner, any
>change to DataField buffer value will udpate all its linked controls when
>in edit mode.
>
>Regards,
>
>--
>Ignacio Ortiz de Zúñiga
>http://www.xailer.com
>"Ingo Junge-Herrmann" <[email=XPRO-0031BA74-01@10.0.0.11]XPRO-0031BA74-01@10.0.0.11[/email]> escribió en el mensaje
>news:450559cd$[email=1@news.xailer.com...]1@news.xailer.com...[/email]
>>
>> José,
>>
>> how can I find out if the content of the DBDataControl (the
>> DBDataControl's
>> buffer) is changed?
>>
>> I'm using the OnExit like this:
>>
>> METHOD FExit( oSender, oNextCtl ) CLASS TForm2
>> LOCAL lOk
>> lOk:= oSender:oDataField:lModified //it is always .F.
>> LogDebug(lOk)
>> RETURN Nil
>>
>> The complete sample ist attached.
>>
>> Can you spend a little time to have a look in it and tell me what I'm
>> doing
>> wrong?
>>
>> Thanks in advance
>>
>> Ingo
>
>

when will TDataField:lModified set to .T.?

Publicado: Mar Sep 12, 2006 9:26 am
por ignacio
Ingo,
>> but when DataSet is in Append mode then lModified is set to .T.
Surely because you have manually put a value on its buffer.
>>DataControl is modified like it is specified in the documentation:
Do not mix up 'Data Controls' and 'Data Fields'. lModified return .T. when
the DATAFIELD buffer has change. Nothing to do with DataControls.
> In the meantime have you any suggestion for a workaround?
> On EditControls I can look at the lModify property but this doesn't exist
> in ComboBox. What can I do there?
You can check if the combobox value is the same as the TDataField:Value. But
be aware that in the next revision that comparison will always be true.
Regards,
--
Ignacio Ortiz de Zúñiga
http://www.xailer.com
"Ingo Junge-Herrmann" <[email=XPRO-0031BA74-01@10.0.0.11]XPRO-0031BA74-01@10.0.0.11[/email]> escribió en el mensaje
news:45064a44$[email=1@news.xailer.com...]1@news.xailer.com...[/email]
>
> Ignacio,
>
> thanks for the response, but when DataSet is in Append mode then lModified
> is set to .T. if the DataControl is modified like it is specified in the
> documentation:
>
> 'TDataField:lModified
>
> Returns .T. if the 'buffer' has been modified.'
>
> But it isn't done when the DataSet is in Edit mode. It will be very
> helpfull
> to fix it - thank you vbery much.
>
> In the meantime have you any suggestion for a workaround?
> On EditControls I can look at the lModify property but this doesn't exist
> in ComboBox. What can I do there?
>
> Thanks in advance
>
> Ingo
>
>
>
>
> "Ignacio Ortiz de Zúñiga" <NoName@xailer.com> wrote:
>>Ingo,
>>
>>It returns .F. because the DataField buffer is not changed yet. Only the
>
>>DataControl value is modified. Right now the DataField buffer is changed
> on
>>the Update() operation.
>>
>>BTW, you are not the first one complaining about this problem so we have
>
>>decided to fix it so it works as expected for most users. In the next
>>revision any change to a data control value while in edit mode will
>>provoke
>
>>the update of its underlaying data field value. In the same manner, any
>
>>change to DataField buffer value will udpate all its linked controls when
>
>>in edit mode.
>>
>>Regards,
>>
>>--
>>Ignacio Ortiz de Zúñiga
>>http://www.xailer.com
>>"Ingo Junge-Herrmann" <[email=XPRO-0031BA74-01@10.0.0.11]XPRO-0031BA74-01@10.0.0.11[/email]> escribió en el mensaje
>
>>news:450559cd$[email=1@news.xailer.com...]1@news.xailer.com...[/email]
>>>
>>> José,
>>>
>>> how can I find out if the content of the DBDataControl (the
>>> DBDataControl's
>>> buffer) is changed?
>>>
>>> I'm using the OnExit like this:
>>>
>>> METHOD FExit( oSender, oNextCtl ) CLASS TForm2
>>> LOCAL lOk
>>> lOk:= oSender:oDataField:lModified //it is always .F.
>>> LogDebug(lOk)
>>> RETURN Nil
>>>
>>> The complete sample ist attached.
>>>
>>> Can you spend a little time to have a look in it and tell me what I'm
>
>>> doing
>>> wrong?
>>>
>>> Thanks in advance
>>>
>>> Ingo
>>
>>
>

when will TDataField:lModified set to .T.?

Publicado: Mar Sep 12, 2006 9:26 am
por NoName
Ingo,
>> but when DataSet is in Append mode then lModified is set to .T.
Surely because you have manually put a value on its buffer.
>>DataControl is modified like it is specified in the documentation:
Do not mix up 'Data Controls' and 'Data Fields'. lModified return .T. when
the DATAFIELD buffer has change. Nothing to do with DataControls.
> In the meantime have you any suggestion for a workaround?
> On EditControls I can look at the lModify property but this doesn't exist
> in ComboBox. What can I do there?
You can check if the combobox value is the same as the TDataField:Value. But
be aware that in the next revision that comparison will always be true.
Regards,
--
Ignacio Ortiz de Zúñiga
http://www.xailer.com
"Ingo Junge-Herrmann" <[email=XPRO-0031BA74-01@10.0.0.11]XPRO-0031BA74-01@10.0.0.11[/email]> escribió en el mensaje
news:45064a44$[email=1@news.xailer.com...]1@news.xailer.com...[/email]
>
> Ignacio,
>
> thanks for the response, but when DataSet is in Append mode then lModified
> is set to .T. if the DataControl is modified like it is specified in the
> documentation:
>
> 'TDataField:lModified
>
> Returns .T. if the 'buffer' has been modified.'
>
> But it isn't done when the DataSet is in Edit mode. It will be very
> helpfull
> to fix it - thank you vbery much.
>
> In the meantime have you any suggestion for a workaround?
> On EditControls I can look at the lModify property but this doesn't exist
> in ComboBox. What can I do there?
>
> Thanks in advance
>
> Ingo
>
>
>
>
> "Ignacio Ortiz de Zúñiga" <NoName@xailer.com> wrote:
>>Ingo,
>>
>>It returns .F. because the DataField buffer is not changed yet. Only the
>
>>DataControl value is modified. Right now the DataField buffer is changed
> on
>>the Update() operation.
>>
>>BTW, you are not the first one complaining about this problem so we have
>
>>decided to fix it so it works as expected for most users. In the next
>>revision any change to a data control value while in edit mode will
>>provoke
>
>>the update of its underlaying data field value. In the same manner, any
>
>>change to DataField buffer value will udpate all its linked controls when
>
>>in edit mode.
>>
>>Regards,
>>
>>--
>>Ignacio Ortiz de Zúñiga
>>http://www.xailer.com
>>"Ingo Junge-Herrmann" <[email=XPRO-0031BA74-01@10.0.0.11]XPRO-0031BA74-01@10.0.0.11[/email]> escribió en el mensaje
>
>>news:450559cd$[email=1@news.xailer.com...]1@news.xailer.com...[/email]
>>>
>>> José,
>>>
>>> how can I find out if the content of the DBDataControl (the
>>> DBDataControl's
>>> buffer) is changed?
>>>
>>> I'm using the OnExit like this:
>>>
>>> METHOD FExit( oSender, oNextCtl ) CLASS TForm2
>>> LOCAL lOk
>>> lOk:= oSender:oDataField:lModified //it is always .F.
>>> LogDebug(lOk)
>>> RETURN Nil
>>>
>>> The complete sample ist attached.
>>>
>>> Can you spend a little time to have a look in it and tell me what I'm
>
>>> doing
>>> wrong?
>>>
>>> Thanks in advance
>>>
>>> Ingo
>>
>>
>

when will TDataField:lModified set to .T.?

Publicado: Mar Sep 12, 2006 9:55 am
por Ingo Junge-Herrmann
Ignacio,
thank you very much again. I see it's better to wait for the next revision.
Regards
Ingo
"Ignacio Ortiz de Zúñiga" <NoName@xailer.com> wrote:
>Ingo,
>
>>> but when DataSet is in Append mode then lModified is set to .T.
>
>Surely because you have manually put a value on its buffer.
>
>>>DataControl is modified like it is specified in the documentation:
>
>Do not mix up 'Data Controls' and 'Data Fields'. lModified return .T. when
>the DATAFIELD buffer has change. Nothing to do with DataControls.
>
>> In the meantime have you any suggestion for a workaround?
>> On EditControls I can look at the lModify property but this doesn't exist
>> in ComboBox. What can I do there?
>
>You can check if the combobox value is the same as the TDataField:Value.
But
>be aware that in the next revision that comparison will always be true.
>
>Regards,
>
>--
>Ignacio Ortiz de Zúñiga
>http://www.xailer.com
>"Ingo Junge-Herrmann" <[email=XPRO-0031BA74-01@10.0.0.11]XPRO-0031BA74-01@10.0.0.11[/email]> escribió en el mensaje
>news:45064a44$[email=1@news.xailer.com...]1@news.xailer.com...[/email]
>>
>> Ignacio,
>>
>> thanks for the response, but when DataSet is in Append mode then lModified
>> is set to .T. if the DataControl is modified like it is specified in the
>> documentation:
>>
>> 'TDataField:lModified
>>
>> Returns .T. if the 'buffer' has been modified.'
>>
>> But it isn't done when the DataSet is in Edit mode. It will be very
>> helpfull
>> to fix it - thank you vbery much.
>>
>> In the meantime have you any suggestion for a workaround?
>> On EditControls I can look at the lModify property but this doesn't exist
>> in ComboBox. What can I do there?
>>
>> Thanks in advance
>>
>> Ingo
>>
>>
>>
>>
>> "Ignacio Ortiz de Zúñiga" <NoName@xailer.com> wrote:
>>>Ingo,
>>>
>>>It returns .F. because the DataField buffer is not changed yet. Only the
>>
>>>DataControl value is modified. Right now the DataField buffer is changed
>> on
>>>the Update() operation.
>>>
>>>BTW, you are not the first one complaining about this problem so we have
>>
>>>decided to fix it so it works as expected for most users. In the next
>>>revision any change to a data control value while in edit mode will
>>>provoke
>>
>>>the update of its underlaying data field value. In the same manner, any
>>
>>>change to DataField buffer value will udpate all its linked controls
when
>>
>>>in edit mode.
>>>
>>>Regards,
>>>
>>>--
>>>Ignacio Ortiz de Zúñiga
>>>http://www.xailer.com
>>>"Ingo Junge-Herrmann" <[email=XPRO-0031BA74-01@10.0.0.11]XPRO-0031BA74-01@10.0.0.11[/email]> escribió en el mensaje
>>
>>>news:450559cd$[email=1@news.xailer.com...]1@news.xailer.com...[/email]
>>>>
>>>> José,
>>>>
>>>> how can I find out if the content of the DBDataControl (the
>>>> DBDataControl's
>>>> buffer) is changed?
>>>>
>>>> I'm using the OnExit like this:
>>>>
>>>> METHOD FExit( oSender, oNextCtl ) CLASS TForm2
>>>> LOCAL lOk
>>>> lOk:= oSender:oDataField:lModified //it is always .F.
>>>> LogDebug(lOk)
>>>> RETURN Nil
>>>>
>>>> The complete sample ist attached.
>>>>
>>>> Can you spend a little time to have a look in it and tell me what I'm
>>
>>>> doing
>>>> wrong?
>>>>
>>>> Thanks in advance
>>>>
>>>> Ingo
>>>
>>>
>>
>
>

when will TDataField:lModified set to .T.?

Publicado: Mar Sep 12, 2006 9:55 am
por Ingo Junge-Herrmann
Ignacio,
thank you very much again. I see it's better to wait for the next revision.
Regards
Ingo
"Ignacio Ortiz de Zúñiga" <NoName@xailer.com> wrote:
>Ingo,
>
>>> but when DataSet is in Append mode then lModified is set to .T.
>
>Surely because you have manually put a value on its buffer.
>
>>>DataControl is modified like it is specified in the documentation:
>
>Do not mix up 'Data Controls' and 'Data Fields'. lModified return .T. when
>the DATAFIELD buffer has change. Nothing to do with DataControls.
>
>> In the meantime have you any suggestion for a workaround?
>> On EditControls I can look at the lModify property but this doesn't exist
>> in ComboBox. What can I do there?
>
>You can check if the combobox value is the same as the TDataField:Value.
But
>be aware that in the next revision that comparison will always be true.
>
>Regards,
>
>--
>Ignacio Ortiz de Zúñiga
>http://www.xailer.com
>"Ingo Junge-Herrmann" <[email=XPRO-0031BA74-01@10.0.0.11]XPRO-0031BA74-01@10.0.0.11[/email]> escribió en el mensaje
>news:45064a44$[email=1@news.xailer.com...]1@news.xailer.com...[/email]
>>
>> Ignacio,
>>
>> thanks for the response, but when DataSet is in Append mode then lModified
>> is set to .T. if the DataControl is modified like it is specified in the
>> documentation:
>>
>> 'TDataField:lModified
>>
>> Returns .T. if the 'buffer' has been modified.'
>>
>> But it isn't done when the DataSet is in Edit mode. It will be very
>> helpfull
>> to fix it - thank you vbery much.
>>
>> In the meantime have you any suggestion for a workaround?
>> On EditControls I can look at the lModify property but this doesn't exist
>> in ComboBox. What can I do there?
>>
>> Thanks in advance
>>
>> Ingo
>>
>>
>>
>>
>> "Ignacio Ortiz de Zúñiga" <NoName@xailer.com> wrote:
>>>Ingo,
>>>
>>>It returns .F. because the DataField buffer is not changed yet. Only the
>>
>>>DataControl value is modified. Right now the DataField buffer is changed
>> on
>>>the Update() operation.
>>>
>>>BTW, you are not the first one complaining about this problem so we have
>>
>>>decided to fix it so it works as expected for most users. In the next
>>>revision any change to a data control value while in edit mode will
>>>provoke
>>
>>>the update of its underlaying data field value. In the same manner, any
>>
>>>change to DataField buffer value will udpate all its linked controls
when
>>
>>>in edit mode.
>>>
>>>Regards,
>>>
>>>--
>>>Ignacio Ortiz de Zúñiga
>>>http://www.xailer.com
>>>"Ingo Junge-Herrmann" <[email=XPRO-0031BA74-01@10.0.0.11]XPRO-0031BA74-01@10.0.0.11[/email]> escribió en el mensaje
>>
>>>news:450559cd$[email=1@news.xailer.com...]1@news.xailer.com...[/email]
>>>>
>>>> José,
>>>>
>>>> how can I find out if the content of the DBDataControl (the
>>>> DBDataControl's
>>>> buffer) is changed?
>>>>
>>>> I'm using the OnExit like this:
>>>>
>>>> METHOD FExit( oSender, oNextCtl ) CLASS TForm2
>>>> LOCAL lOk
>>>> lOk:= oSender:oDataField:lModified //it is always .F.
>>>> LogDebug(lOk)
>>>> RETURN Nil
>>>>
>>>> The complete sample ist attached.
>>>>
>>>> Can you spend a little time to have a look in it and tell me what I'm
>>
>>>> doing
>>>> wrong?
>>>>
>>>> Thanks in advance
>>>>
>>>> Ingo
>>>
>>>
>>
>
>