OVH Cloud OVH Cloud

Problème err 5, arg/app proc incorrect, que faire ?

10 réponses
Avatar
surfeur75
Bonjour,

J'ai cette erreur au lancement:
[nom programme] Erreur 5, argument ou appel de procédure incorrect...

Et le programme ne se lance pas (c'est du VB5pro), je ne sais que faire, car
on ne peut réellement localiser l'erreur???

Voici l'historique:
L'exe est mis avec ses fichier dans un répertoire sur PC NT4 en multipostes
(c'est-à-dire que l'exe est sur le serveur et est appelé depuis tout PC
relié)...

Avant ça marchait, puis j'ai rajouté quelques trucs anodins, genre
list...
Et maintenant ça ne marche plus, j'ai contourné le problème en faisant dans
chaque procédure Form_Load (on error resume next), et ça marche, mais bon,
c'est pas de la bonne programmation.

On dirait qu'au lancement la procédure de chargement, et chaque
procédure de lancement de feuille d'ailleurs, rencontre un truc extérieur
qui ne lui plaît pas...

Je vais essayer de monter le max de DLL et OCX , c'ets peut-être ça qui
manque au programme??? Mais je ne peux faire ce que je veux, car NT4 est
ceinturé d'un super-contrôleur développé par la boîte, qui interdit plein de
choses (ils appellent ça une matrice)...

Avez-vous une idée, au moins pour savoir ce que peut produire cette
erreur, comment y remédier ?

Merci.
--
@+, bye, Joe.
Pour m'écrire ng75AROBASEnoosPOINTfr
remplace AROBASE et POINT par leur vrai signe
Il l'a fait car il ne savait pas que c'était impossible, alea jacta est!

10 réponses

Avatar
Zoury
Salut! :O)

Et le programme ne se lance pas (c'est du VB5pro), je ne sais que faire,


car
on ne peut réellement localiser l'erreur???


<snip>
Avez-vous une idée, au moins pour savoir ce que peut produire cette
erreur, comment y remédier ?



le meilleur truc que je connaisse est expliqué dans ce message :
http://groups.google.com/groups?threadm=uzJsIvWyDHA.1272%40TK2MSFTNGP12.phx.gbl

son taux de réussite est de 100%... mais il faut parfois une bonne dose de
patience.. ;O)

--
Cordialement
Yanick Lefebvre - MVP pour Visual Basic
http://faq.vb.free.fr/?rubrique=0 - http://www.mvps.org/vbnet/
http://www.mentalis.org/agnet/apiguide.shtml - http://www.mztools.com/

Merci de poster les réponses au groupe afin d'en faire profiter à tous
Avatar
surfeur75
Salut Zoury, merci, mais mon cas je ne crois pas que ce soit ça, ce
où tu m'as envoyé sur le web, car je connais l'erreur = 5, je connais
l'endroit chaque form_load, mais je ne connais pas la raison, lol, par
exemple, voici mon code pour la form1:

Sub Form_Load()
ChDrive App.Path
ChDir App.Path
version = "1.0 © 2004-2004"
copyright = ".............."
Label3 = copyright
quitter = False
Call charge_date
mode = "p"
Call ouvre_log
End Sub

Le programme ne va pas plus long que la FormLoad, car sinon je n'aurais pas
ça à tous les Form_Load, qui évidemment n'appellent pas la même chose...

As-tu une autre idée (nota bene, tout se passe bien si je mets "on error
resume next"... ???
Merci
--
@+, bye, Joe.
Pour m'écrire ng75AROBASEnoosPOINTfr
remplace AROBASE et POINT par leur vrai signe
Il l'a fait car il ne savait pas que c'était impossible, alea jacta est!


"Zoury" <yanick_lefebvre at hotmail dot com> a écrit dans le message de
news:
Salut! :O)

>Et le programme ne se lance pas (c'est du VB5pro), je ne sais que faire,
car
>on ne peut réellement localiser l'erreur???
<snip>
> Avez-vous une idée, au moins pour savoir ce que peut produire cette
>erreur, comment y remédier ?

le meilleur truc que je connaisse est expliqué dans ce message :



http://groups.google.com/groups?threadm=uzJsIvWyDHA.1272%40TK2MSFTNGP12.phx.
gbl

son taux de réussite est de 100%... mais il faut parfois une bonne dose de
patience.. ;O)

