As of Uniface 9.6.07 form container enable to embed a non-modal form within another form; actually all coherence between the included and the inclusive form must be maintaned coding. Assigning a relationship as a new property to the form container widget enable programmers to move away from the historical FrameInsideFrame concept maintaining de facto all its functionality. The Uniface compiler should check if a relationship is assigned to the form container: if none the URuntime behaves as of today if positive the URuntime should manage the main entity of the contained form as if was picted inside the related entity, also picted on same form. Key transportation, retrieve, store should be activated in the included form as it was painted into the related one. It would be nice if the and triggers of the included form could be activated as an option; in this case a function to recognize if the included form is activated from within a form container or not is requested.

Use Case

In many cases programmers need to relate two entities on same form without picting them on paint tableau one inside the other. Example: managing a programmed order (an order valid for continous supplying over a period of time; it is used a lot when a small company is a common supplier directly on a production line owned by the big company) usually the model is: ORDER > ORDERLINE > DELIVERIES. With the functionality proposed DELIVERIES could be managed with all their attributes into a separate frame/form from ORDERLINE in the same tableau. The resulting form is implementing the dashboard requested from the end user without forcing programmer to code all coherence between the inclusive and the included form. Reuse of small components could be improved a lot and maintenance is automatically improved non being anymore a solution based on coding.




Uniface Development Environment

Operating System

Not Applicable


3 thoughts on “FormContainer improvement”

  1. An addendum to the example provided: having a paint tableau designed as
    +—————————++- form container -+
    |+————————-+| | |
    || ORDERLINES (x)| | | |
    |+————————-+| | |
    || | | | |
    |+————————-+| | |
    Associating a ORDERLINES (one) > DELIVERIES (many) relationship on (form container) has meaning like DELIVERIES was picted where (x) is defined.


  2. I am afraid , It is not good idea and I hope it is not possible. What will you do , when there will be another parent component ? Create simple interface for FormContainer component.

    1. @vojta: why not…why you are afraid?
      Your question: what will you do when there will be another parent component ?
      It is extremely simple: assign another relationship to another form container!
      Each form container = 1 possible relationship assigned; if you do not want to assign it you could leave it unassigned and create all simple interfaces you like.

Leave a Reply