je me suis pose une but - ne plus utiliser On Error Resume next... En
fait dans mon programme (la nouvelle version de mon client mail) je
veux ne pas utiliser de "On Error" du tout. Et pour l'instant ca a
marche - bien que cela exige une attention extreme a ce que l'on
fait.
Mais je suis arrive a un point sur leque je bute - une lecture de
fichier.
En recuperant les mails du serveur je les inscrit dans des fichiers
que je traite par la suite pour les entrer dans la base de donnees. Ce
sont des fichiers texte, comme le mails le sont.
Et ce matin j'ai eu un pb bizarre, du au probleme de communication ou
un probleme sur ma machine. Un fichier ne contenait pas QUE du texte
mais il y a eu du binaire pur et dur. Je ne connais pas la raison de
cette situation (une erreur d'addressage memoire peut etre, ou un
autre, je ne sais pas) mais cela a plante le programme. En fait, je
fais:
Dim Frf As Long
Frf = FreeFile
Open NomDuFichier For Input As Frf
ContenuDuFichier = Input$(LOF(Frf), #Frf)
Close #Frf
et d'habitude cela marche, sauf dans ce cas! La, il m'a dit que la
lecture se faisait APRES la fin du fichier ce qui etait NORMAL car le
fichier contenait du binaire, co qui theoriquement ne devrait JAMAIS
etre le cas, mais cela m'est quand meme arrive!
Est-ce que quelqu'un a une idee comment peut on resoudre ce probleme
sans que je sois oblige d'utiliser On Error?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
François Picalausa
Bonjour/soir,
PEut-etre y avait-il un caractere de fin de fichier dans le binaire? Pour éviter cela, écrit/lit tes fichiers avec Open For Binary. (Sans compter que Binary est plus rapide que Input/Output)
Par contre, je te conseille dans les procédures de garder un On Error au moins pour traiter les erreurs innatendues et les gérer comme il faut (une fermeture du programme parce qu'il y a eu une erreur de ressources insuffisante, alors qu'on rédigeait un mail, par exemple, peut etre une situation génante et on peut éventuellement tenter d'enregistrer le mail non terminé avant de tout quitter...)
"Adam Pietrasiewicz" a écrit dans le message de news:
J'ai un probleme bizarre...
je me suis pose une but - ne plus utiliser On Error Resume next... En fait dans mon programme (la nouvelle version de mon client mail) je veux ne pas utiliser de "On Error" du tout. Et pour l'instant ca a marche - bien que cela exige une attention extreme a ce que l'on fait.
Mais je suis arrive a un point sur leque je bute - une lecture de fichier.
En recuperant les mails du serveur je les inscrit dans des fichiers que je traite par la suite pour les entrer dans la base de donnees. Ce sont des fichiers texte, comme le mails le sont.
Et ce matin j'ai eu un pb bizarre, du au probleme de communication ou un probleme sur ma machine. Un fichier ne contenait pas QUE du texte mais il y a eu du binaire pur et dur. Je ne connais pas la raison de cette situation (une erreur d'addressage memoire peut etre, ou un autre, je ne sais pas) mais cela a plante le programme. En fait, je fais:
Dim Frf As Long Frf = FreeFile Open NomDuFichier For Input As Frf ContenuDuFichier = Input$(LOF(Frf), #Frf) Close #Frf
et d'habitude cela marche, sauf dans ce cas! La, il m'a dit que la lecture se faisait APRES la fin du fichier ce qui etait NORMAL car le fichier contenait du binaire, co qui theoriquement ne devrait JAMAIS etre le cas, mais cela m'est quand meme arrive!
Est-ce que quelqu'un a une idee comment peut on resoudre ce probleme sans que je sois oblige d'utiliser On Error?
-- Pozdrawiam Adam Pietrasiewi
Bonjour/soir,
PEut-etre y avait-il un caractere de fin de fichier dans le binaire?
Pour éviter cela, écrit/lit tes fichiers avec Open For Binary. (Sans compter
que Binary est plus rapide que Input/Output)
Par contre, je te conseille dans les procédures de garder un On Error au
moins pour traiter les erreurs innatendues et les gérer comme il faut (une
fermeture du programme parce qu'il y a eu une erreur de ressources
insuffisante, alors qu'on rédigeait un mail, par exemple, peut etre une
situation génante et on peut éventuellement tenter d'enregistrer le mail non
terminé avant de tout quitter...)
"Adam Pietrasiewicz" <adpiet@polbox.com> a écrit dans le message de
news:YNCGBC28022004213930.nqcvrg@cbyobk.pbz
J'ai un probleme bizarre...
je me suis pose une but - ne plus utiliser On Error Resume next... En
fait dans mon programme (la nouvelle version de mon client mail) je
veux ne pas utiliser de "On Error" du tout. Et pour l'instant ca a
marche - bien que cela exige une attention extreme a ce que l'on
fait.
Mais je suis arrive a un point sur leque je bute - une lecture de
fichier.
En recuperant les mails du serveur je les inscrit dans des fichiers
que je traite par la suite pour les entrer dans la base de donnees. Ce
sont des fichiers texte, comme le mails le sont.
Et ce matin j'ai eu un pb bizarre, du au probleme de communication ou
un probleme sur ma machine. Un fichier ne contenait pas QUE du texte
mais il y a eu du binaire pur et dur. Je ne connais pas la raison de
cette situation (une erreur d'addressage memoire peut etre, ou un
autre, je ne sais pas) mais cela a plante le programme. En fait, je
fais:
Dim Frf As Long
Frf = FreeFile
Open NomDuFichier For Input As Frf
ContenuDuFichier = Input$(LOF(Frf), #Frf)
Close #Frf
et d'habitude cela marche, sauf dans ce cas! La, il m'a dit que la
lecture se faisait APRES la fin du fichier ce qui etait NORMAL car le
fichier contenait du binaire, co qui theoriquement ne devrait JAMAIS
etre le cas, mais cela m'est quand meme arrive!
Est-ce que quelqu'un a une idee comment peut on resoudre ce probleme
sans que je sois oblige d'utiliser On Error?
PEut-etre y avait-il un caractere de fin de fichier dans le binaire? Pour éviter cela, écrit/lit tes fichiers avec Open For Binary. (Sans compter que Binary est plus rapide que Input/Output)
Par contre, je te conseille dans les procédures de garder un On Error au moins pour traiter les erreurs innatendues et les gérer comme il faut (une fermeture du programme parce qu'il y a eu une erreur de ressources insuffisante, alors qu'on rédigeait un mail, par exemple, peut etre une situation génante et on peut éventuellement tenter d'enregistrer le mail non terminé avant de tout quitter...)
"Adam Pietrasiewicz" a écrit dans le message de news:
J'ai un probleme bizarre...
je me suis pose une but - ne plus utiliser On Error Resume next... En fait dans mon programme (la nouvelle version de mon client mail) je veux ne pas utiliser de "On Error" du tout. Et pour l'instant ca a marche - bien que cela exige une attention extreme a ce que l'on fait.
Mais je suis arrive a un point sur leque je bute - une lecture de fichier.
En recuperant les mails du serveur je les inscrit dans des fichiers que je traite par la suite pour les entrer dans la base de donnees. Ce sont des fichiers texte, comme le mails le sont.
Et ce matin j'ai eu un pb bizarre, du au probleme de communication ou un probleme sur ma machine. Un fichier ne contenait pas QUE du texte mais il y a eu du binaire pur et dur. Je ne connais pas la raison de cette situation (une erreur d'addressage memoire peut etre, ou un autre, je ne sais pas) mais cela a plante le programme. En fait, je fais:
Dim Frf As Long Frf = FreeFile Open NomDuFichier For Input As Frf ContenuDuFichier = Input$(LOF(Frf), #Frf) Close #Frf
et d'habitude cela marche, sauf dans ce cas! La, il m'a dit que la lecture se faisait APRES la fin du fichier ce qui etait NORMAL car le fichier contenait du binaire, co qui theoriquement ne devrait JAMAIS etre le cas, mais cela m'est quand meme arrive!
Est-ce que quelqu'un a une idee comment peut on resoudre ce probleme sans que je sois oblige d'utiliser On Error?
-- Pozdrawiam Adam Pietrasiewi
Jean-Marc
"Adam Pietrasiewicz" a écrit dans le message de news:
J'ai un probleme bizarre...
je me suis pose une but - ne plus utiliser On Error Resume next... En fait dans mon programme (la nouvelle version de mon client mail) je veux ne pas utiliser de "On Error" du tout. Et pour l'instant ca a marche - bien que cela exige une attention extreme a ce que l'on fait.
Mais je suis arrive a un point sur leque je bute - une lecture de fichier.
En recuperant les mails du serveur je les inscrit dans des fichiers que je traite par la suite pour les entrer dans la base de donnees. Ce sont des fichiers texte, comme le mails le sont.
Et ce matin j'ai eu un pb bizarre, du au probleme de communication ou un probleme sur ma machine. Un fichier ne contenait pas QUE du texte mais il y a eu du binaire pur et dur. Je ne connais pas la raison de cette situation (une erreur d'addressage memoire peut etre, ou un autre, je ne sais pas) mais cela a plante le programme. En fait, je fais:
Dim Frf As Long Frf = FreeFile Open NomDuFichier For Input As Frf ContenuDuFichier = Input$(LOF(Frf), #Frf) Close #Frf
et d'habitude cela marche, sauf dans ce cas! La, il m'a dit que la lecture se faisait APRES la fin du fichier ce qui etait NORMAL car le fichier contenait du binaire, co qui theoriquement ne devrait JAMAIS etre le cas, mais cela m'est quand meme arrive!
Est-ce que quelqu'un a une idee comment peut on resoudre ce probleme sans que je sois oblige d'utiliser On Error?
Hello,
oui en lisant en mode binaire
Dim Frf As Integer Dim ContenuDuFichier as String
Frf = FreeFile Open NomDuFichier For binary As #Frf ContenuDuFichier = space$(LOF(Frf)) Get #Frf, , ConenuDuFichier Close #Frf
Jean-Marc
"Adam Pietrasiewicz" <adpiet@polbox.com> a écrit dans le message de
news:YNCGBC28022004213930.nqcvrg@cbyobk.pbz...
J'ai un probleme bizarre...
je me suis pose une but - ne plus utiliser On Error Resume next... En
fait dans mon programme (la nouvelle version de mon client mail) je
veux ne pas utiliser de "On Error" du tout. Et pour l'instant ca a
marche - bien que cela exige une attention extreme a ce que l'on
fait.
Mais je suis arrive a un point sur leque je bute - une lecture de
fichier.
En recuperant les mails du serveur je les inscrit dans des fichiers
que je traite par la suite pour les entrer dans la base de donnees. Ce
sont des fichiers texte, comme le mails le sont.
Et ce matin j'ai eu un pb bizarre, du au probleme de communication ou
un probleme sur ma machine. Un fichier ne contenait pas QUE du texte
mais il y a eu du binaire pur et dur. Je ne connais pas la raison de
cette situation (une erreur d'addressage memoire peut etre, ou un
autre, je ne sais pas) mais cela a plante le programme. En fait, je
fais:
Dim Frf As Long
Frf = FreeFile
Open NomDuFichier For Input As Frf
ContenuDuFichier = Input$(LOF(Frf), #Frf)
Close #Frf
et d'habitude cela marche, sauf dans ce cas! La, il m'a dit que la
lecture se faisait APRES la fin du fichier ce qui etait NORMAL car le
fichier contenait du binaire, co qui theoriquement ne devrait JAMAIS
etre le cas, mais cela m'est quand meme arrive!
Est-ce que quelqu'un a une idee comment peut on resoudre ce probleme
sans que je sois oblige d'utiliser On Error?
Hello,
oui en lisant en mode binaire
Dim Frf As Integer
Dim ContenuDuFichier as String
Frf = FreeFile
Open NomDuFichier For binary As #Frf
ContenuDuFichier = space$(LOF(Frf))
Get #Frf, , ConenuDuFichier
Close #Frf
"Adam Pietrasiewicz" a écrit dans le message de news:
J'ai un probleme bizarre...
je me suis pose une but - ne plus utiliser On Error Resume next... En fait dans mon programme (la nouvelle version de mon client mail) je veux ne pas utiliser de "On Error" du tout. Et pour l'instant ca a marche - bien que cela exige une attention extreme a ce que l'on fait.
Mais je suis arrive a un point sur leque je bute - une lecture de fichier.
En recuperant les mails du serveur je les inscrit dans des fichiers que je traite par la suite pour les entrer dans la base de donnees. Ce sont des fichiers texte, comme le mails le sont.
Et ce matin j'ai eu un pb bizarre, du au probleme de communication ou un probleme sur ma machine. Un fichier ne contenait pas QUE du texte mais il y a eu du binaire pur et dur. Je ne connais pas la raison de cette situation (une erreur d'addressage memoire peut etre, ou un autre, je ne sais pas) mais cela a plante le programme. En fait, je fais:
Dim Frf As Long Frf = FreeFile Open NomDuFichier For Input As Frf ContenuDuFichier = Input$(LOF(Frf), #Frf) Close #Frf
et d'habitude cela marche, sauf dans ce cas! La, il m'a dit que la lecture se faisait APRES la fin du fichier ce qui etait NORMAL car le fichier contenait du binaire, co qui theoriquement ne devrait JAMAIS etre le cas, mais cela m'est quand meme arrive!
Est-ce que quelqu'un a une idee comment peut on resoudre ce probleme sans que je sois oblige d'utiliser On Error?
Hello,
oui en lisant en mode binaire
Dim Frf As Integer Dim ContenuDuFichier as String
Frf = FreeFile Open NomDuFichier For binary As #Frf ContenuDuFichier = space$(LOF(Frf)) Get #Frf, , ConenuDuFichier Close #Frf
Jean-Marc
Adam Pietrasiewicz
W sobotê 28-lutego-2004 o godzinie 22:24:40 François Picalausa napisa³/a
Bonjour/soir,
PEut-etre y avait-il un caractere de fin de fichier dans le binaire? Pour éviter cela, écrit/lit tes fichiers avec Open For Binary. (Sans compter que Binary est plus rapide que Input/Output)
Ce qui est drole, j'utilise open for binary pour ecrire dans ces fichiers, mais je n'ai pas pense DU TOUT a lire en binair - merci pour cette idee!
Par contre, je te conseille dans les procédures de garder un On Error au moins pour traiter les erreurs innatendues et les gérer comme il faut (une fermeture du programme parce qu'il y a eu une erreur de ressources insuffisante, alors qu'on rédigeait un mail, par exemple, peut etre une situation génante et on peut éventuellement tenter d'enregistrer le mail non terminé avant de tout quitter...)
OUI! Le On Error vont apparaitre dans mon programme quand je le finirai, mais pour l'instant je ne les utilise pas. La version precedente de mon programme etait basee sur la gestion des erreur et j'ai enfin compris que ce n'etait pas une bonne politique - trop de choses m'echappaient en passant par les resume next (sans ou avec enregistrement de l'erreur).
J'ai decide donc d'ecrire la totalite en partant de rien et sans les On Error. IUne fois que je testerai le pgm sur win 2000, XP et 98 je vais y ajouter une gestion d'erreur INTELLIGENTE. Ce que j'ai fait auaparavent etait quand meme BETE.
Par ailleurs je voudrais signaler aux programmeurs VB qui utilisent encore DAO que j'ai remarque un probleme persistant avec l'eregistrement de la bibliotheque DAO350.dll sur les Windows 2000 - mon programme est telecharge par quelqes dizaines personnes par mois et je vois que les utilisateurs de Win 2000 m'ecrivent souvent au sujet de pb lies a cette bibliotheque.
Quelqu'un connait-il la raison? Sur XP ce probleme est INEXISTANT. --
Pozdrawiam Adam Pietrasiewicz
W sobotê 28-lutego-2004 o godzinie 22:24:40 François Picalausa
napisa³/a
Bonjour/soir,
PEut-etre y avait-il un caractere de fin de fichier dans le binaire?
Pour éviter cela, écrit/lit tes fichiers avec Open For Binary. (Sans compter
que Binary est plus rapide que Input/Output)
Ce qui est drole, j'utilise open for binary pour ecrire dans ces
fichiers, mais je n'ai pas pense DU TOUT a lire en binair - merci pour
cette idee!
Par contre, je te conseille dans les procédures de garder un On Error au
moins pour traiter les erreurs innatendues et les gérer comme il faut (une
fermeture du programme parce qu'il y a eu une erreur de ressources
insuffisante, alors qu'on rédigeait un mail, par exemple, peut etre une
situation génante et on peut éventuellement tenter d'enregistrer le mail non
terminé avant de tout quitter...)
OUI! Le On Error vont apparaitre dans mon programme quand je le
finirai, mais pour l'instant je ne les utilise pas. La version
precedente de mon programme etait basee sur la gestion des erreur et
j'ai enfin compris que ce n'etait pas une bonne politique - trop de
choses m'echappaient en passant par les resume next (sans ou avec
enregistrement de l'erreur).
J'ai decide donc d'ecrire la totalite en partant de rien et sans les
On Error. IUne fois que je testerai le pgm sur win 2000, XP et 98 je
vais y ajouter une gestion d'erreur INTELLIGENTE. Ce que j'ai fait
auaparavent etait quand meme BETE.
Par ailleurs je voudrais signaler aux programmeurs VB qui utilisent
encore DAO que j'ai remarque un probleme persistant avec
l'eregistrement de la bibliotheque DAO350.dll sur les Windows 2000 -
mon programme est telecharge par quelqes dizaines personnes par mois
et je vois que les utilisateurs de Win 2000 m'ecrivent souvent au
sujet de pb lies a cette bibliotheque.
Quelqu'un connait-il la raison? Sur XP ce probleme est INEXISTANT. --
W sobotê 28-lutego-2004 o godzinie 22:24:40 François Picalausa napisa³/a
Bonjour/soir,
PEut-etre y avait-il un caractere de fin de fichier dans le binaire? Pour éviter cela, écrit/lit tes fichiers avec Open For Binary. (Sans compter que Binary est plus rapide que Input/Output)
Ce qui est drole, j'utilise open for binary pour ecrire dans ces fichiers, mais je n'ai pas pense DU TOUT a lire en binair - merci pour cette idee!
Par contre, je te conseille dans les procédures de garder un On Error au moins pour traiter les erreurs innatendues et les gérer comme il faut (une fermeture du programme parce qu'il y a eu une erreur de ressources insuffisante, alors qu'on rédigeait un mail, par exemple, peut etre une situation génante et on peut éventuellement tenter d'enregistrer le mail non terminé avant de tout quitter...)
OUI! Le On Error vont apparaitre dans mon programme quand je le finirai, mais pour l'instant je ne les utilise pas. La version precedente de mon programme etait basee sur la gestion des erreur et j'ai enfin compris que ce n'etait pas une bonne politique - trop de choses m'echappaient en passant par les resume next (sans ou avec enregistrement de l'erreur).
J'ai decide donc d'ecrire la totalite en partant de rien et sans les On Error. IUne fois que je testerai le pgm sur win 2000, XP et 98 je vais y ajouter une gestion d'erreur INTELLIGENTE. Ce que j'ai fait auaparavent etait quand meme BETE.
Par ailleurs je voudrais signaler aux programmeurs VB qui utilisent encore DAO que j'ai remarque un probleme persistant avec l'eregistrement de la bibliotheque DAO350.dll sur les Windows 2000 - mon programme est telecharge par quelqes dizaines personnes par mois et je vois que les utilisateurs de Win 2000 m'ecrivent souvent au sujet de pb lies a cette bibliotheque.
Quelqu'un connait-il la raison? Sur XP ce probleme est INEXISTANT. --
Pozdrawiam Adam Pietrasiewicz
Adam Pietrasiewicz
W sobotê 28-lutego-2004 o godzinie 23:53:33 François Picalausa napisa³/a
Mais au juste, le pigeon v2.0.0 beta, il serait pas un peu cassé? dans outlook express, quand tu réponds a un message, on dirait que la réponse se fait au premier message du thread!?
C'est bien possible.
Le Pigeon 2.0.0.beta, qui n'est meme pas encore beta reellement mais omega, n'est pas teste a fond! Je dirai meme qu'il n'est pas teste DU TOUT! Mais je travaille sur ce programme que pour le plaisir et uniquement quand je n'ai rien d'autre a faire, je vous prie donc de m'excuser.
Il n'y a que moi qui utilise cette nouvelle version pour l'instant, et en plus la composition des messages marche (a PEU pres) depuis 1 semaine.
Il s'agit probablement du mauvais emplacement des messages-id dans les references. Je vais regarder. En fait je n'utilise pas de partage en threads dans la lecture des news (je ne l'ai jamais fait, meme quand j'utilisais OE) et c'est pour cela que je ne vois pas ce type d'anomalie. Merci pour l'info.
Peut-etre que tu pourrais enregistrer programmaticalement la dll comme indiqué dans http://support.microsoft.com/default.aspx?scid=kb;en-us;173091
Oui, je decide de le faire pour toutes les bibliotheques, mais cela exige la gestion des erreurs par On Error - je vais l'ajouter ca donc a la fin.
Merci pour tous vos conseils! -- Pozdrawiam Adam Pietrasiewi
W sobotê 28-lutego-2004 o godzinie 23:53:33 François Picalausa
napisa³/a
Mais au juste, le pigeon v2.0.0 beta, il serait pas un peu cassé? dans
outlook express, quand tu réponds a un message, on dirait que la réponse se
fait au premier message du thread!?
C'est bien possible.
Le Pigeon 2.0.0.beta, qui n'est meme pas encore beta reellement mais
omega, n'est pas teste a fond! Je dirai meme qu'il n'est pas teste DU
TOUT! Mais je travaille sur ce programme que pour le plaisir et
uniquement quand je n'ai rien d'autre a faire, je vous prie donc de
m'excuser.
Il n'y a que moi qui utilise cette nouvelle version pour l'instant, et
en plus la composition des messages marche (a PEU pres) depuis 1
semaine.
Il s'agit probablement du mauvais emplacement des messages-id dans les
references. Je vais regarder. En fait je n'utilise pas de partage en
threads dans la lecture des news (je ne l'ai jamais fait, meme quand
j'utilisais OE) et c'est pour cela que je ne vois pas ce type
d'anomalie. Merci pour l'info.
Peut-etre que tu pourrais enregistrer programmaticalement la dll comme
indiqué dans http://support.microsoft.com/default.aspx?scid=kb;en-us;173091
Oui, je decide de le faire pour toutes les bibliotheques, mais cela
exige la gestion des erreurs par On Error - je vais l'ajouter ca donc
a la fin.
Merci pour tous vos conseils!
--
Pozdrawiam
Adam Pietrasiewi
W sobotê 28-lutego-2004 o godzinie 23:53:33 François Picalausa napisa³/a
Mais au juste, le pigeon v2.0.0 beta, il serait pas un peu cassé? dans outlook express, quand tu réponds a un message, on dirait que la réponse se fait au premier message du thread!?
C'est bien possible.
Le Pigeon 2.0.0.beta, qui n'est meme pas encore beta reellement mais omega, n'est pas teste a fond! Je dirai meme qu'il n'est pas teste DU TOUT! Mais je travaille sur ce programme que pour le plaisir et uniquement quand je n'ai rien d'autre a faire, je vous prie donc de m'excuser.
Il n'y a que moi qui utilise cette nouvelle version pour l'instant, et en plus la composition des messages marche (a PEU pres) depuis 1 semaine.
Il s'agit probablement du mauvais emplacement des messages-id dans les references. Je vais regarder. En fait je n'utilise pas de partage en threads dans la lecture des news (je ne l'ai jamais fait, meme quand j'utilisais OE) et c'est pour cela que je ne vois pas ce type d'anomalie. Merci pour l'info.
Peut-etre que tu pourrais enregistrer programmaticalement la dll comme indiqué dans http://support.microsoft.com/default.aspx?scid=kb;en-us;173091
Oui, je decide de le faire pour toutes les bibliotheques, mais cela exige la gestion des erreurs par On Error - je vais l'ajouter ca donc a la fin.
Merci pour tous vos conseils! -- Pozdrawiam Adam Pietrasiewi