ShellExecute a déséquilibré la pile

Résolu
DevDragon Messages postés 51 Date d'inscription mercredi 22 septembre 2004 Statut Membre Dernière intervention 10 mars 2008 - 19 avril 2007 à 11:05
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 - 19 avril 2007 à 13:04
Bonjour à tous,

J'ai un gros souci pour imprimer un fichier pdf, je m'explique

J'ai un dossier contenant pret de 700 fichier pdf

Mon but et de les imprimer dans l'ordre

le probleme et qu'à la génération du code un message met retourné :

Un appel à la fonction PInvoke 'Bilan!Bilan.Form1::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.

Voici mon code

' APIs

Private
Declare
Function ShellExecute
Lib
"shell32.dll"
Alias
"ShellExecuteA" (
ByVal hwnd
As
Long,
ByVal lpOperation
As
String,
ByVal lpFile
As
String,
ByVal lpParameters
As
String,
ByVal lpDirectory
As
String,
ByVal nShowCmd
As
Long)
As
Long

Private
Sub Form1_Load(
ByVal sender
As System.Object,
ByVal e
As System.EventArgs)
Handles
MyBase.Load

'test impression

' Fonction

Dim retour
As
Longretour = ShellExecute(

Me.Handle,
"print",
"I:\_Archives_pdf\_Bilan_RFA\2006\BilanATO0023.pdf",
"", vbNullString, 0)

End
SubPourriez vous m'aider car c'est trés bloquant et urgent

Merci beaucoup pour votre aide

Youpitralalalalere

4 réponses

drikce06 Messages postés 2236 Date d'inscription lundi 29 mai 2006 Statut Membre Dernière intervention 29 mai 2008 10
19 avril 2007 à 11:12
Salut en .Net pour les API remplacer les Long par des Integer! Essaye déjà ça!

 Drikce 06

Si la réponse vous convient: Réponse acceptée. Si la réponse vous convient pas:
3
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
19 avril 2007 à 11:15
Toujours le même problème de décalrations des API avec .Net

Long (api, vb6) = Integer (.Net)

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #
3
DevDragon Messages postés 51 Date d'inscription mercredi 22 septembre 2004 Statut Membre Dernière intervention 10 mars 2008
19 avril 2007 à 12:05
Merci merci merci merci merci et ... merci

Ca marche torp bien en effet c'est bien tout les long à changer en integer

@ bientôt

Youpitralalalalere
3
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
19 avril 2007 à 13:04
Salut,

en DotNet, ShellExecute n'a t-il pas d'équivalent dans le framework ?
( System.Diagnostics.Process )

@++

<hr size="2" width="100%" />
  --Mortalino--
Le mystérieux chevalier, ~Provençal, le Gaulois~
  
0
Rejoignez-nous