Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Erreur sur la fonction "GetCaretPos" [ Windows / API ] (Mrreivax)

samedi 4 novembre 2006 à 00:02:52 | Erreur sur la fonction "GetCaretPos"

Mrreivax

Quan j'exécute le code ci-dessous, il y a une erreur au niveau de GetCaretPos(xyPOS)...
Je pige pas pourquoi, il me dit:
"Un appel à la fonction PInvoke 'WindowsApplication1!WindowsApplication1.Form1::GetCaretPos' a déséquilibré la pile. Cela peut se produire, car la signature PInvoke managée ne correspond pas à la signature cible non managée. Vérifiez que la convention d'appel et les paramètres de la signature PInvoke correspondent à la signature non managée cible."


Public
Structure POINTAPI
       Dim x As Int32
       Dim y As Int32
EndStructure

PublicDeclareFunction GetCaretPos Lib"user32" (ByVal lpPoint As POINTAPI) AsLong

PrivateSub RichTextBox1_KeyDown(ByVal sender AsObject, ByVal e As System.Windows.Forms.KeyEventArgs) Handles RichTextBox1.KeyDown
       Dim xyPOS As POINTAPI
       GetCaretPos(xyPOS) '<= Erreur... Why??
       Me.Text = xyPOS.x & " ; " & xyPOS.y
EndSubMais pourqoi??? Si quelqu'un a la réponse... Merci!!!

Xavier

samedi 4 novembre 2006 à 09:47:48 | Re : Erreur sur la fonction "GetCaretPos"

TMONOD

Réponse acceptée !

Salut,
La signature d'une fonction c'est :
- Le nombre de paramètres passés, leur type, leur ordre et leur mode (byref, byval))
- Le type de la valeur renvoyée en final.

Ton programme passe ta variable XYpos en paramètre et tu attend que cette fonction modifie ta variable pour que tu l'utilise par la suite, tu dois donc la passer byref  pour que l'api puisse la modifier.

BOOL GetCaretPos(

    LPPOINT  lpPoint  // address of structure to receive coordinates
   ); 

...tu vois c'est marqué dans win32.hlp , c'est que c'est vrai !!

A+

Jcbé[^]


samedi 4 novembre 2006 à 09:58:56 | Re : Erreur sur la fonction "GetCaretPos"

Julien237

Sinon en .Net, les anciens Long deviennent des Integer, donc tu dois aussi changer le type de retour de ta fonction en As Integer. Julien.

samedi 4 novembre 2006 à 10:56:51 | Re : Erreur sur la fonction "GetCaretPos"

Mrreivax

Réponse acceptée !
Merci TMONOD!
En effet!
Maintenant sa donne ceci!

Public

DeclareFunction GetCaretPos Lib"user32" (ByRef lpPoint As POINTAPI) AsIntegerEncore merci!!

Xavier

samedi 4 novembre 2006 à 11:50:27 | Re : Erreur sur la fonction "GetCaretPos"

TMONOD

De rien ce fut un plaisir !!

Jcbé[^]



Cette discussion est classé dans : fonction, erreur, signature, getcaretpos, xypos


Répondre à ce message

Sujets en rapport avec ce message

Liste des codes d'erruers [ par xavier77 ] salut à tous.........J'aimerai savoir s'il existe un moyen de retrouver la description d'une erreur en fonction de son code car une fois un projet com Recupérer le nom de la fonction en cours [ par pisko ] Salut,Tout est dans le titre...Je suis en train de developper une petite gestion d'erreur.Pour reussi a savoir d'ou vient l'erreur je recupere le nom Sortir d'une fonction a partir d'une autre [ par pioug43 ] J'aimerais pouvoir sortir d'une boucle infini en envoyant soit un mess d'erreur soit toute autre solution qui me permettrai de quitter la boucle a par Sortir d'une erreur ... [ par BarthOlivier ] Bonjour,J'utilise la fonction ReadFile pour lire sur un peripherique externe. Le problème c'est que s'il se passe un problème lors de la communication Erreur très bizarre sous Excel [ par pulley60 ] Bonjour à tous.Voila je travail sur une appli Excel que je redéveloppe sous VB. L'appli excel avait ete developpé sous Excel 95 et lors du passage à E gestion d'erreurs [ par mourad183 ] voila ma fonctionprivate sub fonction()on erreur goto a ......nombreentier=caractere......goto ba:endb:end sublogiquement le programme va s'arreter si La fonction Date [ par energizer956956 ] Bonjour,alors voila mon problème est le suivant : j'ai créé une fonction qui utilise la fonction date, mais lorsque je lance cette fonction je reçoit Prob ListBox Access [ par ozar ] Bonjour à tous,J'ai un listebox contenant des valeurs, lorsque je clic sur le listbox, j'affiche le détail. Tout ce passe bien ...Maintenant quand je Apel de fonction [ par Ulmo ] Salut, est ce que quelqu'un pourrait m'expliquer ce qui me donne l'erreur dans ce code suivant : Module Module1     Sub Main()         Dim Objet As Function: Pb de parametre [ par atoguum4ever ] aTomicK Bonjour, J'ai recuperer une partie de code sur le site et j'ai un probleme pour ajouter un parametre dans une


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Comparez les prix Nouvelle version


HTC G1

Entre 449€ et 449€


Photothèque Nouveau !



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
Temps d'éxécution de la page : 0,702 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.