PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV Mobile 2024 → Fonction Fcrée bloquante ?
Fonction Fcrée bloquante ?
Débuté par sbertolotti, 03 aoû. 2005 10:58 - 4 réponses
Posté le 03 août 2005 - 10:58
Bonjour,

Je suis amené à créer beaucoup de fichier dans une application, pour ce
faire, j'utilise la fonction Fcrée.

Mon problème est que cette fonction garde la main sur les fichiers créés,
m'empêchant par la suite de les supprimer, déplacer ou renommer !

Si je passe par Windows et que mon application est toujours active,
impossible également d'effectuer une de ces opérartions. Le fait de fermer
l'application débloque ces fichiers mais je ne peux en aucun cas redémarrer
celle-ci à chaque fois que je dois manipuler un fichier créé.

J'attends vos suggestions et conseils avec impatience

L'application est développée pour Windows Pocket Pc 2002 et j'utilise la
dernière version de Windev Mobile (34i)

Cordialement

Bertolotti Stéphane
Posté le 03 août 2005 - 11:15
Salut,

Attention à fCrée, cette commande ouvre le fichier. D'où piège si tu écris :

fcrée + fouvre + fecrit + fferme

Ici le fichier est ouvert 2 fois et fermé 1 fois, donc apparaît bloqué jusqu'à ce que le programme soit quitté.

J'espère que c'est ça ...

Ciao
http://wdgotcha.atspace.com
Posté le 03 août 2005 - 15:33
Merci de votre réponse (mon précédent message ne semble pas être passé ?!)

Je viens de tester ces deux méthodes :

1)

Rescréa = fcrée(monfichier)
Resferme = fferme(Rescréa)

Resouvre = fouvre(monfichier)
Resecrit = fecritligne(monfichier,...)
resferme = fferme(Resouvre)

ressup = fsupprime(monfichier)

Le premier Fferme me renvoit -1, le fichier ne peut donc être fermé. Il en
résulte un blocage de "monfichier". Je ne comprends pas à vrai dire pourquoi
ce premier fferme ne fonctionne pas alors que le second, lui, est
opérationnel !

Je me suis référé à l'exemple "Manipulation des fichiers" de Windev Mobile
et vous avez la solution, il faut bien faire un fferme après un fcrée.

2)

Rescréa = fcrée(monfichier)
Resécrit = fécritligne(Rescréa,....)
Resferme = fferme(Rescréa)

Ressup = fsupprime(Monfichier)

Ici, Windev me renvoie une erreur de manipulation de fichier à la ligne
d'écriture dans monfichier. "Vous avez tenté de manipuler un fichier non
ouvert avec fcrée ou fouvre" !

J'espère que vous êtes inspiré !

Cordialement

Bertolotti Stéphane
"Patrick Biker" <patrick.biker@wdgotcha.atspace.com> a écrit dans le message
de news:42f063e9$1@news.pcsoft.fr...


Salut,

Attention à fCrée, cette commande ouvre le fichier. D'où piège si tu écris

:

fcrée + fouvre + fecrit + fferme

Ici le fichier est ouvert 2 fois et fermé 1 fois, donc apparaît bloqué

jusqu'à ce que le programme soit quitté.

J'espère que c'est ça ...

Ciao
http://wdgotcha.atspace.com

Posté le 03 août 2005 - 18:04
Je me réponds pour clôre le problème !

En bidouillant et remaniant un peu mon code, la solution est tombée

Merci à Patrick Biker pour la précision sur la fonction fcrée qui m'a permis
d'extraire cette épine de mon application

Cordialement,

Bertolotti Stéphane




"BERTOLOTTI Stéphane" <sbertolotti@harmonyjouet.com> a écrit dans le message
de news:42f0a150$1@news.pcsoft.fr...

Merci de votre réponse (mon précédent message ne semble pas être passé ?!)

Je viens de tester ces deux méthodes :

1)

Rescréa = fcrée(monfichier)
Resferme = fferme(Rescréa)

Resouvre = fouvre(monfichier)
Resecrit = fecritligne(monfichier,...)
resferme = fferme(Resouvre)

ressup = fsupprime(monfichier)

Le premier Fferme me renvoit -1, le fichier ne peut donc être fermé. Il en
résulte un blocage de "monfichier". Je ne comprends pas à vrai dire

pourquoi
ce premier fferme ne fonctionne pas alors que le second, lui, est
opérationnel !

Je me suis référé à l'exemple "Manipulation des fichiers" de Windev Mobile
et vous avez la solution, il faut bien faire un fferme après un fcrée.

2)

Rescréa = fcrée(monfichier)
Resécrit = fécritligne(Rescréa,....)
Resferme = fferme(Rescréa)

Ressup = fsupprime(Monfichier)

Ici, Windev me renvoie une erreur de manipulation de fichier à la ligne
d'écriture dans monfichier. "Vous avez tenté de manipuler un fichier non
ouvert avec fcrée ou fouvre" !

J'espère que vous êtes inspiré !

Cordialement

Bertolotti Stéphane
"Patrick Biker" <patrick.biker@wdgotcha.atspace.com> a écrit dans le

message
de news:42f063e9$1@news.pcsoft.fr...


Salut,

Attention à fCrée, cette commande ouvre le fichier. D'où piège si tu

écris
:

fcrée + fouvre + fecrit + fferme

Ici le fichier est ouvert 2 fois et fermé 1 fois, donc apparaît bloqué
jusqu'à ce que le programme soit quitté.


J'espère que c'est ça ...

Ciao
http://wdgotcha.atspace.com



Posté le 03 août 2005 - 18:54
et si tu utilisait fouvre avec l'option créationsiinexistant

"BERTOLOTTI Stéphane" <sbertolotti@harmonyjouet.com> a écrit dans le message
de news: 42f060e5$1@news.pcsoft.fr...

Bonjour,

Je suis amené à créer beaucoup de fichier dans une application, pour ce
faire, j'utilise la fonction Fcrée.

Mon problème est que cette fonction garde la main sur les fichiers créés,
m'empêchant par la suite de les supprimer, déplacer ou renommer !

Si je passe par Windows et que mon application est toujours active,
impossible également d'effectuer une de ces opérartions. Le fait de fermer
l'application débloque ces fichiers mais je ne peux en aucun cas
redémarrer
celle-ci à chaque fois que je dois manipuler un fichier créé.

J'attends vos suggestions et conseils avec impatience

L'application est développée pour Windows Pocket Pc 2002 et j'utilise la
dernière version de Windev Mobile (34i)

Cordialement

Bertolotti Stéphane