--
Cordialement
Yanick Lefebvre - MVP pour Visual Basic
http://faq.vb.free.fr/?rubrique=0 - http://www.mvps.org/vbnet/
http://www.mentalis.org/agnet/apiguide.shtml - http://www.mztools.com/

Merci de poster les réponses au groupe afin d'en faire profiter à tous




Avatar
ng
Et avec une exécution pas à pas ?

--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/

surfeur75 wrote:
Salut Zoury, merci, mais mon cas je ne crois pas que ce soit
ça, ce où tu m'as envoyé sur le web, car je connais l'erreur = 5, je
connais l'endroit chaque form_load, mais je ne connais pas la raison,
lol, par exemple, voici mon code pour la form1:

Sub Form_Load()
ChDrive App.Path
ChDir App.Path
version = "1.0 © 2004-2004"
copyright = ".............."
Label3 = copyright
quitter = False
Call charge_date
mode = "p"
Call ouvre_log
End Sub

Le programme ne va pas plus long que la FormLoad, car sinon je
n'aurais pas ça à tous les Form_Load, qui évidemment n'appellent pas
la même chose...

As-tu une autre idée (nota bene, tout se passe bien si je mets "on
error resume next"... ???
Merci

"Zoury" <yanick_lefebvre at hotmail dot com> a écrit dans le message
de news:
Salut! :O)

Et le programme ne se lance pas (c'est du VB5pro), je ne sais que
faire, car on ne peut réellement localiser l'erreur???


<snip>
Avez-vous une idée, au moins pour savoir ce que peut produire
cette erreur, comment y remédier ?



le meilleur truc que je connaisse est expliqué dans ce message :






http://groups.google.com/groups?threadm=uzJsIvWyDHA.1272%40TK2MSFTNGP12.phx.
gbl

son taux de réussite est de 100%... mais il faut parfois une bonne
dose de patience.. ;O)

--
Cordialement
Yanick Lefebvre - MVP pour Visual Basic
http://faq.vb.free.fr/?rubrique=0 - http://www.mvps.org/vbnet/
http://www.mentalis.org/agnet/apiguide.shtml -
http://www.mztools.com/

Merci de poster les réponses au groupe afin d'en faire profiter à
tous




Avatar
surfeur75
Salut, non, je ne peux pas faire un exe pas à pas, car l'exe sur un PC
marche bien, mais sur le serveur quand il est appelé à distance, il ne
marche plus, et sur le serveur il n'y a que l'exe et ses dll, pas les
sources, donc je ne peux lancer l'interprétation du programme depuis un
poste distant...
En gros, sur le serveur = ok, sur 1 PC = OK, mais d'1 PC sur le serveur erreur.

Sinon, l'erreur étant dans les Form_Load, j'ai même essayé un masggbox au
début, tu parles, l'erreur est avant, il ne va même pas jusqu'à là, l'erreur
est d'en l'entête, schématiquement, suite à exécution distante (nt4
matricé), en mode multipostes, car l'exe ses fichiers et dll sont sur le
serveur, il n'y a rien sur les distants...

Par curiosité j'ai fait un autre programme Test, il marche, donc c'est le
mien par rapport à la distance, c'est tout ce que je peux dire... Demain je
vais rajouter l'OCX proposé, s'il passe avec la matrice de nt4 ...

Remarques, dans l'absolu, s'il me soule, je lui laisse ses "on error resume
next", il semble bien marcher comme ça...

As-tu une autre idée?
--
@+, bye, Joe.
Pour m'écrire ng75AROBASEnoosPOINTfr
remplace AROBASE et POINT par leur vrai signe
Il l'a fait car il ne savait pas que c'était impossible, alea jacta est!


"ng" a écrit dans le message de news:

Et avec une exécution pas à pas ?

--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/

