PB à toute heure et à tout moment. (à parcourir avec modération)

Le forum (ô combien francophone) des utilisateurs de Powerbuilder.

Recherche rapide

Annonce

Certaines rubriques, dont des cours, sont uniquement visibles par les membres du forum ^^.
Dans la rubrique Liens & Références, vous avez accès à un sommaire de téléchargement, profitez-en !
Il existe maintenant un nouveau TOPIC "Votre CV en Ligne" accessible uniquement par demande.

#26 20-09-2007 12:37:57

Chrnico  
N2I Power
Award: bf
Lieu: Vanves
Date d'inscription: 05-06-2007
Messages: 1206
Pépites: 12,884,901,943
Banque: 9,223,372,036,854,776,000
Site web

Re: [ASTUCE] Constructeur avec des paramètres

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.


Tu dois donc tu peux (Kant)

Tu peux donc tu dois (N2i)
www.n2i.fr

Hors ligne

 

#27 20-09-2007 12:39:26

foon  
N2iGeek + MangasGeek = foon
Award: bf
Lieu: Bonchamp-Lès-Laval
Date d'inscription: 28-02-2007
Messages: 2486
Pépites: 85
Banque: 9,223,372,036,854,776,000

Re: [ASTUCE] Constructeur avec des paramètres

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


Seuls ceux qui ne font rien ne font jamais d'erreurs
http://www.nerdtests.com/images/badge/163124fb7fb459a3.gif

Hors ligne

 

#28 20-09-2007 12:41:51

Chrnico  
N2I Power
Award: bf
Lieu: Vanves
Date d'inscription: 05-06-2007
Messages: 1206
Pépites: 12,884,901,943
Banque: 9,223,372,036,854,776,000
Site web

Re: [ASTUCE] Constructeur avec des paramètres

foon a écrit:

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

M'ci m'sieur Foon !


Tu dois donc tu peux (Kant)

Tu peux donc tu dois (N2i)
www.n2i.fr

Hors ligne

 

#29 20-09-2007 12:57:22

erasorz  
Admin
Lieu: Babylone
Date d'inscription: 23-11-2006
Messages: 5121
Pépites: 97,197
Banque: 2,147,483,647

Re: [ASTUCE] Constructeur avec des paramètres

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"


N'envoyez jamais un humain faire le travail d'un programme.

Hors ligne

 

#30 21-09-2007 14:49:59

erasorz  
Admin
Lieu: Babylone
Date d'inscription: 23-11-2006
Messages: 5121
Pépites: 97,197
Banque: 2,147,483,647

Re: [ASTUCE] Constructeur avec des paramètres

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.


N'envoyez jamais un humain faire le travail d'un programme.

Hors ligne

 

#31 24-09-2007 08:06:52

Chrnico  
N2I Power
Award: bf
Lieu: Vanves
Date d'inscription: 05-06-2007
Messages: 1206
Pépites: 12,884,901,943
Banque: 9,223,372,036,854,776,000
Site web

Re: [ASTUCE] Constructeur avec des paramètres

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


Tu dois donc tu peux (Kant)

Tu peux donc tu dois (N2i)
www.n2i.fr

Hors ligne

 

Pied de page des forums

Propulsé par FluxBB 1.2.22