CopyMemory VB.NET [Résolu]

bouv 1424 Messages postés mercredi 6 août 2003Date d'inscription 29 juin 2011 Dernière intervention - 30 mai 2008 à 15:44 - Dernière réponse : mortalino 6812 Messages postés vendredi 16 décembre 2005Date d'inscription 21 décembre 2011 Dernière intervention
- 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
++
Afficher la suite 

7 réponses

Répondre au sujet
mortalino 6812 Messages postés vendredi 16 décembre 2005Date d'inscription 21 décembre 2011 Dernière intervention - 30 mai 2008 à 17:00
+3
Utile
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
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de mortalino
mortalino 6812 Messages postés vendredi 16 décembre 2005Date d'inscription 21 décembre 2011 Dernière intervention - 30 mai 2008 à 16:46
0
Utile
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
Commenter la réponse de mortalino
bouv 1424 Messages postés mercredi 6 août 2003Date d'inscription 29 juin 2011 Dernière intervention - 30 mai 2008 à 16:54
0
Utile
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
++
Commenter la réponse de bouv
mortalino 6812 Messages postés vendredi 16 décembre 2005Date d'inscription 21 décembre 2011 Dernière intervention - 30 mai 2008 à 16:58
0
Utile
Type Any au lieu de Variant, peut-être

@++

le mystérieux chevalier,"Provençal, le gaulois"
Forum Office & VBA
Commenter la réponse de mortalino
bouv 1424 Messages postés mercredi 6 août 2003Date d'inscription 29 juin 2011 Dernière intervention - 30 mai 2008 à 17:01
0
Utile
Heu oui je suis allé trop vite.

Type Any transformé en Object effectivement.

Bonne prog
++
Commenter la réponse de bouv
bouv 1424 Messages postés mercredi 6 août 2003Date d'inscription 29 juin 2011 Dernière intervention - 30 mai 2008 à 17:16
0
Utile
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
++
Commenter la réponse de bouv
mortalino 6812 Messages postés vendredi 16 décembre 2005Date d'inscription 21 décembre 2011 Dernière intervention - 30 mai 2008 à 17:19
0
Utile
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
Commenter la réponse de mortalino

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.