surfeur75 wrote:
> Salut Zoury, merci, mais mon cas je ne crois pas que ce soit
> ça, ce où tu m'as envoyé sur le web, car je connais l'erreur = 5, je
> connais l'endroit chaque form_load, mais je ne connais pas la raison,
> lol, par exemple, voici mon code pour la form1:
>
> Sub Form_Load()
> ChDrive App.Path
> ChDir App.Path
> version = "1.0 © 2004-2004"
> copyright = ".............."
> Label3 = copyright
> quitter = False
> Call charge_date
> mode = "p"
> Call ouvre_log
> End Sub
>
> Le programme ne va pas plus long que la FormLoad, car sinon je
> n'aurais pas ça à tous les Form_Load, qui évidemment n'appellent pas
> la même chose...
>
> As-tu une autre idée (nota bene, tout se passe bien si je mets "on
> error resume next"... ???
> Merci
>
> "Zoury" <yanick_lefebvre at hotmail dot com> a écrit dans le message
> de news:
>> Salut! :O)
>>
>>> Et le programme ne se lance pas (c'est du VB5pro), je ne sais que
>>> faire, car on ne peut réellement localiser l'erreur???
>> <snip>
>>> Avez-vous une idée, au moins pour savoir ce que peut produire
>>> cette erreur, comment y remédier ?
>>
>> le meilleur truc que je connaisse est expliqué dans ce message :
>>
>



http://groups.google.com/groups?threadm=uzJsIvWyDHA.1272%40TK2MSFTNGP12.phx.
> gbl
>>
>> son taux de réussite est de 100%... mais il faut parfois une bonne
>> dose de patience.. ;O)
>>
>> --
>> Cordialement
>> Yanick Lefebvre - MVP pour Visual Basic
>> http://faq.vb.free.fr/?rubrique=0 - http://www.mvps.org/vbnet/
>> http://www.mentalis.org/agnet/apiguide.shtml -
>> http://www.mztools.com/
>>
>> Merci de poster les réponses au groupe afin d'en faire profiter à
>> tous




Avatar
Zoury
ReSalut! O)

Je ne suis pas sûr de comprendre... ou sinon, je ne suis pas sur que tu es
compris ce que je voulais dire..

supsosons que ton programme commence par le Form_Load du Form1, tu ferais
comme ceci :

Sub Form_Load()



Call MsgBox("ChDrive App.Path")
ChDrive App.Path



Call MsgBox("ChDir App.Path")
ChDir App.Path



Call MsgBox("version = ""1.0 © 2004-2004""")
version = "1.0 © 2004-2004"



Call MsgBox("copyright = ""..............""")
copyright = ".............."



Call MsgBox("Label3 = copyright")
Label3 = copyright



Call MsgBox("quitter = False")
quitter = False



Call MsgBox("Call charge_date")
Call charge_date



Call MsgBox("mode = ""p""")
mode = "p"



Call MsgBox("Call ouvre_log")
Call ouvre_log



End Sub



ainsi lors de l'exécution, tu recevras les messages un à un avant que la
fonction soit appelé... si le dernier message reçu n'est pas "Call
ouvre_log", alors c'est que le dernier message reçu désigne la ligne causant
le problème.. (si c'est une fonction, alors tu recommences dans cette
fonction, et ainsi de suite..).

c'est plus clair?

--
Cordialement
Yanick Lefebvre - MVP pour Visual Basic
http://faq.vb.free.fr/?rubrique=0 - http://www.mvps.org/vbnet/
http://www.mentalis.org/agnet/apiguide.shtml - http://www.mztools.com/

Merci de poster les réponses au groupe afin d'en faire profiter à tous
Avatar
Zoury
> Sinon, l'erreur étant dans les Form_Load, j'ai même essayé un masggbox au
début, tu parles, l'erreur est avant, il ne va même pas jusqu'à là,


l'erreur
est d'en l'entête, schématiquement, suite à exécution distante (nt4
matricé), en mode multipostes, car l'exe ses fichiers et dll sont sur le
serveur, il n'y a rien sur les distants...




ahhh! dac. laisse faire mon message alors... as-tu installé l'appli avec
l'assitant d'empaquetage et de déploiement?


--
Cordialement
Yanick Lefebvre - MVP pour Visual Basic
http://faq.vb.free.fr/?rubrique=0 - http://www.mvps.org/vbnet/
http://www.mentalis.org/agnet/apiguide.shtml - http://www.mztools.com/

Merci de poster les réponses au groupe afin d'en faire profiter à tous
Avatar
surfeur75
Yes sire, j'ai installé abvec l'appli de déploiement...

--
@+, bye, Joe.
Pour m'écrire ng75AROBASEnoosPOINTfr
remplace AROBASE et POINT par leur vrai signe
Il l'a fait car il ne savait pas que c'était impossible, alea jacta est!


"Zoury" <yanick_lefebvre at hotmail dot com> a écrit dans le message de
news: #
> Sinon, l'erreur étant dans les Form_Load, j'ai même essayé un masggbox


au
> début, tu parles, l'erreur est avant, il ne va même pas jusqu'à là,
l'erreur
> est d'en l'entête, schématiquement, suite à exécution distante (nt4
> matricé), en mode multipostes, car l'exe ses fichiers et dll sont sur le
> serveur, il n'y a rien sur les distants...


ahhh! dac. laisse faire mon message alors... as-tu installé l'appli avec
l'assitant d'empaquetage et de déploiement?


--
Cordialement
Yanick Lefebvre - MVP pour Visual Basic
http://faq.vb.free.fr/?rubrique=0 - http://www.mvps.org/vbnet/
http://www.mentalis.org/agnet/apiguide.shtml - http://www.mztools.com/

Merci de poster les réponses au groupe afin d'en faire profiter à tous




Avatar
surfeur75
Ouais, c'est clair, je vais essayer, mais j'ai fait autre chose auparavant;
car juste après la fonction j'ai mis un msgbox, soit:
sub form_load()
msgbox "ici"

Et je ne vois jamais "ici"... Pourtant à l'origine ils descend en séquence
le programme...
--
@+, bye, Joe.
Pour m'écrire ng75AROBASEnoosPOINTfr
remplace AROBASE et POINT par leur vrai signe
Il l'a fait car il ne savait pas que c'était impossible, alea jacta est!


"Zoury" <yanick_lefebvre at hotmail dot com> a écrit dans le message de
news: #
ReSalut! O)

Je ne suis pas sûr de comprendre... ou sinon, je ne suis pas sur que tu es
compris ce que je voulais dire..

supsosons que ton programme commence par le Form_Load du Form1, tu ferais
comme ceci :

> Sub Form_Load()

Call MsgBox("ChDrive App.Path")
> ChDrive App.Path

Call MsgBox("ChDir App.Path")
> ChDir App.Path

Call MsgBox("version = ""1.0 © 2004-2004""")
> version = "1.0 © 2004-2004"

Call MsgBox("copyright = ""..............""")
> copyright = ".............."

Call MsgBox("Label3 = copyright")
> Label3 = copyright

Call MsgBox("quitter = False")
> quitter = False

Call MsgBox("Call charge_date")
> Call charge_date

Call MsgBox("mode = ""p""")
> mode = "p"

Call MsgBox("Call ouvre_log")
> Call ouvre_log

> End Sub

ainsi lors de l'exécution, tu recevras les messages un à un avant que la
fonction soit appelé... si le dernier message reçu n'est pas "Call
ouvre_log", alors c'est que le dernier message reçu désigne la ligne


causant
le problème.. (si c'est une fonction, alors tu recommences dans cette
fonction, et ainsi de suite..).

c'est plus clair?

--
Cordialement
Yanick Lefebvre - MVP pour Visual Basic
http://faq.vb.free.fr/?rubrique=0 - http://www.mvps.org/vbnet/
http://www.mentalis.org/agnet/apiguide.shtml - http://www.mztools.com/

Merci de poster les réponses au groupe afin d'en faire profiter à tous




Avatar
surfeur75
En + ça fait ça à au moins 2 form, los de l'appel (1ere, Enième)... Alors
comme je n'appelle pas les mêmes choses, je pense plutôt pour un truc plus
tordu, genre l'entête de la procédure qui ne conviendrait pas ???
--
@+, bye, Joe.
Pour m'écrire ng75AROBASEnoosPOINTfr
remplace AROBASE et POINT par leur vrai signe
Il l'a fait car il ne savait pas que c'était impossible, alea jacta est!


"Zoury" <yanick_lefebvre at hotmail dot com> a écrit dans le message de
news: #
ReSalut! O)

Je ne suis pas sûr de comprendre... ou sinon, je ne suis pas sur que tu es
compris ce que je voulais dire..

