Test struct [demande forum]

Soyez le premier à donner votre avis sur cette source.

Vue 3 632 fois - Téléchargée 238 fois

Description

Se trouve aussi ici: http://www.dev.winsysdev.com/

Ce code montre le passage de l'adresse d'une structure à une DLL qu'elle remplie puis rend la main au programme principal.

Il faut savoir que nous aurions pu dans la DLL (et même dans l'EXE) parcourir la strucutre a l'aide d'un pointeur...

Source / Exemple :


// ZIP

Conclusion :


Amusez-vous bien :-)

Codes Sources

A voir également

Ajouter un commentaire Commentaires
Messages postés
2670
Date d'inscription
vendredi 25 janvier 2002
Statut
Membre
Dernière intervention
6 février 2013
2
Combien savent ici ce que reprèsente la décoration @X?
Pas grand monde a mon avis.

Pour faire ce que Arnotic n'a pas fait je vais vous le dire. Le @ est une decoration inscrite sur toutes les fonctons. Le 'X' represente le nombre de byte de la liste de parametres. Ca c'est le model des fonctions C de type __stdcall.
Parcequ'en plus pour les autres types de fonctions c'est encore pire que ca!

Ou est la facilité dans ce que tu proposes ?
Certes la constante peut servir par la suite, mais si le gars novice ne sait pas quoi faire du "@X" il se prendra plus la tete qu'autre chose a comprendre la syntaxe de décoration. Un simple extern "C" résoudra tout les problemes.

Et pour le (HINSTANCE) elle est ou l'astuce dans ce que t'as fait ?
Soit honnete avec toi meme. Dans ce genre de code si ce n'est pour faire plus pro, le CAST n'a rien a faire ici.

Cepandant ton code reste tout de meme un bon exemple.

Tout le monde n'a pas ton niveau, meme si je ne sais pas vraiment ce que tu vaut, mais essaye tant que possible de faire des codes simplifié au maximum tout en restant simple et compréhensible.

Ce ne sont pas des critiques de mauvaise fois que je te fais, mais de simple remarques concernant l'amelioration du code. Tu sais j'en ai tout autant que toi a apprendre dans le domaine de la programmation si ce n'est meme plus!

Comme je l'ai dis plus haut ton code reste un tres bon exemple malgré tout.

A++ et bonne continuation Arnaud.

Samir

PS: BruNews est ton approbateur de code ? :p
Messages postés
215
Date d'inscription
mercredi 30 juillet 2003
Statut
Membre
Dernière intervention
25 septembre 2010

Ah bon ? Et à quoi servent ces décorations ?
Messages postés
933
Date d'inscription
dimanche 1 avril 2001
Statut
Membre
Dernière intervention
9 janvier 2012
2
Ce code a été validé pour Brunews avant post.
Les Goto si tu n'aimes pas ca ce n'est pas de ma faute.

Concernant les décorations je développe comme je le veux. Et si j'ai fais comme ce n'est pas pur hasard et en aucun cas ca complique le code si tu sais ce que les @X veulent dire.

Concernant la constante elle est déclarée et alors ? Ca complique en rien et si tu veux rajouter d'autres fonctions tu l'as déjà.
Messages postés
2670
Date d'inscription
vendredi 25 janvier 2002
Statut
Membre
Dernière intervention
6 février 2013
2
T'aime bien avoir des lignes de codes inutiles ou t'as pas fait attention ?

1) Pourquoi déclarer hDLL de type HANDLE pour ensuite faire un cast avec un HINSTANCE ?
Déclare le directement en HINSTANCE.

2) Encore une chose inutile qui ne fait que compliquer le code.

Tu appelles la fonction avec la décoration crée par le compilo (_ChangeMyStruct@4). T'as juste a passé extern "C" a la fonction dans la DLL, au moins ca évite les problemes de décoration et sa rend le code plus compréhensible.

3) Tu créés une constante qui ne te sert qu'une seule fois(#define DLLTESTSTRUCT_API __declspec(dllexport))! Encore une ligne de plus qui ici est vraiment inutile!

4) Tu renvois tes condition avec des goto ce qui de la meme sorte t'obliges a ajouter des return pour terminer l'execution de la fonction. Tu peux tout simplement afficher tes MessageBox dans tes conditions.
Les goto rendent en plus le code moins lisible.

En gros heureusement qu'il n'y ait que quelques lignes de codes.

Tu as ajouter tout ce superflux pour paraitre plus pro ou tu as tout simplement fait ce code a l'arracher?
Comme le dis Brunews on est pas aux pièces.

Shell
Messages postés
933
Date d'inscription
dimanche 1 avril 2001
Statut
Membre
Dernière intervention
9 janvier 2012
2
Afficher les 10 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.