begin process at 2010 03 18 23:10:32
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Assembleur

 > 

Archives

 > 

Newbii

 > 

[URGENT] Passer des arguments a une DLL


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

[URGENT] Passer des arguments a une DLL

mardi 2 juillet 2002 à 01:05:15 | [URGENT] Passer des arguments a une DLL

BlackWizzard

Administrateur CodeS-SourceS
Bonjours, je voudrai creer un dll en asm (ce qui est fait) mais je n'arrive pas a passer des arguments a la seul fonction de cette dll.

imaginons le code suivant ::

msgB proc DTexte:DWORD, DTitre:DWORD

invoke MessageBox,NULL,addr DTexte,addr DTitre,MB_OK

ret

msgB endp


avec un prog VB, j'appel la dll de cette facon ::

Private Declare Sub msgB Lib "test.dll" (DTexte As String, DTitre As String)

Private Sub Form_Load()
msgB "Voici le texte", "Voici le titre"
End Sub



mais j'obtient une mesagebox avec des caracteres bizard et pas du tout mon texte.
je voudrais savoir comment faire pour passer des arguments correctement! (de type string et long)

Merci d'avance!
[BlackWizzard]
vendredi 5 juillet 2002 à 18:29:40 | Re : [URGENT] Passer des arguments a une DLL

PierreF

Moi j'ai déjà eu ce problème!
Mais avec une DLL en C++. Je savait que ma DLL est bonne, donc j'avais un pb dans la déclaration du la fonction dans le VB.

Je pense que tu à le même pb. Par defaut VB déclare le paramètre comme étant ByVal. il fait une copie de la valeur. Toi tu veut un pointeur sur la donnée tu doit mettre ByRef

Essay donc de déclaré ta fonction comme ca:
Private Declare Sub msgB Lib "test.dll" (byref DTexte As String,byref DTitre As String)

vendredi 5 juillet 2002 à 19:07:26 | Re : [URGENT] Passer des arguments a une DLL

BlackWizzard

Administrateur CodeS-SourceS
ça fonctionne!
merci!


[BlackWizzard] [http://blackwizzard.d2g.com]


-------------------------------
Réponse au message :
-------------------------------

Moi j'ai déjà eu ce problème!
Mais avec une DLL en C++. Je savait que ma DLL est bonne, donc j'avais un pb dans la déclaration du la fonction dans le VB.

Je pense que tu à le même pb. Par defaut VB déclare le paramètre comme étant ByVal. il fait une copie de la valeur. Toi tu veut un pointeur sur la donnée tu doit mettre ByRef

Essay donc de déclaré ta fonction comme ca:
Private Declare Sub msgB Lib "test.dll" (byref DTexte As String,byref DTitre As String)


vendredi 5 juillet 2002 à 20:38:19 | Re : [URGENT] Passer des arguments a une DLL

PierreF

Maintenant que tu sais comment faire et utiliser un DLL faite en asm tu peut mettre un tutoriel stp, car je ne sais pas faire un DLL en asm (ni en VB)
mercredi 10 juillet 2002 à 22:30:23 | Re : [URGENT] Passer des arguments a une DLL

PierreF

Quand dans VB tu met ByRef vb te donne un pointeur sur ce qui te donnerait si tu mettais byval
Les strings VB sont des pointeurs (char * en C/C++). Donc si tu met ByRef VB te donne un pointeur sur un pointeur! (char ** en C/C++)

Mais VB conseille de mettre ByVal (ce evite les pointeur sur des pointeur)!

lundi 3 novembre 2003 à 13:11:09 | Re : [URGENT] Passer des arguments a une DLL

Arpent

Ouais, un petit tut sur l'asm, stp BlackWizzard !
On aimerai bien avancer un peu aussi dans l'histoire...
Merci d'avance !
Arpent
Il n'y a qu'une Vérité, je la cherche


Cette discussion est classée dans : dll, passer, arguments, msgb, dtexte


Répondre à ce message

Sujets en rapport avec ce message

Probleme de dll! (arguments...) [ par BlackWizzard ] salut les pro!voila, G une fonction contenu dans une dll mais cette fonction, je ne sait pas comment lui ajouter des arguments...voici un extrait du c Fonction DLL avec arguments [ par Arnotic ] Bonjour, J'ai une DLL avec une fonction qui prend 2 arguments (en C (char*, int). Lorsque je la charge j'ai aucun problème mais lors de l'appel à Arguments d une fonction dans une DLL [ par MOUSSAOUIAAZIZ ] Salut;J'aimerais savoir si il est possible de trouver la liste d'arguments variables d'une fonction dans une bibliothèque de liens dynamiques (DL DLL Load Comment ? [ par belette321 ] Je me demandais comment je fait pour charger un DLL. Il parrait que sa prend pas plus que quelque ligne alor merci d'avence ... Création de DLL [ par HollowSpecter128 ] Salut à tous!Je voudrais savoir si qq1 pourrais montrer comment on fè pour créer 1 DLL entièrement en assembleur sous NASM ou FASM.Quoique pour FASM j passer en "mono-tache" sous XP ??? [ par toto8966 ] Bonjour a tous,Jaimerais pouvoir passer en mono-tache sous Windows XP, le temps nécessaire a l'exécution d'une routine assembleur et ensuite revenir a Passer en RING0 sous Windows XP ! [ par toto8966 ] Hello, Pour pouvoir placer du code en mode Ring0 jutilise jusqu'a présent le Driver TVicHW32. ( http://www.entechtaiwan.com/tvichw32.htm ) Ca fonction DLL sous masm32v8 [ par Stormy ] Serait-il possible de coder une DLL sous masm dans le but d'établir quelques fonctions très régulièrement utilisées. Le but étant de faire appel par l Registres windows [ par S2R ] Bonjour à tous, Est il possible de créer une clé dans la base de registre sans importer de dll?sinon comment fait-on pour importer une dll avec tasm?m DLL avec TASM ??? [ par Maxilie ] Voila, je voudrais créer une DLL avec tasm pour m'en servir sous un prog en VBProblème :-comment compiler une dll avec TASM-la syntaxe du code est-ell


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,328 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales