Jump to content
  • 0

Vreemd scriptgedrag


Corneel

Question

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 to comment

9 answers to this question

Recommended Posts

  • 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 to comment
  • 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 to comment
  • 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 to comment
  • 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 to comment
  • 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 to comment
  • 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 to comment
  • 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 to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...