Fermeture des tables à l'aide de l'opérateur d'envoiJ'avais supposé que les opérations suivantes sont équivalentes:
Close( dt, nosave );<BR />dt << Close( nosave );
Mais maintenant je me trouve dans une position où ils ne produisent pas les mêmes résultats (la 2ème version utilisant l'opérateur Envoyer ne ferme pas la table)
Quelle est la différence?
Re: Fermer les tables en utilisant l'opérateur d'envoiJe ne sais pas. Close () est une fonction de la table de données et ne fait pas partie d’un protocole de message depuis JMP 4 lors de la première introduction de JSL. Il existe quelques cas (seulement quelques-uns) où le même résultat peut être obtenu par une fonction et l'envoi d'un message. Par exemple, obtenir une référence à la couche de rapport d'une plate-forme p peut utiliser Report (p) ou p << Report.
Re: Fermer les tables en utilisant l'opérateur d'envoiSo Close () n'a jamais été destiné à être envoyé à des objets, mais cela pourrait-il fonctionner? J'ai adopté un script traditionnel qui ferme les tables exclusivement via l'envoi de messages ...
Re: Fermer les tables en utilisant l'opérateur d'envoiLe message Fermer peut être envoyé à plusieurs objets JSL, mais pas aux tables de données.
La table de données n'accepte pas le message << Fermer. Si vous l'envoyez dans une table de données "propre" (une table déjà enregistrée sur le disque et qui n'a pas été modifiée), la table de données ne sera pas fermée.
dt = open( "$SAMPLE_DATA/Big Class.jmp" );
dt << Close(); // nothing happens
À retenir: La fonction Close () et le message << Close ne sont pas la même chose et ne sont pas interchangeables.
HTH,
Mélanie