x

Bonjour,

Je suis gérant d'une société de services et de conseil située en Pays de la Loire et spécialisée en développement sur mesure sous les outils PCSOFT WinDev, WebDev et WinDev Mobile. 

Nous intervenons principalement sur le territoire français, mais nos missions nous amènent également vers d'autres contrées (USA, Suisse, Belgique, Nouvelle Calédonie ...) 

Nous proposons les services suivants:

- Développement sur mesure au forfait
- Délégation de collaborateurs sur site (régie).
- Reprise complète de vos applications, sites web et Mobiles (TMA)
- Renfort d'équipe informatique.

Si vous souhaitez discuter d'un projet ou tout simplement faire connaissance, n'hésitez pas à me contacter au 06.86.67.72.32 ou contact[@]ennovsys.fr

A très bientôt,

Vincent ROY

ChampClone, vous avez dit ChampClone !!!

Bonsoir à tous,

Il y a quelques temps, je cherchais sur le net des informations au sujet de la fonction ChampClone pour savoir s’il y avait une possibilité de créer des champs clonés en dehors de la fenêtre dont il hérite. A ce que j’ai lu, la réponse est négative. En fait, par une utilisation détournée, il est possible de cloner des champs en dehors de sa fenêtre mère. Le concept est vraiment très très simple. Disons que vous avez fait un programme windev basique. Dans le clic d’un bouton, vous voulez cloner un champ dans une fenêtre secondaire. Comment ça va se passer ?.
Dans le clic du bouton, vous chargez une DLL précise. Ce dernier va appelé ensuite une fonction exportée qui va se charger de lister les modules loadés (les DLL en fait) par l’exécutable Windev. Quand on a trouvé la bonne DLL, on se charge de scanner la table d’importation à la recherche de la bonne API (je ne la citerais pas). On sauvegarde l’adresse de cette dernière. On pose ensuite un hook et on va remplacer l’adresse de l’API par une fonction codée dans la DLL. Enfin, on « déhook » et c’est fini.

Pour les Windeviens pensant que le chinois est ma langue natale, j’ai créé une WDL englobant la code ci-dessus.

Pour tester le fonctionnement, vous aurez juste à écrire ça:
ChargeWDL("MA_WDL_WINDEV.WDL")
ExécuteTraitement("ChampCloneFenêtre", trtProcédure, "FEN_DESTINATION", "SAI_Saisie1", "MON_CHAMP_DE_SAISIE", SAI_Saisie1..X, SAI_Saisie1..Y)

En gros, c’est le même prototype que ChampClone avec en plus le nom de la fenêtre destination.

Vous pouvez télécharger un exemple tout simple de l’utilisation de la WDL (version Windev 12).

Download
Downloaded 68 times

Si vous avez des remarques, n’hésitez pas à me laissez un mail: vroy1_dot_hotmail.com (oter _dot_).

A bientôt.

Digg Google Bookmarks reddit Mixx StumbleUpon Technorati Yahoo! Buzz DesignFloat Delicious BlinkList Furl

No Responses to “ChampClone, vous avez dit ChampClone !!!”

Leave a Reply

Name:
Email:
Website:
Comment:
XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>