Waarschijnlijk niet echt de bedoeling van FileMaker, maar $-variabelen gedragen zich bijna gelijklopend aan $$-variabelen als je ze niet in een script gebruikt.
Als je een $-variabele in een script gebruikt, dan bestaat die alleen maar binnen de scope van het script. Script gedaan: variabele ook gedaan.
Dat is het standaard verhaal. Gedocumenteerd.
Als je echter een $variabele in een velddefinitie gebruikt, of in de data viewer, dan bestaat deze... in de scope van de file (zoals een $$), maar NIET in de scope van eender welk script waar we deze $-variabele nu gaan aanspreken of veranderen.
Of je daar iets mee kan doen? Misschien wel. Bij een recursieve functie kan je een $-variabele gebruiken om te tellen hoeveel keer die doorlopen wordt. Dat is een functionaliteit die niet is weggelegd voor de peudo-variabelen die we in Let() functies gebruiken, want die bestaan alleen maar binnen de scope van de Let() functie.
Het is dan wel belangrijk dat je bij recursieve functies de variabele leegmaakt op het einde, zeker wanneer je deze recursieve functie opnieuw oproept vanuit hetzelfde script.
Hoe dan ook, dit zijn van die leuke dingen die FileMaker niet documenteert (je kan bijvoorbeeld ook vanuit een custom functie aan velden gerelateerd aan de ocurrence waar je zt als je de custom functie oproept. werkt prima, maar ook niet gedocumenteerd ).
Zelfs als je deze kennis niet toepast, is het handig te weten hoe het zit. Pas je dit soort dingen wél toe in applicaties, dan werkt het "morgen" misschien niet meer. FileMaker moet zich immers niet verantwoorden voor ongedocumenteerde features.
Question
Peter Wagemans
Waarschijnlijk niet echt de bedoeling van FileMaker, maar $-variabelen gedragen zich bijna gelijklopend aan $$-variabelen als je ze niet in een script gebruikt.
Als je een $-variabele in een script gebruikt, dan bestaat die alleen maar binnen de scope van het script. Script gedaan: variabele ook gedaan.
Dat is het standaard verhaal. Gedocumenteerd.
Als je echter een $variabele in een velddefinitie gebruikt, of in de data viewer, dan bestaat deze... in de scope van de file (zoals een $$), maar NIET in de scope van eender welk script waar we deze $-variabele nu gaan aanspreken of veranderen.
Of je daar iets mee kan doen? Misschien wel. Bij een recursieve functie kan je een $-variabele gebruiken om te tellen hoeveel keer die doorlopen wordt. Dat is een functionaliteit die niet is weggelegd voor de peudo-variabelen die we in Let() functies gebruiken, want die bestaan alleen maar binnen de scope van de Let() functie.
Het is dan wel belangrijk dat je bij recursieve functies de variabele leegmaakt op het einde, zeker wanneer je deze recursieve functie opnieuw oproept vanuit hetzelfde script.
Hoe dan ook, dit zijn van die leuke dingen die FileMaker niet documenteert (je kan bijvoorbeeld ook vanuit een custom functie aan velden gerelateerd aan de ocurrence waar je zt als je de custom functie oproept. werkt prima, maar ook niet gedocumenteerd ).
Zelfs als je deze kennis niet toepast, is het handig te weten hoe het zit. Pas je dit soort dingen wél toe in applicaties, dan werkt het "morgen" misschien niet meer. FileMaker moet zich immers niet verantwoorden voor ongedocumenteerde features.
0 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.