Date: prev next · Thread: first prev next last
2014 Archives by date, by thread · List index



Am 11.04.2014 18:04, schrieb Robert Großkopf:
Hallo Gooly,

kann ich mit LO ein csv-File 'Shared-Read' öffnen (dass andere Programme
auch das File öffnen und lesen können, obwohl es in LO geöffnet ist)?

Ich habe das gerade einmal getestet: CSV-Datei in LO-Base (als
eingebundene Texttabelle) geöffnet, dann noch in Calc und in einem
einfachen Textprogramm (KWrite) geöffnet.
Hmm,
mein Programm möchte das csv-file öffnen mit den Win-Api-Funktionen.
Also I öffne das csv-file in LO(Version 3.6.7.2 (Build ID: e183d5b) save Version) und dann in meinem Programm mache ich:

#import "kernel32.dll" //http://msdn.microsoft.com/en-us/library/windows/desktop/aa365467%28v=vs.85%29.aspx
...
int wHdl = CreateFileW(fName, GENERIC_READ, WinFILE_SHARE_READ, WinNULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, WinNULL);
        if ( wHdl == INVALID_HANDLE ) {
                Print("ERROR Win32: Invalid Handle ",getWinErrors()," ",addErr);
                SetUserError( ERR_FILE_INVALID_HANDLE ); return("");
        }

und erhalte als Fehlermeldung:

ERROR Win32: Invalid Handle  ERROR_SHARING_VIOLATION ReadCsvFile: 1834
( #define ERROR_SHARING_VIOLATION 32 // (0x20) The process cannot access the file because it is being used by another process. )

Das mit der Integrität ist mir klar! In meinem Fall ist csv offen, weil ich etwas geändert habe und das ich jetzt im anderen Programm überprüfen will...


Das größte Problem ist wohl nachher eine Integrität der Datei hin zu
bekommen. Beim Speichern in Calc wurde ich zwar gewarnt, dass ein
anderes Programm die Datei geändert hätte - die Änderungen aus Base
waren dann verloren, wurden aber in der Base-Tabelle munter weiter
angezeigt. KWrite zeigt mit einer Meldung jede Dateiänderung durch ein
anderes Programm an, so dass ich die neueste Version laden kann.

Da gibt es meines Wissens nirgendwo eine Schutzmöglichkeit, die es
anderen Programmen verbietet, nicht nur lesend, sondern auch schreibend
auf *.csv-Dateien zuzugreifen.

Problem wird also sein, dass gar kein Schreibschutz da ist und bei
unbedachtem Arbeiten die Datenintegrität der Datei nicht mehr
gewährleistet ist.

Gruß

Robert


--
Liste abmelden mit E-Mail an: users+unsubscribe@de.libreoffice.org
Probleme? http://de.libreoffice.org/hilfe-kontakt/mailing-listen/abmeldung-liste/
Tipps zu Listenmails: http://wiki.documentfoundation.org/Netiquette/de
Listenarchiv: http://listarchives.libreoffice.org/de/users/
Alle E-Mails an diese Liste werden unlöschbar öffentlich archiviert

Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.