Hallo.
Man kennt es vielleicht... Eine Datei ist in der Dropbox (oder anderen Cloud) mit mehreren Freigaben.
User 1 bearbeitet diese Datei und hat die Datei noch "offen". Dann kommt User 2 auf die Idee etwas an dieser
Datei ändern zu wollen, und speichert ab.
Problem : Es befindet sich dann (zumindest bei Dropbox) eine neue Datei mit dem Anhang im Dateinamen (In Konflikt stehende Version....)
im Ordner und die Originale Datei bleibt natürlich in dem Zustand den User 1 hat.
Wie kann man es anstellen, das man per PB erkennt, ob sich eine Datei gerade in Bearbeitung befindet, damit diese "neue" Datei nicht entsteht... ?
z.B. das man dem User mitteilen kann, "Achtung, diese Datei wird gerade benutzt!"
Es spielt sich dabei alles auf Windows ab.
Dropbox : Nutzung einer Datei erkennen
Dropbox : Nutzung einer Datei erkennen
PureBasic 6.10 LTS (Windows x86/x64) | Windows10 Pro x64 | Asus TUF X570 Gaming Plus | R9 5900X | 64GB RAM | GeForce RTX 3080 TI iChill X4 | HAF XF Evo | build by vannicom
Re: Dropbox : Nutzung einer Datei erkennen
Du kannst OpenFile() benutzen. Wenn du kein #PB_File_SharedRead bzw. #PB_File_SharedWrite benutzt, sollte das Öffnen fehlschlagen.
Ansonsten hilft auch ein RenameFile(). Du musst nicht die Datei umbenennen und zurück umbenennen, sondern du kannst den gleichen Quell- und Zielnamen verwenden.
Test bei mir:
Ich bekomme 1 zurück, wenn die Datei nicht gesperrt ist. Ansonsten wenn die VM läuft, dann kriege ich 0 zurück.
Ansonsten hilft auch ein RenameFile(). Du musst nicht die Datei umbenennen und zurück umbenennen, sondern du kannst den gleichen Quell- und Zielnamen verwenden.
Test bei mir:
Code: Alles auswählen
If RenameFile("D:\VMs\VirtualBox VMs\Windows XP - VB6\2HDD.vdi", "D:\VMs\VirtualBox VMs\Windows XP - VB6\2HDD.vdi")
Debug "Nicht gesperrt"
Else
Debug "Gesperrt"
EndIf
Re: Dropbox : Nutzung einer Datei erkennen
Das funktioniert doch aber nur, weil es sich um die selbe Datei handelt?
Normalerweise hat in der Dropbox jeder seine eigene lokale Kopie der Datei auf dem
Dropbox-Server, die nach jeder Änderung hochgeladen wird.
Normalerweise hat in der Dropbox jeder seine eigene lokale Kopie der Datei auf dem
Dropbox-Server, die nach jeder Änderung hochgeladen wird.
Win11 x64 | PB 6.00 (x64)
Re: Dropbox : Nutzung einer Datei erkennen
Ja.Andesdaf hat geschrieben:Das funktioniert doch aber nur, weil es sich um die selbe Datei handelt?
Das was Bisonte will geht, glaube ich, wenn überhaupt nur mit Hilfe des Dropbox-API.
Re: Dropbox : Nutzung einer Datei erkennen
Das ist ein Stichwort ! Danke. Allerdings hab ich selten so eine unübersichtliche Dokumentation wie zu dieser API gesehenNino hat geschrieben:Das was Bisonte will geht, glaube ich, wenn überhaupt nur mit Hilfe des Dropbox-API.
Aber da werd ich mal stöbern gehen.
Edit:
Nach kurzer Recherche gehören die benötigten API Aufrufe zum Business Paket, also ist die Geschichte abgehakt
PureBasic 6.10 LTS (Windows x86/x64) | Windows10 Pro x64 | Asus TUF X570 Gaming Plus | R9 5900X | 64GB RAM | GeForce RTX 3080 TI iChill X4 | HAF XF Evo | build by vannicom
Re: Dropbox : Nutzung einer Datei erkennen
Unter https://thoschworks.de/blog/archiv/2012/02/05/975 sind recht ausführliche Informationen zum Problem der "in Konflikt stehende Kopie“ bei Dropbox zu finden.
Eine Lösung ist dort allerdings leider auch nicht bekannt - außer Google Docs statt Dropbox zu benutzen.
Eine Lösung ist dort allerdings leider auch nicht bekannt - außer Google Docs statt Dropbox zu benutzen.
Re: Dropbox : Nutzung einer Datei erkennen
Das mit Google Docs fällt aus, wegen unmöglicher Verschlüsselung...
Ich hab mich für ein Server-Client System in PB entschieden.
Wird also ein etwas grösseres Projektchen jetzt
Ich hab mich für ein Server-Client System in PB entschieden.
Wird also ein etwas grösseres Projektchen jetzt
PureBasic 6.10 LTS (Windows x86/x64) | Windows10 Pro x64 | Asus TUF X570 Gaming Plus | R9 5900X | 64GB RAM | GeForce RTX 3080 TI iChill X4 | HAF XF Evo | build by vannicom