Snadná komunikace prostřednictvím formulářů a podformulářů!

Automaticky přeloženo z Deepl

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!

Roland Lannuzel
- Product Owner & 4D Expert - Po studiu elektroniky se Roland věnoval průmyslovým IT jako vývojář a konzultant, který vytvářel řešení pro zákazníky s různými databázemi a technologiemi. Koncem 80. let se zamiloval do 4D a používal jej při psaní podnikových aplikací, které zahrnovaly účetní, fakturační a e-mailové systémy. nakonec se připojil ke společnosti v roce 1997 a Rolandův cenný přínos zahrnuje návrh specifikací, testovacích nástrojů, demoverzí a také školení a přednášky pro komunitu 4D na mnoha konferencích. Nadále aktivně utváří budoucnost 4D definováním nových funkcí a nástrojů pro vývoj databází.