FoxInCloud
Launching Form Error
Gravatar is a globally recognized avatar based on your email address. Launching Form Error
  n/a
  All
  Jun 2, 2015 @ 06:33am
I have launched forms from within forms, modal look-ups, with no problems until now. I have a form that needs to open another form, but this new form does not need to be modal or have a callback. It is passed an object. In this object is information required to email a report. The second form will take this object and allow some user intervention. I must be invoking it incorrectly as I get an error "Property ICARCHIVENAME is not found". Ignoring will produce operator/operand type mismatches. Continued ignoring will speak of: ICAuthor, ICCategory, ICComments. I first tried using a simple form for the called form, but I still get the error. The form call is:

Thisform.wForm('PrintFaxEmail.scx', .F., Thisform.inetPFEObject)

I have traced the error through the call chain: awajax.formrequest -> formrequestcomplete -> xmlpropschangedadd -> propssave -> propssave_user -> pvofobject

Somewhere around there is where the error starts, it is not in source so the last one may be after the error. The call stack includes cxmlofobject and cxmlofobject_, but these may be in answer to the error. I am obviously missing something, any ideas?

Thanks - James

Gravatar is a globally recognized avatar based on your email address. Re: Launching Form Error
  FoxInCloud Support - Thierry N.
  James Patterson
  Jun 2, 2015 @ 09:24am
not sure why you can't get the program to stop on the offending line

did you run this scenario in debug mode?

(make sure to run FoxInCloud Web Application studio as an Administrator)

do atPJcompileDebugMode with .T.


I have launched forms from within forms, modal look-ups, with no problems until now. I have a form that needs to open another form, but this new form does not need to be modal or have a callback. It is passed an object. In this object is information required to email a report. The second form will take this object and allow some user intervention. I must be invoking it incorrectly as I get an error "Property ICARCHIVENAME is not found". Ignoring will produce operator/operand type mismatches. Continued ignoring will speak of: ICAuthor, ICCategory, ICComments. I first tried using a simple form for the called form, but I still get the error. The form call is:

Thisform.wForm('PrintFaxEmail.scx', .F., Thisform.inetPFEObject)

I have traced the error through the call chain: awajax.formrequest -> formrequestcomplete -> xmlpropschangedadd -> propssave -> propssave_user -> pvofobject

Somewhere around there is where the error starts, it is not in source so the last one may be after the error. The call stack includes cxmlofobject and cxmlofobject_, but these may be in answer to the error. I am obviously missing something, any ideas?

Thanks - James


-- thn (FoxInCloud)

Gravatar is a globally recognized avatar based on your email address. Re: Launching Form Error
  n/a
  Thierry Nivelet (FoxInCloud)
  Jun 2, 2015 @ 10:25am
Since the first post, I have been poking around awserver. This has been slow as the exception blows out the server and the VFP IDE and requires a restart. The following line of code is called just before the error occurs:

