Počínaje verzí 4D v19 R5 obohatila možnost přiřadit proměnnou k dílčímu formuláři možnosti rozhraní a komunikace mezi formuláři a dílčími formuláři. Prostředky komunikace jsou nyní zjednodušeny dvěma novými příkazy: Pozdravte OBJECT Get subform container value a OBJECT SET SUBFORM CONTAINER VALUE.
Zlepšení komunikace mezi formuláři a podformuláři
Dva nové příkazy
Nové příkazy OBJECT Get subform container value a OBJECT SET SUBFORM CONTAINER VALUE je nutné používat v kontextu podformuláře.
První z nich – OBJECT Get subform container value bude nejčastěji použit při generování události On Bound Variable Change, tedy po změně proměnné (nebo výrazu) spojené s podformulářem nadřazeného formuláře. Používá se tedy pro načtení této nové hodnoty.
Druhá – OBJECT SET SUBFORM CONTAINER VALUE se použije, pokud z podformuláře chcete změnit hodnotu proměnné (nebo výrazu) spojené s podformulářem v nadřazeném formuláři.
Proč právě tyto příkazy?
Dosud existovaly dva způsoby, jak tyto informace získat.
Nejjednodušším(a nejnovějším) způsobem je přiřazení proměnné typu objekt k podformuláři. V takovém případě jsou atributy tohoto objektu přístupné přímo pomocí funkce Form v rámci podformuláře. To funguje dobře, ale použití objektu, když potřebujete jednoduchou hodnotu, není nutně dobrý postup.
Druhým způsobem(historičtějším) je vytvoření ukazatele na danou proměnnou prostřednictvím příkazu OBJECT Get pointer s parametrem Object subform container. To funguje, ale pouze v případě, že je variable spojen s dílčími formuláři. Bohužel to není možné, pokud se jedná o expression (např. Form.myValue), protože není možné vytvořit ukazatel na výraz.
Tyto dva příkazy tedy představují nejpohodlnější a nejjednodušší řešení pro jednoduché případy! Zjednoduší programování nejběžnějších případů. Kód bude čitelnější a snadněji se bude udržovat.
Užijte si programování s 4D!