Le forum (ô combien francophone) des utilisateurs de Powerbuilder.
Pages: 1 2
eRaSorZ a écrit:
il n'y a pas que des avantages : en gros tu peux passer tout et n'importe quoi à ta fonction
le prototypage permet à la compilation de s'assurer que tous les cas ont été pris en compte
Malheureusement pas dans le cas de TRON (appel avec un dynamic)
eRaSorZ a écrit:
et si tu fais ton of_init juste après le create avec un IsValid ?
Tout à fait. Mais du coup ton of_init ne s'exécutera pas. Par contre le script dans le constructor de ton objet se sera effectué lui. Si tu veux un objet qui gère sa destruction au constructor en fonction de ses propriétés et de son environnement, tu n'as pas grand choix...
eRaSorZ a écrit:
Sur l'utilisation des paramètres de type Any : tu seras obligé de "caster" ensuite (et ça n'est supporté sur toutes les plateformes)
Justement, par rapport à la solution d'origine, l'utilisation de mon objet évite de passer un any directement à l'event ou la fonction et donc évite de propager les any dans les proxy, skeleton, etc...
Pour moi, le truc de TRON peut être utile dans certains cas, simplement je limiterais le nombre de prototypage de la fonction constructeur et j'éviterais un plantage violent de PB si la fonction n'existe pas en utilisant un event. Là où je vous rejoins Shahin et toi, c'est qu'il ne faut pas tomber dans l'excès "objet" sans bonne raison.
Hors ligne
Aller, c'est parti: 00 pour Tron et son astuce et ce topic de haute volée
et 000 pour Chrnico qui vient de faire passer en Opensource une partie de sa N2I-LIBRARY
Hors ligne
foon a écrit:
Aller, c'est parti:
00 pour Tron et son astuce et ce topic de haute volée
et000 pour Chrnico qui vient de faire passer en Opensource une partie de sa N2I-LIBRARY
M'ci m'sieur Foon !
Hors ligne
Chrnico a écrit:
Là où je vous rejoins Shahin et toi, c'est qu'il ne faut pas tomber dans l'excès "objet" sans bonne raison.
ça sera donc la morale de cette histoire
et pas l'éternel "Ils vécûrent heureux et eurent pleins de petits objets"
Hors ligne
Tron a écrit:
Sur l'utilisation des paramètres de type Any : tu seras obligé de "caster" ensuite (et ça n'est supporté sur toutes les plateformes)
Sur quelle plateforme le type any n'est-il pas supporté ?
j'avais pas vu la question hier : déploiement de composants dans les serveurs d'applis Java, EAS
Aide Powerbuilder a écrit:
Do not use Any in EAServer component definition The Any datatype is specific to PowerScript and is not supported in the IDL of an EAServer component. CORBA has a datatype called Any that can assume any legal IDL type at runtime, but it is not semantically equivalent to the PowerBuilder Any type. You must exclude the PowerBuilder Any datatype from the component interface definition, but you can use it within the component.
par ailleurs il est également déconseillé d'utiliser Any par défaut :
Aide Powerbuilder a écrit:
Overusing the Any datatype
Do not use Any variables as a substitute for selecting the correct datatype in your scripts. There are two reasons for this:
· At execution time, using Any variables is slow PowerBuilder must do much more processing to determine datatypes before it can make an assignment or perform an operation involving Any variables. In particular, an operation performed many times in a loop will suffer greatly if you use Any variables instead of variables of the appropriate type.
· At compile time, using Any variables removes a layer of error checking from your programming The PowerBuilder compiler makes sure datatypes are correct before code gets executed. With Any variables, some of the errors that can be caught by the compiler are not found until the code is run.
Hors ligne
eRaSorZ a écrit:
Aide Powerbuilder a écrit:
Do not use Any in EAServer component definition The Any datatype is specific to PowerScript and is not supported in the IDL of an EAServer component. CORBA has a datatype called Any that can assume any legal IDL type at runtime, but it is not semantically equivalent to the PowerBuilder Any type. You must exclude the PowerBuilder Any datatype from the component interface definition, but you can use it within the component.
D'où l'utilisation d"un objet comme expliqué dans mon précédent post (pas d'any dans le proxy).
eRaSorZ a écrit:
Aide Powerbuilder a écrit:
Overusing the Any datatype
Do not use Any variables as a substitute for selecting the correct datatype in your scripts. There are two reasons for this:
· At execution time, using Any variables is slow PowerBuilder must do much more processing to determine datatypes before it can make an assignment or perform an operation involving Any variables. In particular, an operation performed many times in a loop will suffer greatly if you use Any variables instead of variables of the appropriate type.
· At compile time, using Any variables removes a layer of error checking from your programming The PowerBuilder compiler makes sure datatypes are correct before code gets executed. With Any variables, some of the errors that can be caught by the compiler are not found until the code is run.
Oui, c'est tout à fait vrai. Malheureusement nous sommes souvent obligé de faire un choix entre souplesse et rapidité... D'ailleurs Sybase n'a pas suivi sa propre préco en sortant la notation pointée
Hors ligne
Pages: 1 2