>which is the difference between clistobj and cListOneToManyObj Objects?
I recommend that you do NOT use CListObj or CListOneToManyObj. These are classes that are in the Framework solely for backward compatability. As the Developer's Guide suggests, you should use KBizObj (located in KBizness.vcx) instead.
>Why, In MaintenanceForm the OK Button call to Thisform.SaveRecord, instead of Thisform.Save?, Which is the difference?>
If you check out the header documentation in CBizObjForm.SaveRecord() you will see that SaveRecord() does a few extra things from a user interface perspective and calls the Save() method itself.
>In the same MaintenanceForm I have a cListOneToManyObj in Page2 Object, that contains child records. Remember that page2 has two 'Ok' and 'Cancel' Buttons. Where it is the best place to write code, to save the child records?, and Which Is the Correct instruction Thisform.Save? or NameBizObj.Save ?>
I recommend that you set the child business object's lSaveChildOnSaveParent to TRUE (.T.). Then in the OK button on page 2, call ThisForm.Save(). The parent business object will receive a Save() message from the form, then the parent business object will send a Save() message to the child business object.
>Why I receive the error message Record number out of Range when editing the last record of the child grid and Click 'Cancel' Button?>
There's no stock answer to this question...it's difficult to tell from here what exactly is going on.
Regards,
Kevin McNeish
Eight-Time .NET MVP
VFP and iOS Author, Speaker & Trainer
Oak Leaf Enterprises, Inc.
Chief Architect, MM Framework
http://www.oakleafsd.com