CopyMemory VB.NET [Résolu]

Signaler
Messages postés
1411
Date d'inscription
mercredi 6 août 2003
Statut
Membre
Dernière intervention
3 mars 2019
-
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
-
Salut,

Je tente de convertir une class de Renfield en .NET, seulement je rencontre des problèmes avec les CopyMemory.

J'ai de violents plantages lors des appels à cette API.

Existe-t-il une alternative à cette API ? ou tout simplement à cette class ?

Merci d'avance

Bonne prog
++

7 réponses

Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
sinon, j'ai trouvé ça :

   Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" ( _
       <MarshalAsAttribute(UnmanagedType.AsAny)> ByVal Destination As Object, _
       <MarshalAsAttribute(UnmanagedType.AsAny)> ByVal Source As Object, ByVal Length As Integer)
~
<small>[code.aspx?ID=39466 Mortalino] ~
Colorisation automatique</small>

@++

le mystérieux chevalier,"Provençal, le gaulois"
Forum Office & VBA
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
Salut Bouv,

question bête : As-tu pensé à remplacer les types Long en type Integer ?

@++

le mystérieux chevalier,"Provençal, le gaulois"
Forum Office & VBA
Messages postés
1411
Date d'inscription
mercredi 6 août 2003
Statut
Membre
Dernière intervention
3 mars 2019
1
Salut,

Oui bien sûr. J'ai bien renommé tout les types.

Renfield utilisait le type Variant dans l'appel de l'API, j'ai essayé de remplacé avec le type Object mais cela ne fonctionne pas.

J'ai donc essayé de créé 3 alias pour le fonction CopyMemory en fonction des types utilisés (Integer vers Integer, Integer vers String, String vers Integer), mais j'ai toujours des soucis.

Bonne prog
++
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
Type Any au lieu de Variant, peut-être

@++

le mystérieux chevalier,"Provençal, le gaulois"
Forum Office & VBA
Messages postés
1411
Date d'inscription
mercredi 6 août 2003
Statut
Membre
Dernière intervention
3 mars 2019
1
Heu oui je suis allé trop vite.

Type Any transformé en Object effectivement.

Bonne prog
++
Messages postés
1411
Date d'inscription
mercredi 6 août 2003
Statut
Membre
Dernière intervention
3 mars 2019
1
C'est beaucoup mieux merci car désormais cela ne plante plus. Et l'API CopyMemory semble jouer son rôle.

Mais le code ne fonctionne toujours pas car je n'arrive pas à récupérer les infos d'une instance à l'autre. Je vais continuer à chercher.

Merci encore pour l'info.

Bonne prog
++
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
Je t'aurai bien aidé, mais je ne connais pas le dot net. L'info a été trouvé sur ce lien :
http://forum.hardware.fr/hfr/Programmation/VB-VBA-VBS/conversion-laborieux-copymemory-sujet_45235_1.htm

@++

le mystérieux chevalier,"Provençal, le gaulois"
Forum Office & VBA