CopyMemory VB.NET

Résolu
bouv Messages postés 1411 Date d'inscription mercredi 6 août 2003 Statut Membre Dernière intervention 3 mars 2019 - 30 mai 2008 à 15:44
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 - 30 mai 2008 à 17:19
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

mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 17
30 mai 2008 à 17:00
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
3
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 17
30 mai 2008 à 16:46
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
0
bouv Messages postés 1411 Date d'inscription mercredi 6 août 2003 Statut Membre Dernière intervention 3 mars 2019 1
30 mai 2008 à 16:54
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
++
0
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 17
30 mai 2008 à 16:58
Type Any au lieu de Variant, peut-être

@++

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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
bouv Messages postés 1411 Date d'inscription mercredi 6 août 2003 Statut Membre Dernière intervention 3 mars 2019 1
30 mai 2008 à 17:01
Heu oui je suis allé trop vite.

Type Any transformé en Object effectivement.

Bonne prog
++
0
bouv Messages postés 1411 Date d'inscription mercredi 6 août 2003 Statut Membre Dernière intervention 3 mars 2019 1
30 mai 2008 à 17:16
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
++
0
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 17
30 mai 2008 à 17:19
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
0