﻿<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/"><channel><title>StrataFrame Forum » StrataFrame Application Framework - V1 » Business Objects and Data Access (How do I?)  » Childformdialog-problem</title><generator>InstantForum 2017-1 Final</generator><description>StrataFrame Forum</description><link>http://forum.strataframe.net/</link><webMaster>StrataFrame Forum</webMaster><lastBuildDate>Thu, 23 Apr 2026 00:40:21 GMT</lastBuildDate><ttl>20</ttl><item><title>Childformdialog-problem</title><link>http://forum.strataframe.net/FindPost31737.aspx</link><description>Hi there,&lt;br/&gt;&lt;br/&gt;I have set up a childformdialog and want to have all the Add/EDIT-logic within the&lt;br/&gt;&lt;br/&gt;childform. I call the childform with a param-object this way:&lt;br/&gt;&lt;br/&gt;[code]&lt;br/&gt;&lt;br/&gt;&lt;font face=Consolas&gt;&lt;/font&gt;&lt;font color=#0000ff face=Consolas&gt;&lt;font color=#0000ff face=Consolas&gt;Dim&lt;/font&gt;&lt;/font&gt;&lt;font face=Consolas&gt; aParam(1) &lt;/font&gt;&lt;font color=#0000ff face=Consolas&gt;&lt;font color=#0000ff face=Consolas&gt;As&lt;/font&gt;&lt;/font&gt;&lt;font face=Consolas&gt; &lt;/font&gt;&lt;font color=#0000ff face=Consolas&gt;&lt;font color=#0000ff face=Consolas&gt;Object&lt;br/&gt;&lt;br/&gt;&lt;/font&gt;&lt;/font&gt;&lt;font face=Consolas&gt;aParam(0) = &lt;/font&gt;&lt;font color=#a31515 face=Consolas&gt;&lt;font color=#a31515 face=Consolas&gt;"N"&amp;nbsp;&amp;nbsp;&amp;nbsp; ---&amp;gt;New record to add, the edit-button on the parentform would set an "E"&lt;br/&gt;&lt;br/&gt;&lt;/font&gt;&lt;/font&gt;&lt;font face=Consolas&gt;aParam(1) = &lt;/font&gt;&lt;font color=#a31515 face=Consolas&gt;&lt;font color=#a31515 face=Consolas&gt;"LIEFMAIN"&amp;nbsp;&amp;nbsp;&amp;nbsp; --&amp;gt; Name of the calling form&lt;br/&gt;&lt;br/&gt;&lt;/font&gt;&lt;/font&gt;&lt;font face=Consolas&gt;Childliefneu.ShowDialog(aParam)&lt;br/&gt;&lt;br/&gt;&lt;/font&gt;[/code]&lt;br/&gt;&lt;br/&gt;In the childform I use the following code&lt;br/&gt;&lt;br/&gt;[code]&lt;br/&gt;&lt;br/&gt;&lt;font face=Consolas&gt;&lt;/font&gt;&lt;font color=#0000ff face=Consolas&gt;&lt;font color=#0000ff face=Consolas&gt;Public&lt;/font&gt;&lt;/font&gt;&lt;font face=Consolas&gt; &lt;/font&gt;&lt;font color=#0000ff face=Consolas&gt;&lt;font color=#0000ff face=Consolas&gt;Sub&lt;/font&gt;&lt;/font&gt;&lt;font face=Consolas&gt; &lt;/font&gt;&lt;font color=#0000ff face=Consolas&gt;&lt;font color=#0000ff face=Consolas&gt;New&lt;/font&gt;&lt;/font&gt;&lt;font face=Consolas&gt;(&lt;/font&gt;&lt;font color=#0000ff face=Consolas&gt;&lt;font color=#0000ff face=Consolas&gt;ByVal&lt;/font&gt;&lt;/font&gt;&lt;font face=Consolas&gt; &lt;/font&gt;&lt;font color=#0000ff face=Consolas&gt;&lt;font color=#0000ff face=Consolas&gt;ParamArray&lt;/font&gt;&lt;/font&gt;&lt;font face=Consolas&gt; aParam() &lt;/font&gt;&lt;font color=#0000ff face=Consolas&gt;&lt;font color=#0000ff face=Consolas&gt;As&lt;/font&gt;&lt;/font&gt;&lt;font face=Consolas&gt; &lt;/font&gt;&lt;font color=#0000ff face=Consolas&gt;&lt;font color=#0000ff face=Consolas&gt;Object&lt;/font&gt;&lt;/font&gt;&lt;font face=Consolas&gt;)&lt;br/&gt;&lt;br/&gt;&lt;/font&gt;&lt;font color=#0000ff face=Consolas&gt;&lt;font color=#0000ff face=Consolas&gt;MyBase&lt;/font&gt;&lt;/font&gt;&lt;font face=Consolas&gt;.new()&lt;br/&gt;&lt;br/&gt;&lt;/font&gt;&lt;font color=#008000 face=Consolas&gt;&lt;font color=#008000 face=Consolas&gt;' Dieser Aufruf ist für den Designer erforderlich.&lt;br/&gt;&lt;br/&gt;&lt;/font&gt;&lt;/font&gt;&lt;font face=Consolas&gt;InitializeComponent()&lt;br/&gt;&lt;br/&gt;&lt;/font&gt;&lt;font color=#008000 face=Consolas&gt;&lt;font color=#008000 face=Consolas&gt;' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu.&lt;br/&gt;&lt;br/&gt;&lt;/font&gt;&lt;/font&gt;&lt;font face=Consolas&gt;&lt;/font&gt;&lt;font color=#0000ff face=Consolas&gt;&lt;font color=#0000ff face=Consolas&gt;If&lt;/font&gt;&lt;/font&gt;&lt;font face=Consolas&gt; aParam(0) = &lt;/font&gt;&lt;font color=#a31515 face=Consolas&gt;&lt;font color=#a31515 face=Consolas&gt;"N"&lt;/font&gt;&lt;/font&gt;&lt;font face=Consolas&gt; &lt;/font&gt;&lt;font color=#0000ff face=Consolas&gt;&lt;font color=#0000ff face=Consolas&gt;Then&lt;br/&gt;&lt;br/&gt;&lt;/font&gt;&lt;/font&gt;&lt;font face=Consolas&gt;&lt;/font&gt;&lt;font color=#0000ff face=Consolas&gt;&lt;font color=#0000ff face=Consolas&gt;Me&lt;/font&gt;&lt;/font&gt;&lt;font face=Consolas&gt;.lNeu = &lt;/font&gt;&lt;font color=#0000ff face=Consolas&gt;&lt;font color=#0000ff face=Consolas&gt;True&lt;br/&gt;&lt;br/&gt;&lt;/font&gt;&lt;/font&gt;&lt;font face=Consolas&gt;&lt;/font&gt;&lt;font color=#0000ff face=Consolas&gt;&lt;font color=#0000ff face=Consolas&gt;Me&lt;/font&gt;&lt;/font&gt;&lt;font face=Consolas&gt;.Text = &lt;/font&gt;&lt;font color=#a31515 face=Consolas&gt;&lt;font color=#a31515 face=Consolas&gt;"Lieferanten aufnehmen"&amp;nbsp;&amp;nbsp; --&amp;gt;"Add a supplier"&lt;br/&gt;&lt;br/&gt;&lt;/font&gt;&lt;/font&gt;&lt;font face=Consolas&gt;LieferBO1.Add()&lt;br/&gt;&lt;br/&gt;&lt;/font&gt;&lt;font color=#0000ff face=Consolas&gt;&lt;font color=#0000ff face=Consolas&gt;Else&lt;br/&gt;&lt;br/&gt;&lt;/font&gt;&lt;/font&gt;&lt;font face=Consolas&gt;&lt;/font&gt;&lt;font color=#0000ff face=Consolas&gt;&lt;font color=#0000ff face=Consolas&gt;Me&lt;/font&gt;&lt;/font&gt;&lt;font face=Consolas&gt;.lNeu = &lt;/font&gt;&lt;font color=#0000ff face=Consolas&gt;&lt;font color=#0000ff face=Consolas&gt;False&lt;br/&gt;&lt;br/&gt;&lt;/font&gt;&lt;/font&gt;&lt;font face=Consolas&gt;&lt;/font&gt;&lt;font color=#0000ff face=Consolas&gt;&lt;font color=#0000ff face=Consolas&gt;Me&lt;/font&gt;&lt;/font&gt;&lt;font face=Consolas&gt;.Text = &lt;/font&gt;&lt;font color=#a31515 face=Consolas&gt;&lt;font color=#a31515 face=Consolas&gt;"Lieferanten bearbeiten"&amp;nbsp;&amp;nbsp; --&amp;gt; "Edit a supplier"&lt;br/&gt;&lt;br/&gt;&lt;/font&gt;&lt;/font&gt;&lt;font face=Consolas&gt;LieferBO1.Edit()&lt;br/&gt;&lt;br/&gt;&lt;/font&gt;&lt;font color=#0000ff face=Consolas&gt;&lt;font color=#0000ff face=Consolas&gt;End&lt;/font&gt;&lt;/font&gt;&lt;font face=Consolas&gt; &lt;/font&gt;&lt;font color=#0000ff face=Consolas&gt;&lt;font color=#0000ff face=Consolas&gt;If&lt;br/&gt;&lt;br/&gt;&lt;/font&gt;&lt;/font&gt;&lt;font face=Consolas&gt;&lt;/font&gt;&lt;font color=#0000ff face=Consolas&gt;&lt;font color=#0000ff face=Consolas&gt;Me&lt;/font&gt;&lt;/font&gt;&lt;font face=Consolas&gt;.cModule = aParam(1)&lt;br/&gt;&lt;br/&gt;LieferBO1.Refresh()&lt;br/&gt;&lt;br/&gt;&lt;/font&gt;&lt;font color=#0000ff face=Consolas&gt;&lt;font color=#0000ff face=Consolas&gt;Me&lt;/font&gt;&lt;/font&gt;&lt;font face=Consolas&gt;.Refresh()&lt;br/&gt;&lt;br/&gt;&lt;/font&gt;&lt;font color=#0000ff face=Consolas&gt;&lt;font color=#0000ff face=Consolas&gt;End&lt;/font&gt;&lt;/font&gt;&lt;font face=Consolas&gt; &lt;/font&gt;&lt;font color=#0000ff face=Consolas&gt;&lt;font color=#0000ff face=Consolas&gt;Sub&lt;br/&gt;&lt;br/&gt;&lt;/font&gt;&lt;/font&gt;[/code]&lt;br/&gt;&lt;br/&gt;When I call the childform to add a record, the form does not show an empty record which I expected to be added but the record the current row index points to and the controls are all disabled.&lt;br/&gt;&lt;br/&gt;Is my approach wrong or did I miss something?&lt;br/&gt;&lt;br/&gt;Thanks in advance&lt;br/&gt;&lt;br/&gt;Thomas</description><pubDate>Mon, 04 Feb 2013 07:23:54 GMT</pubDate><dc:creator>Thomas Holste</dc:creator></item><item><title>RE: Childformdialog-problem</title><link>http://forum.strataframe.net/FindPost31779.aspx</link><description>Hi Ben,&lt;br/&gt;&lt;br/&gt;I tried it and shifted the add edit code into an Overwritten onload-method&lt;br/&gt;&lt;br/&gt;[code]&lt;br/&gt;&lt;br/&gt;&lt;font face=Consolas&gt;&lt;/font&gt;&lt;font color=#0000ff face=Consolas&gt;&lt;font color=#0000ff face=Consolas&gt;Protected&lt;/font&gt;&lt;/font&gt;&lt;font face=Consolas&gt; &lt;/font&gt;&lt;font color=#0000ff face=Consolas&gt;&lt;font color=#0000ff face=Consolas&gt;Overrides&lt;/font&gt;&lt;/font&gt;&lt;font face=Consolas&gt; &lt;/font&gt;&lt;font color=#0000ff face=Consolas&gt;&lt;font color=#0000ff face=Consolas&gt;Sub&lt;/font&gt;&lt;/font&gt;&lt;font face=Consolas&gt; OnLoad(&lt;/font&gt;&lt;font color=#0000ff face=Consolas&gt;&lt;font color=#0000ff face=Consolas&gt;ByVal&lt;/font&gt;&lt;/font&gt;&lt;font face=Consolas&gt; e &lt;/font&gt;&lt;font color=#0000ff face=Consolas&gt;&lt;font color=#0000ff face=Consolas&gt;As&lt;/font&gt;&lt;/font&gt;&lt;font face=Consolas&gt; System.&lt;/font&gt;&lt;font color=#2b91af face=Consolas&gt;&lt;font color=#2b91af face=Consolas&gt;EventArgs&lt;/font&gt;&lt;/font&gt;&lt;font face=Consolas&gt;)&lt;br/&gt;&lt;br/&gt;&lt;/font&gt;&lt;font color=#0000ff face=Consolas&gt;&lt;font color=#0000ff face=Consolas&gt;MyBase&lt;/font&gt;&lt;/font&gt;&lt;font face=Consolas&gt;.OnLoad(e)&lt;br/&gt;&lt;br/&gt;&lt;/font&gt;&lt;font color=#0000ff face=Consolas&gt;&lt;font color=#0000ff face=Consolas&gt;If&lt;/font&gt;&lt;/font&gt;&lt;font face=Consolas&gt; &lt;/font&gt;&lt;font color=#0000ff face=Consolas&gt;&lt;font color=#0000ff face=Consolas&gt;Me&lt;/font&gt;&lt;/font&gt;&lt;font face=Consolas&gt;.lNeu &lt;/font&gt;&lt;font color=#0000ff face=Consolas&gt;&lt;font color=#0000ff face=Consolas&gt;Then&lt;br/&gt;&lt;br/&gt;&lt;/font&gt;&lt;/font&gt;&lt;font face=Consolas&gt;LieferBO1.Add()&lt;br/&gt;&lt;br/&gt;&lt;/font&gt;&lt;font color=#0000ff face=Consolas&gt;&lt;font color=#0000ff face=Consolas&gt;Else&lt;br/&gt;&lt;br/&gt;&lt;/font&gt;&lt;/font&gt;&lt;font face=Consolas&gt;LieferBO1.Edit()&lt;br/&gt;&lt;br/&gt;&lt;/font&gt;&lt;font color=#0000ff face=Consolas&gt;&lt;font color=#0000ff face=Consolas&gt;End&lt;/font&gt;&lt;/font&gt;&lt;font face=Consolas&gt; &lt;/font&gt;&lt;font color=#0000ff face=Consolas&gt;&lt;font color=#0000ff face=Consolas&gt;If&lt;br/&gt;&lt;br/&gt;&lt;/font&gt;&lt;/font&gt;&lt;font face=Consolas&gt;LieferBO1.Refresh()&lt;br/&gt;&lt;br/&gt;&lt;/font&gt;&lt;font color=#0000ff face=Consolas&gt;&lt;font color=#0000ff face=Consolas&gt;Me&lt;/font&gt;&lt;/font&gt;&lt;font face=Consolas&gt;.Refresh()&lt;br/&gt;&lt;br/&gt;&lt;/font&gt;&lt;font color=#0000ff face=Consolas&gt;&lt;font color=#0000ff face=Consolas&gt;End&lt;/font&gt;&lt;/font&gt;&lt;font face=Consolas&gt; &lt;/font&gt;&lt;font color=#0000ff face=Consolas&gt;&lt;font color=#0000ff face=Consolas&gt;Sub&lt;br/&gt;&lt;br/&gt;&lt;/font&gt;&lt;/font&gt;[/code]&lt;br/&gt;&lt;br/&gt;Now the follwing happens: If I start the form with a parameter for editing, the correct record is shown for editing. I can change values and save them, everything is fine.&lt;br/&gt;&lt;br/&gt;When I choose to add a record. the form does not show, as I expected it, empty fiellds (controls like textboxes) for adding but behaves like I had choosen to add the actual record my grid is showing on the calling form.&lt;br/&gt;&lt;br/&gt;Checking this with the debugger shows me, for example, that I enter the form with 79 records, the add-method of the BO is callled, after this I have 80 records, but the controls (text- and checkboxes and combos) aren't refreshed.&amp;nbsp;&lt;br/&gt;&lt;br/&gt;What might I have done wrong?&lt;br/&gt;&lt;br/&gt;Best regards&lt;br/&gt;&lt;br/&gt;Thomas</description><pubDate>Mon, 04 Feb 2013 07:23:54 GMT</pubDate><dc:creator>Thomas Holste</dc:creator></item><item><title>RE: Childformdialog-problem</title><link>http://forum.strataframe.net/FindPost31771.aspx</link><description>Hi Ben,&lt;br/&gt;&lt;br/&gt;thanks a lot for your explanation. That shoqs me clearly why some of my approaches&lt;br/&gt;&lt;br/&gt;went wrong. I Will try this immediately.&lt;br/&gt;&lt;br/&gt;Best regards&lt;br/&gt;&lt;br/&gt;Thomas</description><pubDate>Fri, 01 Feb 2013 08:00:11 GMT</pubDate><dc:creator>Thomas Holste</dc:creator></item><item><title>RE: Childformdialog-problem</title><link>http://forum.strataframe.net/FindPost31742.aspx</link><description>Sorry, Thomas, I just saw this one.&lt;br/&gt;&lt;br/&gt;&lt;div&gt;The way the ChildFormDialog works is that it first creates a copy of your form with the Activator class using the parameters you supply (so it calls your constructor), then it replaces the references of the business objects on the forms with the translated references. &amp;nbsp;So, whatever you do to the business objects within the constructor, you're doing to the wrong business object reference. &amp;nbsp;You're adding/editing the business object, and then it is replaced with the correct business object, so it looks like nothing is happening, because you're calling those methods on the wrong BO reference.&lt;br/&gt;&lt;br/&gt;&lt;div&gt;What you need to do is save off the first parameter (the "N" or whatever else you pass) in a private field on the child form. &amp;nbsp;Then override the OnLoad() method of the form and do your Add/Edit logic there because the business object will have been translated.</description><pubDate>Mon, 21 Jan 2013 10:57:00 GMT</pubDate><dc:creator>StrataFrame Team</dc:creator></item></channel></rss>