Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Problem with Render at Intraweb 15.2.3
#1
Hi!!

First, let me said that the new property RenderAsync and the method  RefreshAsyncRender are fabulous.

A lot method in the application pass from Sync to Async style.

Now, let me explain my problem. Is normal that the application has the Master/Detail relationship within.

Based on that, my form has the following:

- A TFrame serving as a header to indicate where the user is logged in and other information (align to Top).
- A TFrame with multiple buttons, to carry out the different operations of the CRUD and a TDataSource that serves to enable / disable depending on the state of the TDataSet associated with the TDatSource. All CRUD operations are done in the OnClick (submit) event (align to Top under the other frame).
- Several DB-controls in the form (TIWDBLookupComboBox, TTIWDBAdvEdit, TIWDBCheckBox, TTIWDBAdvDateEdit), those control are connected to the TQuery master.
- TTIWDBAdvWebGrid connected to the TQuery detail.
- TIWModalWindow
- IWregion with several controls Non-Db and an IWButton (for adding the record to the TQuery detail); which is call by the TIWModalWindow.


I think this is an standard way of a common Form with a Master/Detail relationship.

Now the process is as follows:
- The user clicks on the add button of the TFrame.
- The user fill all of the DB-Controls place on the TForm.
- The user clicks on the button that show the TIWModalWindow
- The user fill all of the non DB-Controls of the TIWModalWindow
- The user clicks on the save button of the TIWModalWindow, in that moment the TQuery master calls the Post method (saving the data directly in the database) and putting in Edit mode the TQuery master then the TQuery detail calls the Post method (getting the value of the primary key field of the TQuery master, saving the data directly in the database too).

After that, the user clicks on the Save button of the TFrame, this button have some validation of the data and generate other data then calls the Post method of the TQuery master. All this process of this button in on the OnClick event (submit); the previously stored data from the TQuery Master "disappears" from the DB-controls and the validations say that information is missing and therefore the call to the Post method fails.


All of this works perfectly on Intraweb 15.1.22 and fails on 15.2.3.

I don't have an example on hand where I can show this behavior but I do see this in the actual application in both my development and production environment.

Do you understand what I just said?

Many thanks!
Reply
#2
(06-22-2020, 03:42 PM)Rolphy Reyes Wrote: Hi!!

First, let me said that the new property RenderAsync and the method  RefreshAsyncRender are fabulous.

A lot method in the application pass from Sync to Async style.

Now, let me explain my problem. Is normal that the application has the Master/Detail relationship within.

Based on that, my form has the following:

- A TFrame serving as a header to indicate where the user is logged in and other information (align to Top).
- A TFrame with multiple buttons, to carry out the different operations of the CRUD and a TDataSource that serves to enable / disable depending on the state of the TDataSet associated with the TDatSource. All CRUD operations are done in the OnClick (submit) event (align to Top under the other frame).
- Several DB-controls in the form (TIWDBLookupComboBox, TTIWDBAdvEdit, TIWDBCheckBox, TTIWDBAdvDateEdit), those control are connected to the TQuery master.
- TTIWDBAdvWebGrid connected to the TQuery detail.
- TIWModalWindow
- IWregion with several controls Non-Db and an IWButton (for adding the record to the TQuery detail); which is call by the TIWModalWindow.


I think this is an standard way of a common Form with a Master/Detail relationship.

Now the process is as follows:
- The user clicks on the add button of the TFrame.
- The user fill all of the DB-Controls place on the TForm.
- The user clicks on the button that show the TIWModalWindow
- The user fill all of the non DB-Controls of the TIWModalWindow
- The user clicks on the save button of the TIWModalWindow, in that moment the TQuery master calls the Post method (saving the data directly in the database) and putting in Edit mode the TQuery master then the TQuery detail calls the Post method (getting the value of the primary key field of the TQuery master, saving the data directly in the database too).

After that, the user clicks on the Save button of the TFrame, this button have some validation of the data and generate other data then calls the Post method of the TQuery master. All this process of this button in on the OnClick event (submit); the previously stored data from the TQuery Master "disappears" from the DB-controls and the validations say that information is missing and therefore the call to the Post method fails.


All of this works perfectly on Intraweb 15.1.22 and fails on 15.2.3.

I don't have an example on hand where I can show this behavior but I do see this in the actual application in both my development and production environment.

Do you understand what I just said?

Many thanks!
Hi Rolphy!

Please see this post (there is also a downloadable example to show the error):
https://www.atozed.com/forums/thread-1707.html

IWEdit forgets Async events when moved to a grid cell at runtime.
In IW15.1.22, this worked well.

The problem may be the same as what you described.
I asked more than a week ago, but they don't answer...

best regard
Robert
Reply
#3
Can you please drop me an email with the example? alexandre [at] atozed dot com
Reply
#4
I saw that the example is attached to the other thread. I'll check it out and let you know.
Reply
#5
I found the problem and it is not a complicated thing, just a minor tweak in the engine and it will be working as expected.
Reply
#6
(06-25-2020, 06:20 AM)Alexandre Machado Wrote: I found the problem and it is not a complicated thing, just a minor tweak in the engine and it will be working as expected.

Hi Alexandre!

Many thanks for your time.

Now I'm a bit confused.  Did you find my problem or Robert's problem?
Reply
#7
Yes he found it and is working on a fix.
Reply
#8
Hi Alexandre!

With Intraweb 15.2.4, it's kind of solved some part of the problem.

The combination between using SyncMode in the detail and the master relationship of the DataSets works flawlessly.

Now in the same scenario, when I used AsyncMode in the detail and SyncMode in the master then it's fail just like before; but this version has some fix in the right direction.

Can you check it?
Reply
#9
Can you please test our latest build? Not officially released yet, but you can test it.

http://downloads.atozed.com/intraweb/iw15.2.6.exe
Reply
#10
Hi Alexandre!

Sorry, Intraweb continue to fail.

My application is so complex that it's difficult to make a simple example, i will try to make one.
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)