|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | |
|
Membre expérimenté
![]() Gilles Enseignant Inscription : novembre 2006 Messages : 601 ![]() |
Bonjour,
Je travaille avec Synapse sous Win 7. Je veux uploader quelques fichiers. Je rencontre un problème avec les fichiers verrouillés. Citation:
Existe-t-il une solution en Lazarus pour déterminer le mode de "verrouillage à l'ouverture" des fichiers Windows ? Je n'ai rien vu. Mais je crois me rappeler que CopyFile rencontre "déjà" ce problème. Je suppose qu'il est nécessaire de passer par les API puisqu'un copier-coller à partir de Windows est possible sur le fichier Sansnom1.odt ouvert. Et là, cela va se compliquer sérieusement entre les Windows 32 et 64 bits et peut-être même entre les versions de Windows (XP ou 7). Donc en Lazarus... une "ruse" cachée, le "complément" d'un FileOpen ? Merci. Cordialement. Gilles |
|
|
|
00
|
|
|
#2 |
|
Membre expérimenté
![]() Gilles Enseignant Inscription : novembre 2006 Messages : 601 ![]() |
OK sans utiliser les API, il est possible de détecter le blocage avec les TFileStream... et également de forcer une copie.
Cordialement. Gilles |
|
|
00
|
|
|
#3 |
|
Membre chevronné
![]() ![]() |
Bonjour,
Par curiosité et bien que le sujet soit clos, j'ai repris votre exemple et j'ai constaté presque les mêmes choses, à savoir : CopyFile fonctionne pour un exécutable démarré mais pas un fichier *.odt (j'utilise LibreOffice 3.4.5). FileOpen, FileCreate, FileRead, FileWrite et FileClose fonctionnent si le fichier source a été ouvert avec le paramètre fmShareDenyNone, mais pas avec le paramètre fmOpenRead. Dans ce dernier cas, le fichier peut être ouvert mais pas lu... Pour information, en espérant que cela aidera... ![]() -- Philippe. |
|
|
00
|
|
|
#4 | ||
|
Membre expérimenté
![]() Gilles Enseignant Inscription : novembre 2006 Messages : 601 ![]() |
Bonjour,
pour les .odt, on peut procéder ainsi : Code :
Cordialement. Gilles |
||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com