Ga naar inhoud
  • 0

Vreemd scriptgedrag


Corneel

Vraag

In een printscript laat ik een veld vullen met een bepaalde tekst. Wanneer ik dit script run via Script Debugger gaat het goed: de tekst verschijnt precies zoals ik bedoel. Run ik het script op normale wijze, dan blijft het veld leeg.

Ra ra hoe kan dit?

 

Weet iemand of ik iets fout doe, iets over het hoofd zie?

 

Groet,

Corneel

Link naar reactie

9 antwoorden op deze vraag

Aanbevolen berichten

  • 0

Zo te zien gaat het script te vlug, het veld 'header' wordt aan het eind weer leeggemaakt en dat gebeurt dan misschien voordat FileMaker klaar is met het genereren van de printout.

 

Je zou kunnen proberen het script te pauzeren na de scriptstap 'Print[]'. Experimenteer met de tijd. 1 sec. zou genoeg moeten zijn.

 

Ik geef toe dat dit eigenlijk niet zou moeten gebeuren, maar ja... FileMaker en Printen, dat zijn geen vriendjes.

 

Succes.

Link naar reactie
  • 0

Het wordt nog vreemder:

De tip om het script kort te pauzeren heb ik verwerkt: succes!

Daarna heb ik die pauze weer verwijderd en : succes!

 

Dus nu werkt het script wel in de originele versie! Daar zit je dan een tijd op te turen en je af te vragen wat je verkeerd doet. Filemaker speelt een spelletje met mij!

 

Bedankt in ieder geval voor het meedenken.

 

Corneel

Link naar reactie
  • 0
Filemaker speelt een spelletje met mij!

 

mmm, meestal hebben dergelijke 'mysterieuze' gedragingen van FileMaker een menselijke oorzaak. Niet te snel de schuld op FileMaker steken en geduldig je script testen met alle mogelijke scenario's.

 

Het zou me erg sterk lijken als het iets te maken heeft met die pauze. Ben je zeker dat je op de juiste layout terecht komt? Staat dat header-veldje wel op de layout die je aanroept? Heeft je variabele de waarde die je verwacht? Is dat Header-veld wel beschikbaar in de context van de layout die je activeert?

Nog een tip: voeg na een 'Set Field' altijd een 'Commit Record' toe. Zo ben je zeker dat je waarde wordt opgeslagen. En indien niet, dan krijg je tenminste een foutmelding.

 

HTH,

Joris

Link naar reactie
  • 0
Ben je zeker dat je op de juiste layout terecht komt? Staat dat header-veldje wel op de layout die je aanroept? Heeft je variabele de waarde die je verwacht? Is dat Header-veld wel beschikbaar in de context van de layout die je activeert?

 

Joris,

Op al deze vragen kan ik bevestigend antwoorden. In ieder geval wel bedankt voor deze tips.

Het script werkt overigens nog steeds in de originele versie. En daar gaat het mij uiteindelijk om!

 

Groet,

Corneel

 

Link naar reactie
  • 0

Een mogelijk valstrik zou kunnen zijn, dat als je je script in de debugger runt én je hebt de dataviewer openstaan, dat je dan middels de Let() functie in de dataviewer, ongewild een $ of $$ variablele hebt gedeclareerd en een waarde toegewezen, en dat diezelfde variabele in je If ... Else If constructie wordt gebruikt om te testen. Het zou sterk zijn, maar het kan.

 

Geloof niet te snel in de mysterieuze en magische eigenschappen van FileMaker, ikzelf heb in ongeveer al dit soort gevallen moeten vaststellen dat de oorzaak bij mezelf lag.

 

- Jeroen

Link naar reactie
  • 0

Even mijn vorige post aanvullen: ik gebruik die nevenwerking van de Let() functie in de dataviewer zelf soms om subscripts te testen, waarvoor waarden via scriptparameters worden doorgegeven en in lokale varibalen gestopt.

 

Bij gebreke aan die parameters wanneer het enkel het subscript laat lopen in de debugger, wijs ik dan in de dataviewer, middels de Let() functie, zelf waarden toe en kan ik prima testen, zonder het geheel van parent en subscripts te moeten laten lopen.

 

- Jeroen

Link naar reactie
  • 0

Ik heb uiteraard het script gerund in de debugger en met de dataviewer open om te zien of de juiste waardes werden ingevuld.

Ik weet echter zeker dat ik niets in die viewer heb ingevuld. (ik wist niet eens dat dat mogelijk was...)

Maar bedankt voor die tip. Wie weet zal ik dat ooit eens kunnen gebruiken.

 

Groet, Corneel

Link naar reactie

Doe mee aan dit gesprek

Je kunt dit nu plaatsen en later registreren. Indien je reeds een account hebt, log dan nu in om het bericht te plaatsen met je account.

Gast
Beantwoord deze vraag...

×   Geplakt als verrijkte tekst.   Plak in plaats daarvan als platte tekst

  Er zijn maximaal 75 emoji toegestaan.

×   Je link werd automatisch ingevoegd.   Tonen als normale link

×   Je vorige inhoud werd hersteld.   Leeg de tekstverwerker

×   Je kunt afbeeldingen niet direct plakken. Upload of voeg afbeeldingen vanaf een URL in

×
×
  • Nieuwe aanmaken...