supsosons que ton programme commence par le Form_Load du Form1, tu ferais
comme ceci :

> Sub Form_Load()

Call MsgBox("ChDrive App.Path")
> ChDrive App.Path

Call MsgBox("ChDir App.Path")
> ChDir App.Path

Call MsgBox("version = ""1.0 © 2004-2004""")
> version = "1.0 © 2004-2004"

Call MsgBox("copyright = ""..............""")
> copyright = ".............."

Call MsgBox("Label3 = copyright")
> Label3 = copyright

Call MsgBox("quitter = False")
> quitter = False

Call MsgBox("Call charge_date")
> Call charge_date

Call MsgBox("mode = ""p""")
> mode = "p"

Call MsgBox("Call ouvre_log")
> Call ouvre_log

> End Sub

ainsi lors de l'exécution, tu recevras les messages un à un avant que la
fonction soit appelé... si le dernier message reçu n'est pas "Call
ouvre_log", alors c'est que le dernier message reçu désigne la ligne


causant
le problème.. (si c'est une fonction, alors tu recommences dans cette
fonction, et ainsi de suite..).

c'est plus clair?

--
Cordialement
Yanick Lefebvre - MVP pour Visual Basic
http://faq.vb.free.fr/?rubrique=0 - http://www.mvps.org/vbnet/
http://www.mentalis.org/agnet/apiguide.shtml - http://www.mztools.com/

Merci de poster les réponses au groupe afin d'en faire profiter à tous




Avatar
Bruno
Bonsoir,

Intuitivement j'aurai dit que cela ressemble à une modif directe dans le
fichier source non?

Je dit ca mais je n'en sais absolument rien ...

Bon courage et je suivrai le fil pour comprendre.

Cdlt,


"surfeur75" a écrit dans le message de
news:
En + ça fait ça à au moins 2 form, los de l'appel (1ere, Enième)... Alors
comme je n'appelle pas les mêmes choses, je pense plutôt pour un truc plus
tordu, genre l'entête de la procédure qui ne conviendrait pas ???
--
@+, bye, Joe.
Pour m'écrire ng75AROBASEnoosPOINTfr
remplace AROBASE et POINT par leur vrai signe
Il l'a fait car il ne savait pas que c'était impossible, alea jacta est!


"Zoury" <yanick_lefebvre at hotmail dot com> a écrit dans le message de
news: #
> ReSalut! O)
>
> Je ne suis pas sûr de comprendre... ou sinon, je ne suis pas sur que tu


es
> compris ce que je voulais dire..
>
> supsosons que ton programme commence par le Form_Load du Form1, tu


ferais
> comme ceci :
>
> > Sub Form_Load()
>
> Call MsgBox("ChDrive App.Path")
> > ChDrive App.Path
>
> Call MsgBox("ChDir App.Path")
> > ChDir App.Path
>
> Call MsgBox("version = ""1.0 © 2004-2004""")
> > version = "1.0 © 2004-2004"
>
> Call MsgBox("copyright = ""..............""")
> > copyright = ".............."
>
> Call MsgBox("Label3 = copyright")
> > Label3 = copyright
>
> Call MsgBox("quitter = False")
> > quitter = False
>
> Call MsgBox("Call charge_date")
> > Call charge_date
>
> Call MsgBox("mode = ""p""")
> > mode = "p"
>
> Call MsgBox("Call ouvre_log")
> > Call ouvre_log
>
> > End Sub
>
> ainsi lors de l'exécution, tu recevras les messages un à un avant que la
> fonction soit appelé... si le dernier message reçu n'est pas "Call
> ouvre_log", alors c'est que le dernier message reçu désigne la ligne
causant
> le problème.. (si c'est une fonction, alors tu recommences dans cette
> fonction, et ainsi de suite..).
>
> c'est plus clair?
>
> --
> Cordialement
> Yanick Lefebvre - MVP pour Visual Basic
> http://faq.vb.free.fr/?rubrique=0 - http://www.mvps.org/vbnet/
> http://www.mentalis.org/agnet/apiguide.shtml - http://www.mztools.com/
>
> Merci de poster les réponses au groupe afin d'en faire profiter à tous
>
>