SOUCLASSEMENT SANS MODULE STANDARD

Signaler
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
-
Messages postés
4525
Date d'inscription
dimanche 29 septembre 2002
Statut
Modérateur
Dernière intervention
22 avril 2019
-
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/39467-souclassement-sans-module-standard

Messages postés
4525
Date d'inscription
dimanche 29 septembre 2002
Statut
Modérateur
Dernière intervention
22 avril 2019
9
Cool je vais voir la maj chez toi
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
69
j'ai ajouté un test (en mode IDE) qui s'assure que le code tourne (EbMode) et si on est en BreakPoint, on appelle la proc standard.
(ce code de test n'est pas greffé en mode compile)

au final, on peut debugger tranquille, et même presser le bouton STOP, sans que VB en crashes...

bref, ce que j'avais suggeré dans mon tout premier commentaire sur ta source.
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
69
j'ai codé ce forward d'appel en C, puis j'ai modifié un tout petit peu le listing asm que m'a filé le compilateur de VS2005...

ça me donne donc 41 octets :

MovB Ofs, &H51 'push ecx
MovL Ofs, &H14244C8B 'mov ecx, DWORD PTR _lParam$[esp] (_lParam$=20)
MovL Ofs, &H1024548B 'mov edx, DWORD PTR _wParam$[esp] (_wParam$=16)
MovB Ofs, &H8D 'lea eax, DWORD PTR _RetValue$[esp+4] (_RetValue$=-4)
MovB Ofs, &H4
MovB Ofs, &H24
MovB Ofs, &H50 'push eax
MovL Ofs, &H1024448B 'mov eax, DWORD PTR _uMsg$[esp+4] (_uMsg$=12)
MovB Ofs, &H51 'push ecx
MovL Ofs, &H10244C8B 'mov ecx, DWORD PTR _hWnd$[esp+8] (_hWnd$=8)
MovB Ofs, &H52 'push edx
MovB Ofs, &H50 'push eax
MovB Ofs, &H51 'push ecx
MovB Ofs, &H68 'push 0x55555555
MovL Ofs, ObjPtr(x)
MovB Ofs, &HBA 'mov edx, 0x22222222
MovL Ofs, Ptr
MovB Ofs, &HFF 'call edx
MovB Ofs, &HD2
MovB Ofs, &H58 'pop eax
MovB Ofs, &HC2 'ret 16 ; 00000010H
MovB Ofs, &H10
MovB Ofs, &H0
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
69
ah... ouais, remarques, c'est assez logique...
enfin, j'étais content d'avoir (enfin) réussi a ce que ca plante pas :p => voir le coté positif ^^

ba, j'vais trouver autre chose...(où utiliser ton code :p)
là, j'appelais une fonction de mes objets (ISubClasser), donc j'ai pas a me soucier de l'emplacement de la procedure dans le code...
Afficher les 15 commentaires