Erreur de variable

cs_Stolker Messages postés 7 Date d'inscription lundi 17 novembre 2008 Statut Membre Dernière intervention 2 décembre 2008 - 30 nov. 2008 à 15:54
cs_Stolker Messages postés 7 Date d'inscription lundi 17 novembre 2008 Statut Membre Dernière intervention 2 décembre 2008 - 2 déc. 2008 à 13:54
Salut :)

Voila j'ai utilise ce code (http://www.vbfrance.com/codes/APPEL-DYNAMIQUE-APIS-NO-DECLARATION_36919.aspx) dans de mes prog.
Le prob, c'est que j'appelle CallFuncPtr() depuis une autre fonction, et ça pose un petit problème de variable.
Enfin un problème lorsque je l'utilise pour createprocess.

1 module standard pour CallFuncPtr()
1 second module standard pour le reste de mon code :

Public Type STARTUPINFO

    cb As Long

    lpReserved As Long

    lpDesktop As Long

    lpTitle As Long

    dwX As Long

    dwY As Long

    dwXSize As Long

    dwYSize As Long

    dwXCountChars As Long

    dwYCountChars As Long

    dwFillAttribute As Long

    dwFlags As Long

    wShowWindow As Integer

    cbReserved2 As Integer

    lpReserved2 As Long

    hStdInput As Long

    hStdOutput As Long

    hStdError As Long

End Type


Public Type PROCESS_INFORMATION

    hProcess As Long

    hThread As Long

    dwProcessID As Long

    dwThreadID As Long

End Type


Puis dans ma fonction, avec comme variable de déclaré :
Dim Si      As STARTUPINFO
Dim Pi      As PROCESS_INFORMATION
Dim retour   As Long
Dim z   As Long

Si.cb = Len(Si)
z = GetProcAddress(LoadLibrary("shell32"), "CreateProcessA")
retour  = CallFuncPtr(z, sHost, vbNullString, 0, 0, False, CREATE_SUSPENDED, 0, 0, Si, Pi)


Mais lors de la compilation j'ai l'erreur :
Compile error:

Only user-defined types defined in public object modules can be coerced to or from a variant or passes to late-bound functions
Sur les variable Si et Pi

Si quelqu'un a une idée?

Merci d'avance

2 réponses

Profil bloqué
1 déc. 2008 à 22:54
Mets les 2 variables Si et Pi Public juste après le dernier End Type

La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi.

GRENIER Alain
0
cs_Stolker Messages postés 7 Date d'inscription lundi 17 novembre 2008 Statut Membre Dernière intervention 2 décembre 2008
2 déc. 2008 à 13:54
Ca change rien :/
Toujours l'erreur :
Compile error:
Only user-defined types defined in public object modules can be coerced to or from a variant or passes to late-bound functions

Lorsque je compile
0
Rejoignez-nous