bonjour. Je suis encore debutant en oracle forms et je veux savoir la difference entre pre-block et when-new-block-instance. jai lu le tutorials de sheikyerbouti jai pas trouve la difference.
Merci d'avance
Version imprimable
bonjour. Je suis encore debutant en oracle forms et je veux savoir la difference entre pre-block et when-new-block-instance. jai lu le tutorials de sheikyerbouti jai pas trouve la difference.
Merci d'avance
PRE-BLOCK s'exécute systèmatiquement quand tu fais un go_block ou que l'utilisateur se place sur un bloc
Le WHEN-NEW-BLOCK-INSTANCE ne se déclenche que si tu restes sur le block
Exemple, soit le code suivant :
Dans ce cas, le trigger PRE-BLOCK se déclenchera pour chacun des blocs alors que le WHEN-NEW-BLOCK-INSTANCE ne se déclenchera que pour le secondCode:
1
2
3
4 go_block ('bloc1'); execute_query; go_bloc ('bloc2'); execute_query;
Merci plaineR :D
Bonjour,
Je me pose la même question que jamjam19 et malgré l'explication de plaineR, ça reste flou... :oops: Quelqu'un aurait-il une autre formulation à proposer ? (Je comprends vite, mais il faut m'expliquer longtemps :mouarf: )
Merci !
when_new_block_instance ne se déclenche que lorsque tu actives le block : curseur dans un item ou alimentation du block
l'ordre des triggers est le suivant :
PRE_BLOCK
PRE_FORM
POST_BLOCK
POST_FORM
WHEN_NEW_BLOCK_INSTANCE
Sinon, pour ce genre de question, il ne faut pas hésiter à utiliser l'aide de Forms qui est plutôt bien documentée ;)
C'est vrai qu'on peut se poser la question !
Citation:
Pre-Block Trigger
Description
Fires during the Enter the Block process, during navigation from one block to another.
When-New-Block-Instance Trigger
Description
Fires when the input focus moves to an item in a different block. Specifically,
it fires after navigation to an item,
when Forms Developer is ready to accept input in a block that is different than the block that previously had the input focus.
In a multiple-form application, this trigger does not fire when focus changes from one form to another.
En gros la différence réside dans le fait que PRE-BLOCK se déclenche avant l'arrivée dans le bloc alors que When-New-Block-Instance se déclenche dans le bloc.
finalement, il se déclenche quand when_new_item_instance se déclenche :D
L'aide de Forms ne m'avait pas vraiment avancée, et je n'étais pas sûre de bien comprendre les explications du guide Forms de SheikYerbouti sur ce point, notamment la phrase qui dit que le trigger WHEN-NEW-BLOCK-INSTANCE se déclenche toujours après le déclencheur PRE-BLOCK : déclenchement systématique dès lors que PRE-BLOCK a été déclenché, ou phrase indiquant simplement que lorsque les deux triggers se déclenchent, l'ordre est PRE-BLOCK en premier, et WHEN-NEW-BLOCK-INSTANCE en deuxième ?
C'est subtil tout de même... Je sens qu'à chaque fois que j'aurais à choisir entre l'un ou l'autre, je vais me questionner longtemps !
Merci en tout cas pour ces explications, c'est déjà plus clair.
La différence se fait aussi en cas d'erreur. erreur sur PRE-BLOCK, le focus reste sur l'élement du bloc précédent.
erreur sur WNBI, le focus reste dans le nouveau bloc.
Ah oui, effectivement, je n'avais pas pensé à ça !
WNVI se déclenche tout simplement quand le focus arrive dans le bloc alors que PRE_BLOCK se déclenche sur un go_block par exemple ;)