REPLACE ;
PT WITH m.lcPT;
, PV WITH m.lcPV;
, nSms WITH m.lnMS;
FOR .T.;
and !(PT = 'V' and BC = 'Form ' and PN = 'DataSession '); && DataSession: fait par this.PropsSave_DS() && ceinture et double bretelles ... && rushmorisé [cf. this.PropsSave_Index()]
and varSet(@m.lcOA, Trim(OA));
and varSet(@m.loOB, ICase(;
Empty(m.lcOA),;
m.toForm,;
m.lcOA == m.lcOA_,;
m.loOB,;
JustStem(m.lcOA_) == m.lcOA,;
m.loOB.Parent,;
JustStem(m.lcOA) == m.lcOA_,;
Evaluate('m.loOB.' + JustExt(m.lcOA)),;
Evaluate('m.toForm.' + m.lcOA);
));
and varSet(@m.lcOA_, m.lcOA);
and (.F.;
or .T.;
and PT == 'A'; && tableau
and varSet(@m.lcPT, PT); && indispensable
and this.PropSave_Array(m.loOB, Trim(PN), PP); && fait le REPLACE
or .T.;
and PN = 'GRIDRS '; && grille
and varSet(@m.lcPT, PT);
and varSet(@m.lcPV, this.PropSave_cPV_Grid(m.loOB));
or .T.;
and PT == 'O'; && objet
and varSet(@m.lcPT, PT);
and varSet(@m.lcPV, this.PVofObject(Iif(PP; && PP: propriété PROTECTED ou HIDDEN
, m.loOB.wPropGet(Trim(PN)); && {V1.25} 14/05/12
, GetPem(m.loOB, Trim(PN));
), PN));
or .T.;
and (.F.;
or !Trim(PN) == 'TEXT'; && Si .Text, rafraîchir le contrôle pour être sûr que la valeur soit à jour
or Nvl(Evl(Cast(m.loOB.Refresh() as L), .T.), .T.);
);
and varSet(@m.luPV, Iif(PP; && PP: propriété PROTECTED ou HIDDEN
, m.loOB.wPropGet(Trim(PN)); && {V1.25} 14/05/12
, GetPem(m.loOB, Trim(PN));
));
and varSet(@m.lcPT, Vartype(m.luPV));
and varSet(@m.lcPV, Iif(m.lcPT == 'O';
, this.PVofObject(m.luPV, PN);
, Transform(m.luPV);
));
);
and !(m.lcPT == 'A' or PT == m.lcPT AND PV == m.lcPV); && réduit le nombre de REPLACE
and varSet(@m.lnMS, nMS(@m.lnSec))

Truly a line of code that would make Faulkner proud! At least it looks like a single line. This code is called several times during the execution without error, so obviously I am sending it something wrong. Most of the variables are bool, but I did find a reference to a button. I checked and it is a descendent of awcmd. Stepping through this displays the source not available and the next step creates the error. The call stack does include the call to .PVofObject() and this may contain the problem. This looks like boilerplate that is at the heart of the system, so I am thinking it is a control or variable that I have set wrong. Ideas?

- James


not sure why you can't get the program to stop on the offending line

did you run this scenario in debug mode?

(make sure to run FoxInCloud Web Application studio as an Administrator)

do atPJcompileDebugMode with .T.


I have launched forms from within forms, modal look-ups, with no problems until now. I have a form that needs to open another form, but this new form does not need to be modal or have a callback. It is passed an object. In this object is information required to email a report. The second form will take this object and allow some user intervention. I must be invoking it incorrectly as I get an error "Property ICARCHIVENAME is not found". Ignoring will produce operator/operand type mismatches. Continued ignoring will speak of: ICAuthor, ICCategory, ICComments. I first tried using a simple form for the called form, but I still get the error. The form call is:

Thisform.wForm('PrintFaxEmail.scx', .F., Thisform.inetPFEObject)

I have traced the error through the call chain: awajax.formrequest -> formrequestcomplete -> xmlpropschangedadd -> propssave -> propssave_user -> pvofobject

Somewhere around there is where the error starts, it is not in source so the last one may be after the error. The call stack includes cxmlofobject and cxmlofobject_, but these may be in answer to the error. I am obviously missing something, any ideas?

Thanks - James



Gravatar is a globally recognized avatar based on your email address. Re: Launching Form Error
  n/a
  James Patterson
  Jun 3, 2015 @ 08:06am
OK, pushing forward, the whole business of "ICARCHIVENAME", "ICAUTHOR", etc sounded familiar... Found it in the XFRX#DRAW class, now to find what is being called. Will report back my screwup for everyones benefit.

- James


Since the first post, I have been poking around awserver. This has been slow as the exception blows out the server and the VFP IDE and requires a restart. The following line of code is called just before the error occurs:

REPLACE ;
PT WITH m.lcPT;
, PV WITH m.lcPV;
, nSms WITH m.lnMS;
FOR .T.;
and !(PT = 'V' and BC = 'Form ' and PN = 'DataSession '); && DataSession: fait par this.PropsSave_DS() && ceinture et double bretelles ... && rushmorisé [cf. this.PropsSave_Index()]
and varSet(@m.lcOA, Trim(OA));
and varSet(@m.loOB, ICase(;
Empty(m.lcOA),;
m.toForm,;
m.lcOA == m.lcOA_,;
m.loOB,;
JustStem(m.lcOA_) == m.lcOA,;
m.loOB.Parent,;
JustStem(m.lcOA) == m.lcOA_,;
Evaluate('m.loOB.' + JustExt(m.lcOA)),;
Evaluate('m.toForm.' + m.lcOA);
));
and varSet(@m.lcOA_, m.lcOA);
and (.F.;
or .T.;
and PT == 'A'; && tableau
and varSet(@m.lcPT, PT); && indispensable
and this.PropSave_Array(m.loOB, Trim(PN), PP); && fait le REPLACE
or .T.;
and PN = 'GRIDRS '; && grille
and varSet(@m.lcPT, PT);
and varSet(@m.lcPV, this.PropSave_cPV_Grid(m.loOB));
or .T.;
and PT == 'O'; && objet
and varSet(@m.lcPT, PT);
and varSet(@m.lcPV, this.PVofObject(Iif(PP; && PP: propriété PROTECTED ou HIDDEN
, m.loOB.wPropGet(Trim(PN)); && {V1.25} 14/05/12
, GetPem(m.loOB, Trim(PN));
), PN));
or .T.;
and (.F.;
or !Trim(PN) == 'TEXT'; && Si .Text, rafraîchir le contrôle pour être sûr que la valeur soit à jour
or Nvl(Evl(Cast(m.loOB.Refresh() as L), .T.), .T.);
);
and varSet(@m.luPV, Iif(PP; && PP: propriété PROTECTED ou HIDDEN
, m.loOB.wPropGet(Trim(PN)); && {V1.25} 14/05/12
, GetPem(m.loOB, Trim(PN));
));
and varSet(@m.lcPT, Vartype(m.luPV));
and varSet(@m.lcPV, Iif(m.lcPT == 'O';
, this.PVofObject(m.luPV, PN);
, Transform(m.luPV);
));
);
and !(m.lcPT == 'A' or PT == m.lcPT AND PV == m.lcPV); && réduit le nombre de REPLACE
and varSet(@m.lnMS, nMS(@m.lnSec))

Truly a line of code that would make Faulkner proud! At least it looks like a single line. This code is called several times during the execution without error, so obviously I am sending it something wrong. Most of the variables are bool, but I did find a reference to a button. I checked and it is a descendent of awcmd. Stepping through this displays the source not available and the next step creates the error. The call stack does include the call to .PVofObject() and this may contain the problem. This looks like boilerplate that is at the heart of the system, so I am thinking it is a control or variable that I have set wrong. Ideas?

- James


not sure why you can't get the program to stop on the offending line

did you run this scenario in debug mode?

(make sure to run FoxInCloud Web Application studio as an Administrator)

do atPJcompileDebugMode with .T.


I have launched forms from within forms, modal look-ups, with no problems until now. I have a form that needs to open another form, but this new form does not need to be modal or have a callback. It is passed an object. In this object is information required to email a report. The second form will take this object and allow some user intervention. I must be invoking it incorrectly as I get an error "Property ICARCHIVENAME is not found". Ignoring will produce operator/operand type mismatches. Continued ignoring will speak of: ICAuthor, ICCategory, ICComments. I first tried using a simple form for the called form, but I still get the error. The form call is:

Thisform.wForm('PrintFaxEmail.scx', .F., Thisform.inetPFEObject)

I have traced the error through the call chain: awajax.formrequest -> formrequestcomplete -> xmlpropschangedadd -> propssave -> propssave_user -> pvofobject

Somewhere around there is where the error starts, it is not in source so the last one may be after the error. The call stack includes cxmlofobject and cxmlofobject_, but these may be in answer to the error. I am obviously missing something, any ideas?

Thanks - James



Gravatar is a globally recognized avatar based on your email address. Re: Launching Form Error
  FoxInCloud Support - Thierry N.
  James Patterson
  Jun 3, 2015 @ 08:51pm
Sorry I was unconnected yesterday

