FoxInCloud
Form problem
Gravatar is a globally recognized avatar based on your email address. Form problem
  Michele
  thn@foxincloud.com
  Oct 29, 2014 @ 08:38am
In all my forms (already in original class) i have a property called oUser. This is an object that contains some user's property. Every time i call a form this object is the first parameter i pass to the form and in the form.Init() i save the passed value in its property. I have a form (but not only this) where sometime this object doesn't contain the correct values....This property is saved also in form.wcPropSave property...The form where i have the problem is correctly initialized, but when i save the data, for example, i have a Data type mismatch error and the line where the error occurs is this:

If This.oUser.UserType < 2

This.oUser.UserType in my app is always a numeric value......The problem is that i am not able to reproduce this error on my development machine, but it appears randomly in production mode on my site and i receive the error mail.....

Why do i have this problem ? Can be a session problem ? can i manage this problem ? Should be a close session ?

I read in last version notes that i "User can receive an alert when his session has expired", but nothing appears, so i think this is not.....

At the moment i insert a log that tracks this problem.....before saving data.....

Gravatar is a globally recognized avatar based on your email address. Re: Form problem
  FoxInCloud Support - Thierry N.
  Michele
  Oct 29, 2014 @ 09:08am
do you sometimes pass a reference of a form member to another form?
something like:
thisForm.wform('someForm',, thisform.oUser, this)


In all my forms (already in original class) i have a property called oUser. This is an object that contains some user's property. Every time i call a form this object is the first parameter i pass to the form and in the form.Init() i save the passed value in its property. I have a form (but not only this) where sometime this object doesn't contain the correct values....This property is saved also in form.wcPropSave property...The form where i have the problem is correctly initialized, but when i save the data, for example, i have a Data type mismatch error and the line where the error occurs is this:

If This.oUser.UserType < 2

This.oUser.UserType in my app is always a numeric value......The problem is that i am not able to reproduce this error on my development machine, but it appears randomly in production mode on my site and i receive the error mail.....

Why do i have this problem ? Can be a session problem ? can i manage this problem ? Should be a close session ?

I read in last version notes that i "User can receive an alert when his session has expired", but nothing appears, so i think this is not.....

At the moment i insert a log that tracks this problem.....before saving data.....


-- thn (FoxInCloud)

Gravatar is a globally recognized avatar based on your email address. Re: Form problem
  Michele
  Thierry Nivelet (FoxInCloud)
  Oct 29, 2014 @ 09:24am
Yes


do you sometimes pass a reference of a form member to another form?
something like:
thisForm.wform('someForm',, thisform.oUser, this)


In all my forms (already in original class) i have a property called oUser. This is an object that contains some user's property. Every time i call a form this object is the first parameter i pass to the form and in the form.Init() i save the passed value in its property. I have a form (but not only this) where sometime this object doesn't contain the correct values....This property is saved also in form.wcPropSave property...The form where i have the problem is correctly initialized, but when i save the data, for example, i have a Data type mismatch error and the line where the error occurs is this:

If This.oUser.UserType < 2

This.oUser.UserType in my app is always a numeric value......The problem is that i am not able to reproduce this error on my development machine, but it appears randomly in production mode on my site and i receive the error mail.....

Why do i have this problem ? Can be a session problem ? can i manage this problem ? Should be a close session ?

I read in last version notes that i "User can receive an alert when his session has expired", but nothing appears, so i think this is not.....

At the moment i insert a log that tracks this problem.....before saving data.....


Gravatar is a globally recognized avatar based on your email address. Re: Form problem
  FoxInCloud Support - Thierry N.
  Michele
  Oct 29, 2014 @ 09:29am
OK, we've found a bug in this specific case when target form is a child form and several users work on this child form simultaneously.

here is a hot fix:

modify command awServer

* ------------------------------------------------------------
hidden function objectOfPV && objet à partir de sa traduction XML mémorisée
lparameters ;
toObj as Collection; && Référence à l'objet; évite d'en créer un autre
, tcPV as String; && résultat de this.PVofObject() ci-dessus
, toForm as awFrm of aw.vcx

* toObj = Iif(Type('m.toObj.Class') == 'C', m.toObj, CreateObject('Empty'))
&& /!\ VFP se plante brutalement si une propriété d'un objet contient un objet empty sans aucune propriété

LOCAL result;
, loForm as awFrm of aw.vcx;

