Start
 

Aldfaer

Hét gratis stamboomprogramma

U bent op pagina StartForumSjablonen_USES in Hookbestand
.

_USES in Hookbestand


  Posten niet toegestaanPage: « < 1 of 1 > »
26 Apr 2008 - 16:071552
_USES in Hookbestand

Ik ben bezig met het aanpassen van de standaard Kwartierstaat en Parenteel rapporten, d.m.v. de Hookbestanden KwartierHook.asjl en ParenteelHook.asjl. In die bestanden staan de gewijzigde funkties uit Voorgeslacht.asjl en Nageslacht.asjl, maar er staan ook gewijzigde funkties uit Basis.asjl in. Die laatste funkties zijn gelijk voor zowel de Kwartierstaat als de Parenteel, vandaar dat ik ze graag wil opnemen in een nieuw Hookbestand (bijv. BasisHook.asjl) en dat Hookbestand dan aanroepen vanuit KwartierHook en ParenteelHook.

Is dat mogelijk en zo ja, hoe doe ik dat dan?
NB: Mijn eigen experimenten, zoals het toevoegen van _USES(BasisHook) aan KwartierHook of ParenteelHook leiden tot niets, vermoedelijk omdat het "bouwen" van het definitieve sjabloonbestand dan al heeft plaatsgevonden.

Groet,
Peter



__________________
Peter van der Vliet
genealogie.vandervliet-online.com
26 Apr 2008 - 20:331555

Peter,

Twee opmerkingen:
-1- je kan ook de 'StandaardHook.asjl' gebruiken, waarin al die functies kunnen staan die voor ALLE aldfaer sjablonen gelden.
-2- de _USES kan je vooraan in de hook plaatsen en wel buiten de _...BEGI/_...END, want de _USES mag niet in een loop gebruikt worden. De _USES wordt herkend doordat alle ASJ/ASJL's technisch gezien aan elkaar gekoppeld worden totdat het laatste statement is onderkend.



__________________
Bert vd Brandt

aliases: bouwen_Drunen, brandt_ll, easelmail, frank_aa, frans_Maes_schijndel, Grietje, llbrandt, llbrandt1, llbrandt2, llbrandt4, Wander, Waltergroen
27 Apr 2008 - 08:171562

Wanneer je een _USES in een hook bestand doet, zal die _USES gewoon worden uitgevoerd, maar niet tot het gewenste resultaat leiden....

Uitleg:
Wanneer de sjabloonparser een _USES tegenkomt is het enige dat gedaan wordt de code van dat sjabloon geheel achter de bestaande code kopiëren. Wanneer er later tijdens executeren een functie moet worden uitgevoerd, neemt de parser altijd de eerste die hij tegenkomt.

Dit heeft als effect:
Stel dat in basis.asjl een functie 'Kareltje' zit, en in een hook zet je ook de functie 'Kareltje'. Zowel het hook bestand als basis.asjl worden in een standaard overzicht dmv een _USES achter het sjabloon geplakt. Het hook bestand als eerste, en basis.asjl daarna. De functie 'Kareltje' komt nu 2x voor, die in het hook bestand als eerste. Dus de functie 'Kareltje' uit het hoekbestand wordt uitgevoerd, en niet die uit basis.asjl.

Nu ga je in het hookbestand weer een _USES doen. De sjabloonparser verwerkt deze _USES in volgorde, dus eerst wordt het hookbestand toegevoegd, dan komt de _USES van basis, en basis.asjl wordt toegevoegd. Vervolgens komt de toegevoegde code, die staat immers achteraan. Hier staat een _USES van een nieuw bestand, maar dit bestand komt dus weer achteraan. Wanneer hier een functie 'Kareltje' wordt neergezet, komt die pas na de 'Kareltje' die in basis staat met als gevolg dat de 'Kareltje uit basis wordt gebruikt.



__________________
Dick de Boer

Last edited by DickB (27 Apr 2008 - 08:20)
27 Apr 2008 - 15:481567

Bert, Dick,

Bedankt. Ik had al aan StandaardHook gedacht, maar was bang voor de onbedoelde effekten op de overige tekstbestanden. Na kontrole blijkt dat reuze mee te vallen, dus ik gebruik nu StandaardHook voor alle gewijzige basisfunkties.

Groet,
Peter



__________________
Peter van der Vliet
genealogie.vandervliet-online.com
  Posten niet toegestaanPage: « < 1 of 1 > »

© Stichting Aldfaer - ingeschreven bij de KvK Noord-Nederland onder nr. 01096526