Sound like one of your commandButton's properties references an instance of XFRX.
AFAIK, you can either re-instantiate XFRX each time you need it, or add this property to the .wcPropSaveNot list (as I believe XFRX is stateless, you don't need to persist its property across user request.)


OK, pushing forward, the whole business of "ICARCHIVENAME", "ICAUTHOR", etc sounded familiar... Found it in the XFRX#DRAW class, now to find what is being called. Will report back my screwup for everyones benefit.

- James


Since the first post, I have been poking around awserver. This has been slow as the exception blows out the server and the VFP IDE and requires a restart. The following line of code is called just before the error occurs:

REPLACE ;
PT WITH m.lcPT;
, PV WITH m.lcPV;
, nSms WITH m.lnMS;
FOR .T.;
and !(PT = 'V' and BC = 'Form ' and PN = 'DataSession '); && DataSession: fait par this.PropsSave_DS() && ceinture et double bretelles ... && rushmorisé [cf. this.PropsSave_Index()]
and varSet(@m.lcOA, Trim(OA));
and varSet(@m.loOB, ICase(;
Empty(m.lcOA),;
m.toForm,;
m.lcOA == m.lcOA_,;
m.loOB,;
JustStem(m.lcOA_) == m.lcOA,;
m.loOB.Parent,;
JustStem(m.lcOA) == m.lcOA_,;
Evaluate('m.loOB.' + JustExt(m.lcOA)),;
Evaluate('m.toForm.' + m.lcOA);
));
and varSet(@m.lcOA_, m.lcOA);
and (.F.;
or .T.;
and PT == 'A'; && tableau
and varSet(@m.lcPT, PT); && indispensable
and this.PropSave_Array(m.loOB, Trim(PN), PP); && fait le REPLACE
or .T.;
and PN = 'GRIDRS '; && grille
and varSet(@m.lcPT, PT);
and varSet(@m.lcPV, this.PropSave_cPV_Grid(m.loOB));
or .T.;
and PT == 'O'; && objet
and varSet(@m.lcPT, PT);
and varSet(@m.lcPV, this.PVofObject(Iif(PP; && PP: propriété PROTECTED ou HIDDEN
, m.loOB.wPropGet(Trim(PN)); && {V1.25} 14/05/12
, GetPem(m.loOB, Trim(PN));
), PN));
or .T.;
and (.F.;
or !Trim(PN) == 'TEXT'; && Si .Text, rafraîchir le contrôle pour être sûr que la valeur soit à jour
or Nvl(Evl(Cast(m.loOB.Refresh() as L), .T.), .T.);
);
and varSet(@m.luPV, Iif(PP; && PP: propriété PROTECTED ou HIDDEN
, m.loOB.wPropGet(Trim(PN)); && {V1.25} 14/05/12
, GetPem(m.loOB, Trim(PN));
));
and varSet(@m.lcPT, Vartype(m.luPV));
and varSet(@m.lcPV, Iif(m.lcPT == 'O';
, this.PVofObject(m.luPV, PN);
, Transform(m.luPV);
));
);
and !(m.lcPT == 'A' or PT == m.lcPT AND PV == m.lcPV); && réduit le nombre de REPLACE
and varSet(@m.lnMS, nMS(@m.lnSec))

Truly a line of code that would make Faulkner proud! At least it looks like a single line. This code is called several times during the execution without error, so obviously I am sending it something wrong. Most of the variables are bool, but I did find a reference to a button. I checked and it is a descendent of awcmd. Stepping through this displays the source not available and the next step creates the error. The call stack does include the call to .PVofObject() and this may contain the problem. This looks like boilerplate that is at the heart of the system, so I am thinking it is a control or variable that I have set wrong. Ideas?

- James


not sure why you can't get the program to stop on the offending line

did you run this scenario in debug mode?

(make sure to run FoxInCloud Web Application studio as an Administrator)

do atPJcompileDebugMode with .T.


I have launched forms from within forms, modal look-ups, with no problems until now. I have a form that needs to open another form, but this new form does not need to be modal or have a callback. It is passed an object. In this object is information required to email a report. The second form will take this object and allow some user intervention. I must be invoking it incorrectly as I get an error "Property ICARCHIVENAME is not found". Ignoring will produce operator/operand type mismatches. Continued ignoring will speak of: ICAuthor, ICCategory, ICComments. I first tried using a simple form for the called form, but I still get the error. The form call is:

Thisform.wForm('PrintFaxEmail.scx', .F., Thisform.inetPFEObject)

I have traced the error through the call chain: awajax.formrequest -> formrequestcomplete -> xmlpropschangedadd -> propssave -> propssave_user -> pvofobject

Somewhere around there is where the error starts, it is not in source so the last one may be after the error. The call stack includes cxmlofobject and cxmlofobject_, but these may be in answer to the error. I am obviously missing something, any ideas?

Thanks - James



-- thn (FoxInCloud)

Gravatar is a globally recognized avatar based on your email address. Re: Launching Form Error
  n/a
  Thierry Nivelet (FoxInCloud)
  Jun 10, 2015 @ 03:13am
Problem Solved!

I attempt NOT to persist objects between calls to the server as it is just more overhead. XFRX is great, I have used it many years and I cannot say enough good about it. That said, it is a large and complex object. To prevent FIC from having to save and restore the XFRX object(s), I create the XFRX object(s), do all report processing, and close all the XFRX object(s) within a single call to a method. Now, this may involve several method calls within the class, but it should execute as a block. This should cause all creation and destruction to occur during a single call cycle and prevent the overhead of having FIC store and restore these objects. After all, I don't need them to persist for any valid reason.

Now the solution... Whoops! I did not properly destroy the XFRX objects at the end of the cycle. This caused FIC to attempt to store the XFRX object. Apparently, some of the properties ("ICARCHIVENAME", "ICAUTHOR", etc...) are not to FIC's liking and creates errors. No problem, don't need the objects to persist anyway! Close the XFRX objects and all is good!

Hopefully someone will benefit from my poor typing skills...

- James


Sorry I was unconnected yesterday

Sound like one of your commandButton's properties references an instance of XFRX.
AFAIK, you can either re-instantiate XFRX each time you need it, or add this property to the .wcPropSaveNot list (as I believe XFRX is stateless, you don't need to persist its property across user request.)


OK, pushing forward, the whole business of "ICARCHIVENAME", "ICAUTHOR", etc sounded familiar... Found it in the XFRX#DRAW class, now to find what is being called. Will report back my screwup for everyones benefit.

- James


Since the first post, I have been poking around awserver. This has been slow as the exception blows out the server and the VFP IDE and requires a restart. The following line of code is called just before the error occurs:

REPLACE ;
PT WITH m.lcPT;
, PV WITH m.lcPV;
, nSms WITH m.lnMS;
FOR .T.;
and !(PT = 'V' and BC = 'Form ' and PN = 'DataSession '); && DataSession: fait par this.PropsSave_DS() && ceinture et double bretelles ... && rushmorisé [cf. this.PropsSave_Index()]
and varSet(@m.lcOA, Trim(OA));
and varSet(@m.loOB, ICase(;
Empty(m.lcOA),;
m.toForm,;
m.lcOA == m.lcOA_,;
m.loOB,;
JustStem(m.lcOA_) == m.lcOA,;
m.loOB.Parent,;
JustStem(m.lcOA) == m.lcOA_,;
Evaluate('m.loOB.' + JustExt(m.lcOA)),;
Evaluate('m.toForm.' + m.lcOA);
));
and varSet(@m.lcOA_, m.lcOA);
and (.F.;
or .T.;
and PT == 'A'; && tableau
and varSet(@m.lcPT, PT); && indispensable
and this.PropSave_Array(m.loOB, Trim(PN), PP); && fait le REPLACE
or .T.;
and PN = 'GRIDRS '; && grille
and varSet(@m.lcPT, PT);
and varSet(@m.lcPV, this.PropSave_cPV_Grid(m.loOB));
or .T.;
and PT == 'O'; && objet
and varSet(@m.lcPT, PT);
and varSet(@m.lcPV, this.PVofObject(Iif(PP; && PP: propriété PROTECTED ou HIDDEN
, m.loOB.wPropGet(Trim(PN)); && {V1.25} 14/05/12
, GetPem(m.loOB, Trim(PN));
), PN));
or .T.;
and (.F.;
or !Trim(PN) == 'TEXT'; && Si .Text, rafraîchir le contrôle pour être sûr que la valeur soit à jour
or Nvl(Evl(Cast(m.loOB.Refresh() as L), .T.), .T.);
);
and varSet(@m.luPV, Iif(PP; && PP: propriété PROTECTED ou HIDDEN
, m.loOB.wPropGet(Trim(PN)); && {V1.25} 14/05/12
, GetPem(m.loOB, Trim(PN));
));
and varSet(@m.lcPT, Vartype(m.luPV));
and varSet(@m.lcPV, Iif(m.lcPT == 'O';
, this.PVofObject(m.luPV, PN);
, Transform(m.luPV);
));
);
and !(m.lcPT == 'A' or PT == m.lcPT AND PV == m.lcPV); && réduit le nombre de REPLACE
and varSet(@m.lnMS, nMS(@m.lnSec))

Truly a line of code that would make Faulkner proud! At least it looks like a single line. This code is called several times during the execution without error, so obviously I am sending it something wrong. Most of the variables are bool, but I did find a reference to a button. I checked and it is a descendent of awcmd. Stepping through this displays the source not available and the next step creates the error. The call stack does include the call to .PVofObject() and this may contain the problem. This looks like boilerplate that is at the heart of the system, so I am thinking it is a control or variable that I have set wrong. Ideas?

- James


not sure why you can't get the program to stop on the offending line

did you run this scenario in debug mode?

(make sure to run FoxInCloud Web Application studio as an Administrator)

do atPJcompileDebugMode with .T.


I have launched forms from within forms, modal look-ups, with no problems until now. I have a form that needs to open another form, but this new form does not need to be modal or have a callback. It is passed an object. In this object is information required to email a report. The second form will take this object and allow some user intervention. I must be invoking it incorrectly as I get an error "Property ICARCHIVENAME is not found". Ignoring will produce operator/operand type mismatches. Continued ignoring will speak of: ICAuthor, ICCategory, ICComments. I first tried using a simple form for the called form, but I still get the error. The form call is:

Thisform.wForm('PrintFaxEmail.scx', .F., Thisform.inetPFEObject)

I have traced the error through the call chain: awajax.formrequest -> formrequestcomplete -> xmlpropschangedadd -> propssave -> propssave_user -> pvofobject

Somewhere around there is where the error starts, it is not in source so the last one may be after the error. The call stack includes cxmlofobject and cxmlofobject_, but these may be in answer to the error. I am obviously missing something, any ideas?

Thanks - James




Gravatar is a globally recognized avatar based on your email address. Re: Launching Form Error
  FoxInCloud Support - Thierry N.
  James Patterson
  Jun 10, 2015 @ 03:15am
Hi James,

Property names are neutral - I would more suspect a nasty _assign method


Problem Solved!

I attempt NOT to persist objects between calls to the server as it is just more overhead. XFRX is great, I have used it many years and I cannot say enough good about it. That said, it is a large and complex object. To prevent FIC from having to save and restore the XFRX object(s), I create the XFRX object(s), do all report processing, and close all the XFRX object(s) within a single call to a method. Now, this may involve several method calls within the class, but it should execute as a block. This should cause all creation and destruction to occur during a single call cycle and prevent the overhead of having FIC store and restore these objects. After all, I don't need them to persist for any valid reason.

Now the solution... Whoops! I did not properly destroy the XFRX objects at the end of the cycle. This caused FIC to attempt to store the XFRX object. Apparently, some of the properties ("ICARCHIVENAME", "ICAUTHOR", etc...) are not to FIC's liking and creates errors. No problem, don't need the objects to persist anyway! Close the XFRX objects and all is good!

Hopefully someone will benefit from my poor typing skills...

- James


Sorry I was unconnected yesterday

Sound like one of your commandButton's properties references an instance of XFRX.
AFAIK, you can either re-instantiate XFRX each time you need it, or add this property to the .wcPropSaveNot list (as I believe XFRX is stateless, you don't need to persist its property across user request.)


OK, pushing forward, the whole business of "ICARCHIVENAME", "ICAUTHOR", etc sounded familiar... Found it in the XFRX#DRAW class, now to find what is being called. Will report back my screwup for everyones benefit.

- James


Since the first post, I have been poking around awserver. This has been slow as the exception blows out the server and the VFP IDE and requires a restart. The following line of code is called just before the error occurs:

REPLACE ;
PT WITH m.lcPT;
, PV WITH m.lcPV;
, nSms WITH m.lnMS;
FOR .T.;
and !(PT = 'V' and BC = 'Form ' and PN = 'DataSession '); && DataSession: fait par this.PropsSave_DS() && ceinture et double bretelles ... && rushmorisé [cf. this.PropsSave_Index()]
and varSet(@m.lcOA, Trim(OA));
and varSet(@m.loOB, ICase(;
Empty(m.lcOA),;
m.toForm,;
m.lcOA == m.lcOA_,;
m.loOB,;
JustStem(m.lcOA_) == m.lcOA,;
m.loOB.Parent,;
JustStem(m.lcOA) == m.lcOA_,;
Evaluate('m.loOB.' + JustExt(m.lcOA)),;
Evaluate('m.toForm.' + m.lcOA);
));
and varSet(@m.lcOA_, m.lcOA);
and (.F.;
or .T.;
and PT == 'A'; && tableau
and varSet(@m.lcPT, PT); && indispensable
and this.PropSave_Array(m.loOB, Trim(PN), PP); && fait le REPLACE
or .T.;
and PN = 'GRIDRS '; && grille
and varSet(@m.lcPT, PT);
and varSet(@m.lcPV, this.PropSave_cPV_Grid(m.loOB));
or .T.;
and PT == 'O'; && objet
and varSet(@m.lcPT, PT);
and varSet(@m.lcPV, this.PVofObject(Iif(PP; && PP: propriété PROTECTED ou HIDDEN
, m.loOB.wPropGet(Trim(PN)); && {V1.25} 14/05/12
, GetPem(m.loOB, Trim(PN));
), PN));
or .T.;
and (.F.;
or !Trim(PN) == 'TEXT'; && Si .Text, rafraîchir le contrôle pour être sûr que la valeur soit à jour
or Nvl(Evl(Cast(m.loOB.Refresh() as L), .T.), .T.);
);
and varSet(@m.luPV, Iif(PP; && PP: propriété PROTECTED ou HIDDEN
, m.loOB.wPropGet(Trim(PN)); && {V1.25} 14/05/12
, GetPem(m.loOB, Trim(PN));
));
and varSet(@m.lcPT, Vartype(m.luPV));
and varSet(@m.lcPV, Iif(m.lcPT == 'O';
, this.PVofObject(m.luPV, PN);
, Transform(m.luPV);
));
);
and !(m.lcPT == 'A' or PT == m.lcPT AND PV == m.lcPV); && réduit le nombre de REPLACE
and varSet(@m.lnMS, nMS(@m.lnSec))

Truly a line of code that would make Faulkner proud! At least it looks like a single line. This code is called several times during the execution without error, so obviously I am sending it something wrong. Most of the variables are bool, but I did find a reference to a button. I checked and it is a descendent of awcmd. Stepping through this displays the source not available and the next step creates the error. The call stack does include the call to .PVofObject() and this may contain the problem. This looks like boilerplate that is at the heart of the system, so I am thinking it is a control or variable that I have set wrong. Ideas?

- James


not sure why you can't get the program to stop on the offending line

did you run this scenario in debug mode?

(make sure to run FoxInCloud Web Application studio as an Administrator)

do atPJcompileDebugMode with .T.


I have launched forms from within forms, modal look-ups, with no problems until now. I have a form that needs to open another form, but this new form does not need to be modal or have a callback. It is passed an object. In this object is information required to email a report. The second form will take this object and allow some user intervention. I must be invoking it incorrectly as I get an error "Property ICARCHIVENAME is not found". Ignoring will produce operator/operand type mismatches. Continued ignoring will speak of: ICAuthor, ICCategory, ICComments. I first tried using a simple form for the called form, but I still get the error. The form call is:

Thisform.wForm('PrintFaxEmail.scx', .F., Thisform.inetPFEObject)

I have traced the error through the call chain: awajax.formrequest -> formrequestcomplete -> xmlpropschangedadd -> propssave -> propssave_user -> pvofobject

Somewhere around there is where the error starts, it is not in source so the last one may be after the error. The call stack includes cxmlofobject and cxmlofobject_, but these may be in answer to the error. I am obviously missing something, any ideas?

Thanks - James




-- thn (FoxInCloud)

© 1996-2024