Hallo Jimmy,
kurz mal zu meiner Person:
Ich bin selbständig als Versicherungsmakler und habe das Programmieren mit Dbase und Clipper einigermaßen gelernt, da ein befreundeter Informatiker mir vor 35 Jahren als Semesterarbeit ein Programm DBase II geschrieben hat. Um nicht immer vor Ort zu sein, haben wir den Code bei Fehlern tel. geändert und da ich immer nachfragte was das bewirkt, konnte ich dann das Programm selbständig erweitern und eigene Programmteile programmieren und hinzufügen.
Dann kam die Umstellung auf DBASE III und so weiter.
Das habe ich dann auch alleine in viel Freizeit und viel Spaß mit der Umstellung auf Xbase++ geschafft
im Moment habe ich das Programm nicht Netzwerkfähig programmiert weil bisher meistens nur eine Person auf die Daten aber von verschiedenen Rechner zugreift. Damit auf jedem Rechner der Originaldatensatz zur Verfügung steht, wird der komplette Datensatz beim Programmstart auf Wunsch vom NAS eingeladen und beim Programmende wieder zurück gespeichert. Hat bereits ein Rechner die Daten geladen und noch nicht am Ende zurück gespeichert, dann kann der andere PC nur die bereits zuletzt geladenen Daten "im Lesemodus" verwenden, um die nötigen Informationen parat zu haben.
Ich verwende dazu eine Dummy Datei die nur vorhanden ist wenn die Daten noch nicht zurück gespeichert sind, bzw. die korrigiert wird wenn es mal eine Programmabsturz gab.
Allerdings gibt es Teilbereiche, bei denen ein gemeinsamer Änderungszugriff auch auf aktuell während der "Lesezeit" von einem anderen Rechner geänderte Daten, super wären.
Auch kann es sein, dass auf dem anderen Rechner ein längere Abrechnung (mit nahezu allen Datenbank im wechselseitigen use A,B,C,d etc. ) läuft und man möchte nur schnell eine Kundenmaske ändern oder neu anlegen um z.B. gleich die Serienbrieffunktion von Word zu nutzen.
Dazu müsste ich aber das gesamte Programm mit ca. 500 PRG'S und rund 50 Datenbanken umstellen, und das in meiner Freizeit neben der normalen Arbeit, also nachts, ohne schnelle Hilfe wenn ich mal nur eine Codezeile brauche und mich dann mühsam durch Hilfe und Foren kämpfe, meist lernst du vieles dazu aber eben nicht das was du gerade sucht...
Tatsächlich wäre mir aber mit einigen eingeschränkten Bereichen wie der Kundenverwaltung schon gedient, wenn man das als Netzwerk programmiert.
Beispiel:
Kundendatenbank (incl. leider einigen dazugehörenden Unterdatenbanken) aber nehmen wir mal nur die Kunden.dbf
Auf dem Hauptrechner von mir Win7 liegen die Originaldaten (nur dieser darf dann in die NAS speichern) das wäre dann der Server, allerdings heißt die Kunden Datenbank dann z.B. KUNDORIG.DBF auf einem Unterverzeichnis um versehentliches Überschreiben zu vermeiden
Jeder Rechner greift wie bisher auf alle Daten zu.
Wird nun ein Kundendatensatz durch das Kommando "AE" (oder pull down Menue) geändert, wird dieser, in der neu geladenen KUNDORIG.DBF incl. Index exklusiv geöffnet und geändert und danach im Hintergrund wieder in die Kunden.pdf gespeichert. Nach Beenden des Vorganges sind ja dann die Daten in beiden Kund*.dbf incl. Index (?) gleich. Eine Änderung von einem anderen Rechner gleichzeitig wäre dann für diese Sekunden ausgeschlossen. Verfahren bei Änderungen vom anderen Rechner genauso.
Könnte das funktionieren oder ist das zu kompliziert, sprich Fehleranfällig?
Mit der XBase++ Version 1.9 könnte man ja auf 2.0 updaten (SQL Datenbanken) und anscheinend mit wenigen Änderungen die Netzwerkfähigkeit des Programmes herstellen, aber wenn da so wenig Ahnung wie ich hat...
Vielleicht hat mir da ja sonst noch jemand einen verständlichen Tipp der ähnliche Vorrausetzungen vom Programm hat
lg
Micha