toObj = objectOfXML(m.tcPV, m.toObj, @m.result)

if .T.;
and this.lSuccess(Empty(m.result), m.result);
and varSet(@m.loForm, oFormIn(m.toObj));
and Vartype(m.loForm) == 'O';
and m.loForm # m.toForm;
and !m.loForm.Name == m.toForm.wcDSform;
and .T.

m.loForm.wcUserID = m.this.cUserID
endif

return m.toObj

endfunc


Yes


do you sometimes pass a reference of a form member to another form?
something like:
thisForm.wform('someForm',, thisform.oUser, this)


In all my forms (already in original class) i have a property called oUser. This is an object that contains some user's property. Every time i call a form this object is the first parameter i pass to the form and in the form.Init() i save the passed value in its property. I have a form (but not only this) where sometime this object doesn't contain the correct values....This property is saved also in form.wcPropSave property...The form where i have the problem is correctly initialized, but when i save the data, for example, i have a Data type mismatch error and the line where the error occurs is this:

If This.oUser.UserType < 2

This.oUser.UserType in my app is always a numeric value......The problem is that i am not able to reproduce this error on my development machine, but it appears randomly in production mode on my site and i receive the error mail.....

Why do i have this problem ? Can be a session problem ? can i manage this problem ? Should be a close session ?

I read in last version notes that i "User can receive an alert when his session has expired", but nothing appears, so i think this is not.....

At the moment i insert a log that tracks this problem.....before saving data.....




-- thn (FoxInCloud)

Gravatar is a globally recognized avatar based on your email address. Re: Form problem
  Michele
  Thierry Nivelet (FoxInCloud)
  Oct 29, 2014 @ 09:42am
Great. Thanks. When i'll get a medal for the stress test ?


OK, we've found a bug in this specific case when target form is a child form and several users work on this child form simultaneously.

here is a hot fix:

modify command awServer

* ------------------------------------------------------------
hidden function objectOfPV && objet à partir de sa traduction XML mémorisée
lparameters ;
toObj as Collection; && Référence à l'objet; évite d'en créer un autre
, tcPV as String; && résultat de this.PVofObject() ci-dessus
, toForm as awFrm of aw.vcx

* toObj = Iif(Type('m.toObj.Class') == 'C', m.toObj, CreateObject('Empty'))
&& /!\ VFP se plante brutalement si une propriété d'un objet contient un objet empty sans aucune propriété

LOCAL result;
, loForm as awFrm of aw.vcx;

toObj = objectOfXML(m.tcPV, m.toObj, @m.result)

if .T.;
and this.lSuccess(Empty(m.result), m.result);
and varSet(@m.loForm, oFormIn(m.toObj));
and Vartype(m.loForm) == 'O';
and m.loForm # m.toForm;
and !m.loForm.Name == m.toForm.wcDSform;
and .T.

m.loForm.wcUserID = m.this.cUserID
endif

return m.toObj

endfunc


Yes


do you sometimes pass a reference of a form member to another form?
something like:
thisForm.wform('someForm',, thisform.oUser, this)


In all my forms (already in original class) i have a property called oUser. This is an object that contains some user's property. Every time i call a form this object is the first parameter i pass to the form and in the form.Init() i save the passed value in its property. I have a form (but not only this) where sometime this object doesn't contain the correct values....This property is saved also in form.wcPropSave property...The form where i have the problem is correctly initialized, but when i save the data, for example, i have a Data type mismatch error and the line where the error occurs is this:

If This.oUser.UserType < 2

This.oUser.UserType in my app is always a numeric value......The problem is that i am not able to reproduce this error on my development machine, but it appears randomly in production mode on my site and i receive the error mail.....

Why do i have this problem ? Can be a session problem ? can i manage this problem ? Should be a close session ?

I read in last version notes that i "User can receive an alert when his session has expired", but nothing appears, so i think this is not.....

At the moment i insert a log that tracks this problem.....before saving data.....




Gravatar is a globally recognized avatar based on your email address. Re: Form problem
  FoxInCloud Support - Thierry N.
  Michele
  Oct 29, 2014 @ 10:06am
You do have some bounties ... and you could get far more by raising the issues during the beta ... just kidding ... ;)

Let's make sure the fix really fixes your problem: I don't see any direct relation between the bug we've found and the type error you found.

If you initialize .oUser.UserType with a non-numeric value (say the default .F.), then the chances for the fix to apply increase.


