oufmalade
Messages postés2Date d'inscriptionsamedi 27 octobre 2007StatutMembreDernière intervention12 juin 2011
-
9 juin 2011 à 17:54
oufmalade
Messages postés2Date d'inscriptionsamedi 27 octobre 2007StatutMembreDernière intervention12 juin 2011
-
12 juin 2011 à 20:13
bonjour a tous,
voici un bout de mon code:
Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" _
(ByVal hwnd As Long, ByVal lpszOp As String, _
ByVal lpszFile As String, ByVal lpszParams As String, _
ByVal LpszDir As String, ByVal FsShowCmd As Long) _
As Long
...
...
StartDoc = ShellExecute("", "Open", DocName,"", Path, SW_SHOWNORMAL)
lorsque je compile je n'ai pas de soucis, mais si je teste ça ne fonctionne pas et j'ai un msg d'erreur :
PInvokeStackImbalance a été détecté
Message: Un appel à la fonction PInvoke 'PROGTEST!PROGTEST.ApiModule::ShellExecute' 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.
Je ne comprend pas ce qui ne va pas, je me casse la tête sur ce pb depuis 3 semaines et je bloque complet. merci de votre aide
pour info j'utilise VB 2010
lolokun
Messages postés1241Date d'inscriptionmardi 10 octobre 2006StatutMembreDernière intervention27 août 20137 9 juin 2011 à 19:51
Bonjour,
Effectivement il vaut mieux utiliser Process.start sinon la déclaration de l'API shellexecute en vb.Net diffère légèrement de celle en vb6 au niveau des types des paramètres
L'expérience, c'est une connerie par jour, mais jamais la même..