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

Archive Assembleur

 > 

Archives

 > 

c, c++ et asm

 > 

Comment passer le pointeur d'une structure de masm vers VB6?


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

Comment passer le pointeur d'une structure de masm vers VB6?

lundi 26 décembre 2005 à 14:49:43 | Comment passer le pointeur d'une structure de masm vers VB6?

OujdaMajid

Bonjour tout le monde, voilà, je suis occupé à developper un petit programme (masm et visual basic 6). en masm, je developpe une dll en masm que je veux utiliser en VB(je prefere la develolpper en masm plutôt que c ou c++). la dll en masm envoie un pointeur d'une structure vers vb , comme ceci : ... demo proc hwnd:DWORD, msg:DWORD, wParam:DWORD, lParam:DWORD ..... ; je recupre le pointeur de la structure qui se trouve en lParam (par exemple ; typedef struct { ; LPARAM lParam; ; WPARAM wParam; ; UINT message; ; HWND hwnd; ; } CWPSTRUCT; mov edx, lParam assume edx:PTR CWPSTRUCT .if ([edx].wParam==1) invoke PostMessage,h,msg,wParam,lParam .endif ................... demo endp alors le probléme est le suivant, en asm le pointeur lParam pointe bien sur un estructure "CWPSTRUCT" mais quand j'envoie le pointeur vers vb via l'API PostMessage je rerçois un pointeur erroné et quand je veux l'appliquer à une structure "CWPSTRUCT" en vb, vb se plante, donc ma question est la suivante : pourquoi le pointeur pointe bien en masm et pas en vb. est ce un probleme de placement de mémoire ou quoi...? merci d'avance
lundi 26 décembre 2005 à 18:54:31 | Re : Comment passer le pointeur d'une structure de masm vers VB6?

patatalo

Membre Club Administrateur CodeS-SourceS
salut, a mon avis, c'est la déclaration de la structure sous VB qui doit etre mauvaise. il faudrait desassembler le code vb compilé pour trouver comment il utilise ce pointeur et pourquoi le referencement n'est pas correct. @++
mardi 27 décembre 2005 à 13:59:40 | Re : Comment passer le pointeur d'une structure de masm vers VB6?

OujdaMajid

dans vb, la déclaration de la structure : type CWPSTRUCT lParam as long wParam as long message as long hwnd as long end type donc il déclare tout comme long, et j'ai affiché la taille de la structure dans c++ et vb et c'est bien 16 octets (4 * long)
jeudi 29 décembre 2005 à 09:09:46 | Re : Comment passer le pointeur d'une structure de masm vers VB6?

patatalo

Membre Club Administrateur CodeS-SourceS
salut, cette structure est utilisée pour hooker les appels CallWindowProc. qui a alloué cette structure ? est elle encore existante a la sortie la fonction ? PostMessage poste simplement le message SendMessage attends la fin de prise en charge du message. ça pourrait bien etre carrement l'utilisation de la structure qui peut etre invalide car la structure a été liberée bien avant son utilisation. @++
samedi 7 janvier 2006 à 02:23:02 | Re : Comment passer le pointeur d'une structure de masm vers VB6?

BLUEBIBUBBLE

Une Fonction VB qui retourne une structure utilise en fait (de manière invisible en VB) le premier paramètre de la fonction pour transmettre l'addresse de la structure retournée . Il te faut recopier le contenu de la structure a l'addresse imposée par visual basic, voir:
http://www.asmfr.com/code.aspx?ID=18833



Cette discussion est classée dans : vb, structure, pointeur, lparam, masm


Répondre à ce message

Sujets en rapport avec ce message

(Debutant en ASM) (MASM) pointeur sur une structure [ par Otaku ] Salut, voila mon pb, j'aimerai créer une fonction en asm qui reçoit un pointeur sur un élément de type structure, jusque-là pas de pbmais comment modi DOCUMENTATION [ par bymo ] Pourquoi sur ce site n'y a t il pas une bibliothèque en français de documentation sur les différents assembleurs:MASM, TASM, NASM, FASM... et autres.C instruction MID(vb) en ASM [ par flagyg ] Bonjour,J'essaye de traduire des codes que j'ai fait en vb en asm. mais je n'arrive pas à programmer la fonction mid.Qqn pourrait me la programmer svp Programme désassemblé ! [ par pierre63 ] Bonjour,Voia, j'avais fait un prog en vb que j'avais compilé donc j'ai un setup puis je l'install c me donne un .exe !Probleme j'ai perdu la source de syntaxe Masm [ par Stormy ] J'ai un code asm brut à établir selon les usages de Masm version 8. Cette ligne n'est pas reconnue par le compilateur:mov edx, dword ptr fs:[edx]Quell bug masm? [ par vecchio56 ] j'ai le code minimal suivant:.386.model flat, stdcall .data .code start: end startmais le pb c'est qu'au linkage il me met Comment programmer l'ASM? [ par Tioneb ] Salut,je programme en VB et l'ASM (sous windows) m'interresse; mais je n'y connait pas grand chose! Si quelqu'un pouvait me dire avec quel logiciel on MASM [ par LordBob ] Bonjour a tous,voila je debute en Asm et j'essaie de me servir de MASM, mais j'ai un peu de mal, personne ne connaitrait un tutorial pour apprendre a Petit probleme avec MASM [ par LordBob ] Bonjour a tous,voila je debute en assembleur et en fait j'utilise MASM32 et je viens d'écrire un programme tout basique qui est simplement censé affic [MASM] Chronomètre [ par ZogStriP ] Je souhaiterais faire un chronomètre à la miliseconde prés ( au format : mm:ss:nn avec mm minutes, ss secondes, nn milisecondes !)Je souhaiterais


Nos sponsors


Sondage...

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,936 sec (4)

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