Great. Thanks. When i'll get a medal for the stress test ?


OK, we've found a bug in this specific case when target form is a child form and several users work on this child form simultaneously.

here is a hot fix:

modify command awServer

* ------------------------------------------------------------
hidden function objectOfPV && objet à partir de sa traduction XML mémorisée
lparameters ;
toObj as Collection; && Référence à l'objet; évite d'en créer un autre
, tcPV as String; && résultat de this.PVofObject() ci-dessus
, toForm as awFrm of aw.vcx

* toObj = Iif(Type('m.toObj.Class') == 'C', m.toObj, CreateObject('Empty'))
&& /!\ VFP se plante brutalement si une propriété d'un objet contient un objet empty sans aucune propriété

LOCAL result;
, loForm as awFrm of aw.vcx;

toObj = objectOfXML(m.tcPV, m.toObj, @m.result)

if .T.;
and this.lSuccess(Empty(m.result), m.result);
and varSet(@m.loForm, oFormIn(m.toObj));
and Vartype(m.loForm) == 'O';
and m.loForm # m.toForm;
and !m.loForm.Name == m.toForm.wcDSform;
and .T.

m.loForm.wcUserID = m.this.cUserID
endif

return m.toObj

endfunc


Yes


do you sometimes pass a reference of a form member to another form?
something like:
thisForm.wform('someForm',, thisform.oUser, this)


In all my forms (already in original class) i have a property called oUser. This is an object that contains some user's property. Every time i call a form this object is the first parameter i pass to the form and in the form.Init() i save the passed value in its property. I have a form (but not only this) where sometime this object doesn't contain the correct values....This property is saved also in form.wcPropSave property...The form where i have the problem is correctly initialized, but when i save the data, for example, i have a Data type mismatch error and the line where the error occurs is this:

If This.oUser.UserType < 2

This.oUser.UserType in my app is always a numeric value......The problem is that i am not able to reproduce this error on my development machine, but it appears randomly in production mode on my site and i receive the error mail.....

Why do i have this problem ? Can be a session problem ? can i manage this problem ? Should be a close session ?

I read in last version notes that i "User can receive an alert when his session has expired", but nothing appears, so i think this is not.....

At the moment i insert a log that tracks this problem.....before saving data.....






-- thn (FoxInCloud)

Gravatar is a globally recognized avatar based on your email address. Re: Form problem
  Michele
  Thierry Nivelet (FoxInCloud)
  Oct 29, 2014 @ 10:12am
In my form class i initialized this property to 0 (numeric) because it normally contains numeric values so i think this is the best way. Confirm me that it is better to initialize it to .F.

Did this suggest apply to all custom properties ?


You do have some bounties ... and you could get far more by raising the issues during the beta ... just kidding ... ;)

Let's make sure the fix really fixes your problem: I don't see any direct relation between the bug we've found and the type error you found.

If you initialize .oUser.UserType with a non-numeric value (say the default .F.), then the chances for the fix to apply increase.


Great. Thanks. When i'll get a medal for the stress test ?


OK, we've found a bug in this specific case when target form is a child form and several users work on this child form simultaneously.

here is a hot fix:

modify command awServer

* ------------------------------------------------------------
hidden function objectOfPV && objet à partir de sa traduction XML mémorisée
lparameters ;
toObj as Collection; && Référence à l'objet; évite d'en créer un autre
, tcPV as String; && résultat de this.PVofObject() ci-dessus
, toForm as awFrm of aw.vcx

* toObj = Iif(Type('m.toObj.Class') == 'C', m.toObj, CreateObject('Empty'))
&& /!\ VFP se plante brutalement si une propriété d'un objet contient un objet empty sans aucune propriété

LOCAL result;
, loForm as awFrm of aw.vcx;

toObj = objectOfXML(m.tcPV, m.toObj, @m.result)

if .T.;
and this.lSuccess(Empty(m.result), m.result);
and varSet(@m.loForm, oFormIn(m.toObj));
and Vartype(m.loForm) == 'O';
and m.loForm # m.toForm;
and !m.loForm.Name == m.toForm.wcDSform;
and .T.

m.loForm.wcUserID = m.this.cUserID
endif

return m.toObj

endfunc


Yes


do you sometimes pass a reference of a form member to another form?
something like:
thisForm.wform('someForm',, thisform.oUser, this)


In all my forms (already in original class) i have a property called oUser. This is an object that contains some user's property. Every time i call a form this object is the first parameter i pass to the form and in the form.Init() i save the passed value in its property. I have a form (but not only this) where sometime this object doesn't contain the correct values....This property is saved also in form.wcPropSave property...The form where i have the problem is correctly initialized, but when i save the data, for example, i have a Data type mismatch error and the line where the error occurs is this:

If This.oUser.UserType < 2

This.oUser.UserType in my app is always a numeric value......The problem is that i am not able to reproduce this error on my development machine, but it appears randomly in production mode on my site and i receive the error mail.....

Why do i have this problem ? Can be a session problem ? can i manage this problem ? Should be a close session ?

I read in last version notes that i "User can receive an alert when his session has expired", but nothing appears, so i think this is not.....

At the moment i insert a log that tracks this problem.....before saving data.....






Gravatar is a globally recognized avatar based on your email address. Re: Form problem
  FoxInCloud Support - Thierry N.
  Michele
  Oct 29, 2014 @ 10:24am
you can initialize your properties the way you want, 0 is fine

I just wonder how this property can become non-numeric later on

there might be a bug in the object save and restore process - never found any but ...

I suggest we see whether the fix I provided cures anything, otherwise we'll look in another direction


In my form class i initialized this property to 0 (numeric) because it normally contains numeric values so i think this is the best way. Confirm me that it is better to initialize it to .F.

Did this suggest apply to all custom properties ?


You do have some bounties ... and you could get far more by raising the issues during the beta ... just kidding ... ;)

Let's make sure the fix really fixes your problem: I don't see any direct relation between the bug we've found and the type error you found.

If you initialize .oUser.UserType with a non-numeric value (say the default .F.), then the chances for the fix to apply increase.


Great. Thanks. When i'll get a medal for the stress test ?


OK, we've found a bug in this specific case when target form is a child form and several users work on this child form simultaneously.

here is a hot fix:

modify command awServer

* ------------------------------------------------------------
hidden function objectOfPV && objet à partir de sa traduction XML mémorisée
lparameters ;
toObj as Collection; && Référence à l'objet; évite d'en créer un autre
, tcPV as String; && résultat de this.PVofObject() ci-dessus
, toForm as awFrm of aw.vcx

* toObj = Iif(Type('m.toObj.Class') == 'C', m.toObj, CreateObject('Empty'))
&& /!\ VFP se plante brutalement si une propriété d'un objet contient un objet empty sans aucune propriété

LOCAL result;
, loForm as awFrm of aw.vcx;

toObj = objectOfXML(m.tcPV, m.toObj, @m.result)

if .T.;
and this.lSuccess(Empty(m.result), m.result);
and varSet(@m.loForm, oFormIn(m.toObj));
and Vartype(m.loForm) == 'O';
and m.loForm # m.toForm;
and !m.loForm.Name == m.toForm.wcDSform;
and .T.

m.loForm.wcUserID = m.this.cUserID
endif

return m.toObj

endfunc


Yes


do you sometimes pass a reference of a form member to another form?
something like:
thisForm.wform('someForm',, thisform.oUser, this)


In all my forms (already in original class) i have a property called oUser. This is an object that contains some user's property. Every time i call a form this object is the first parameter i pass to the form and in the form.Init() i save the passed value in its property. I have a form (but not only this) where sometime this object doesn't contain the correct values....This property is saved also in form.wcPropSave property...The form where i have the problem is correctly initialized, but when i save the data, for example, i have a Data type mismatch error and the line where the error occurs is this:

If This.oUser.UserType < 2

This.oUser.UserType in my app is always a numeric value......The problem is that i am not able to reproduce this error on my development machine, but it appears randomly in production mode on my site and i receive the error mail.....

Why do i have this problem ? Can be a session problem ? can i manage this problem ? Should be a close session ?

I read in last version notes that i "User can receive an alert when his session has expired", but nothing appears, so i think this is not.....

At the moment i insert a log that tracks this problem.....before saving data.....







Gravatar is a globally recognized avatar based on your email address. Re: Form problem
  FoxInCloud Support - Thierry N.
  Michele
  Oct 29, 2014 @ 10:41am
In which method do you initialize this object?
can you post the code?


In my form class i initialized this property to 0 (numeric) because it normally contains numeric values so i think this is the best way. Confirm me that it is better to initialize it to .F.

Did this suggest apply to all custom properties ?


-- thn (FoxInCloud)

© 1996-2024