<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"><channel><category>pcsoft.us.windev</category><copyright>Copyright 2026, PC SOFT</copyright><lastBuildDate>11 May 2015 17:12:00 Z</lastBuildDate><pubDate>4 May 2015 14:17:00 Z</pubDate><description>As many on here will know I am by no means an OOP guru.&#13;
However its a long weekend in the UK owing to the MayDay holiday so thought I have a go at the new V20 MVP Rad&#13;
&#13;
Overall I have to say I find it pretty impressive and it will, as advertised, generate all the necessary classes and methods required.&#13;
&#13;
Now this is RAD so there are some limitations....&#13;
Currently it is not possible to generate a full application, possibly in a future release but I do not know, so each file has to be accessed individually.&#13;
It allows for the creation a Table control window or a Form window.&#13;
This is fine for basic Menu&gt;Open Table&gt;Open form apps even for MDI but if you have more complex UI's or use internal windows then 'cut&amp;paste' will have to be your friend.&#13;
&#13;
&#13;
New&gt;Window&gt;Window&gt;RAD&gt;MVP or direct from the analysis opens the wizard.&#13;
Recommend you do the Form first as buttons (Add, Modify &amp; Delete) on the Table window look for this.&#13;
&#13;
It works pretty much straight out of the box and allows as the buttons would suggest for the addition, modification and deletion of records.&#13;
NOTE:&#13;
If you open the window from a menu window (you have to do your own) just use Open(MyWindow) with no parameters.&#13;
If you run in test mode leave the default 'gclPresenter with test value of *' selected.&#13;
If, as I did to begin with, you uncheck this then the window will not function correctly - Strange to me as no param is required when opened from a menu.&#13;
&#13;
Now I say 'works pretty much' as I did find some short comings in the generated code.&#13;
&#13;
1. When adding a record to a table that already has rows displayed the selection bar always returned to the previously selected record not the new record entered.&#13;
&#13;
2. If a sort had been added to the query and a change is made to a 'Sorted' field then the selection bar returned to the row original selected and not the modified record.&#13;
&#13;
3. Following addition or modification the table display only returns the records original fetched when the window was opened.&#13;
OK for a single user but not for a multi user as addtions/changes by other users are not shown.&#13;
&#13;
A challenge thought I so armed with pencil and paper I commenced stepping through the code.&#13;
First issue is to get used to the naming conventions used and trying to understand the new functions, key words that are being used.&#13;
Quite a bit of this is not documented for example....&#13;
In the Model (File) classes each field is mapped i.e. m_idCustomer is 8-byte int&#13;
&#13;
In code the access is to the given name M_idCustomer but now when adding of modifying a record the syntax used is&#13;
HAdd(MyMappedFile) or HReadSeekFirst(MyMappedFile,MyMappedUniqueKey,UniqueIdentifier), HModify(MyMappedFile) - quite cool I think.&#13;
&#13;
The other part I found interesting is the new 'Request for refreshing the display of WIN_xxx' in the window code.&#13;
Used together with the new functions RequestUpdateUI() and ExecuteUpdateUI() this allows for this to be called anywhere in the classes and automatically run the code when at the end of the calling process.&#13;
&#13;
Anyway to cut a long story short (I can now barely see the F7 on my keyboard) I found that by making changes, 1 in the window code and 2 in the table method codes, I could quite easily overcome the above issues.&#13;
No real work as I was still able to use the generated functions/members - just called them in different places and added an ArraySeek().&#13;
&#13;
I have sent this revision to PCS as a suggestion for change - not sure how I will get on with that one so as plan B I now have these in my CodeBricks.&#13;
&#13;
One last thing, quite amusing really, is that with v20 you get 2 examples WD_Discovering MVP Part 1 and Part 2.&#13;
Firstly Part 1 is actually the basis of Part 2 so not really worth bothering with and, the amusing part, is that neither actually appear to have been created using the MVP RAD.&#13;
&#13;
What Part 2 does contain however is a method to display a linked table from the selection of a single record in an exiting table.&#13;
Not part of the RAD generated as this is Table to Form but with a bit of cut&amp;Paste into a CodeBrick, job done.&#13;
&#13;
Finally another thing I noticed is now that when in the debugger if you double click on the current 'gclPesenter = Display layer' it displays in tree form all associated elemnts form the MOdel and Array classes.&#13;
&#13;
So there you have it - my thoughts on MVP RAD.&#13;
Be interesting to see what the more experienced OOP people think.</description><ttl>30</ttl><generator>WEBDEV</generator><language>en_US</language><link>https://forum.pcsoft.fr/es-ES/pcsoft.us.windev/51921-v20-mvp-rad-initial-thoughts/read.awp</link><title>v20 MVP RAD - My initial thoughts</title><managingEditor>moderateur@pcsoft.fr (El moderador)</managingEditor><webMaster>webmaster@pcsoft.fr (El webmaster)</webMaster><item><author>guest</author><category>pcsoft.us.windev</category><comments>https://forum.pcsoft.fr/es-ES/pcsoft.us.windev/51921-v20-mvp-rad-initial-thoughts-52044/read.awp</comments><pubDate>11 May 2015 17:12:00 Z</pubDate><description>Hi Alexandre &amp; Derek,&#13;
&#13;
Thank you for your insights... It seems you have built your own MVC framework over the years just like …</description><guid isPermaLink="true">https://forum.pcsoft.fr/es-ES/pcsoft.us.windev/51921-v20-mvp-rad-initial-thoughts-52044/read.awp</guid><link>https://forum.pcsoft.fr/es-ES/pcsoft.us.windev/51921-v20-mvp-rad-initial-thoughts-52044/read.awp</link><source url="https://forum.pcsoft.fr/es-ES/pcsoft.us.windev/51921-v20-mvp-rad-initial-thoughts/read.awp">v20 MVP RAD - My initial thoughts</source><title>Re: v20 MVP RAD - My initial thoughts</title></item><item><author>guest</author><category>pcsoft.us.windev</category><comments>https://forum.pcsoft.fr/es-ES/pcsoft.us.windev/51921-v20-mvp-rad-initial-thoughts-52038/read.awp</comments><pubDate>11 May 2015 16:07:00 Z</pubDate><description>Hi Peter,&#13;
&#13;
We do MVP since version 17 of WinDev. So you can do it even without the new MVP features. (In fact, version 20 brou…</description><guid isPermaLink="true">https://forum.pcsoft.fr/es-ES/pcsoft.us.windev/51921-v20-mvp-rad-initial-thoughts-52038/read.awp</guid><link>https://forum.pcsoft.fr/es-ES/pcsoft.us.windev/51921-v20-mvp-rad-initial-thoughts-52038/read.awp</link><source url="https://forum.pcsoft.fr/es-ES/pcsoft.us.windev/51921-v20-mvp-rad-initial-thoughts/read.awp">v20 MVP RAD - My initial thoughts</source><title>Re: v20 MVP RAD - My initial thoughts</title></item><item><author>guest</author><category>pcsoft.us.windev</category><comments>https://forum.pcsoft.fr/es-ES/pcsoft.us.windev/51921-v20-mvp-rad-initial-thoughts-51924/read.awp</comments><pubDate>4 May 2015 16:03:00 Z</pubDate><description>Hi Derek,&#13;
&#13;
Thanks for your insights...&#13;
What holds me from investigating on it, is the fact that this feature is WinDev only w…</description><guid isPermaLink="true">https://forum.pcsoft.fr/es-ES/pcsoft.us.windev/51921-v20-mvp-rad-initial-thoughts-51924/read.awp</guid><link>https://forum.pcsoft.fr/es-ES/pcsoft.us.windev/51921-v20-mvp-rad-initial-thoughts-51924/read.awp</link><source url="https://forum.pcsoft.fr/es-ES/pcsoft.us.windev/51921-v20-mvp-rad-initial-thoughts/read.awp">v20 MVP RAD - My initial thoughts</source><title>Re: v20 MVP RAD - My initial thoughts</title></item></channel></rss>
