Datensatzedition in einem XbpMLE-Feld
Moderator: Moderatoren
-
- UDF-Programmierer
- Beiträge: 68
- Registriert: Do, 14. Dez 2006 20:55
- Wohnort: 22946 Trittau
- Kontaktdaten:
Datensatzedition in einem XbpMLE-Feld
Hallo erstmal,
Wie ich kürzlich schon erwähnt hatte, habe ich mir einen neuen Rechner zugelegt, der schneller ist als der bisherige und auf Windows 7 umgestellt. Prompt gibt es damit Probleme. Ich habe in meinem Programm LOKLISTE ein Notizbuch eingebaut, welches an beliebiger Programmstelle aufgerufen und editiert werden kann. Als Datenfeld für die Seiten benutze ich ein XbpMLE-Feld, d.h. der Inhalt eines MLE-Feldes ist ein Datensatz. Bei Windows XP konnte ich die Felder beliebig editieren, Inhalte hin- und her kopieren usw., bei Windows 7 wird bei einer Änderung in einem Datenfeld der folgende Datensatz mit den geänderten Daten überschrieben und der alte Datensatz bleibt erhalten. Der Inhalt des folgen Datensatztes (Seite) ist dann futsch. Die Quellcodes der infrage kommenden Programme und die Datenbank incl. Index sind absolut identisch (extra reproduziert, zurück kopiert). Kann so etwas durch eine Änderung des Betriebssystems kommen ?
Ich bin ziemlich ratlos.
Gruß Karl-Heinz kahl
Wie ich kürzlich schon erwähnt hatte, habe ich mir einen neuen Rechner zugelegt, der schneller ist als der bisherige und auf Windows 7 umgestellt. Prompt gibt es damit Probleme. Ich habe in meinem Programm LOKLISTE ein Notizbuch eingebaut, welches an beliebiger Programmstelle aufgerufen und editiert werden kann. Als Datenfeld für die Seiten benutze ich ein XbpMLE-Feld, d.h. der Inhalt eines MLE-Feldes ist ein Datensatz. Bei Windows XP konnte ich die Felder beliebig editieren, Inhalte hin- und her kopieren usw., bei Windows 7 wird bei einer Änderung in einem Datenfeld der folgende Datensatz mit den geänderten Daten überschrieben und der alte Datensatz bleibt erhalten. Der Inhalt des folgen Datensatztes (Seite) ist dann futsch. Die Quellcodes der infrage kommenden Programme und die Datenbank incl. Index sind absolut identisch (extra reproduziert, zurück kopiert). Kann so etwas durch eine Änderung des Betriebssystems kommen ?
Ich bin ziemlich ratlos.
Gruß Karl-Heinz kahl
Mit xbase habe ich ein Triebfahrzeugsarchiv "LOKLISTE" erstellt. Dieses Archiv enthält Daten aller Eisenbahntriebfahrzeuge vom "ADLER" bis zum ICE. Genaueres erfährt man unter www.lokliste.de, wo man auch eine kostenlose DEMO-Version herrunterladen kann !!!
- brandelh
- Foren-Moderator
- Beiträge: 15696
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 66 Mal
- Danksagung erhalten: 33 Mal
- Kontaktdaten:
Re: Datensatzedition in einem XbpMLE-Feld
Hi,
das XbpMLE() ist ein Control auf dem Bildschirm und kein Feld.
Das Feld in der DBF bzw. DBT kann diesem zugeordnet sein um die Daten zu laden ( datalink ) oder per setData() / getData() Methode geladen / gespeichert werden.
Wo genau liegt nun dein Problem, in der DBF/DBT (also falscher Datensatz wird mit den Daten überschriebe) oder im Control-Verhalten XbpMLE() ?
Seit einiger Zeit haben die Controls ein Kontektmenü (rechte Maustaste) wenn man da blöd drann kommt wird der Inhalt markiert und gelöscht ...
das XbpMLE() ist ein Control auf dem Bildschirm und kein Feld.
Das Feld in der DBF bzw. DBT kann diesem zugeordnet sein um die Daten zu laden ( datalink ) oder per setData() / getData() Methode geladen / gespeichert werden.
Wo genau liegt nun dein Problem, in der DBF/DBT (also falscher Datensatz wird mit den Daten überschriebe) oder im Control-Verhalten XbpMLE() ?
Seit einiger Zeit haben die Controls ein Kontektmenü (rechte Maustaste) wenn man da blöd drann kommt wird der Inhalt markiert und gelöscht ...
Gruß
Hubert
Hubert
- Tom
- Der Entwickler von "Deep Thought"
- Beiträge: 9361
- Registriert: Do, 22. Sep 2005 23:11
- Wohnort: Berlin
- Hat sich bedankt: 101 Mal
- Danksagung erhalten: 361 Mal
- Kontaktdaten:
Re: Datensatzedition in einem XbpMLE-Feld
Netzwerk oder lokal?
Mit dem MLE hat es sehr wahrscheinlich nichts zu tun.
Mit dem MLE hat es sehr wahrscheinlich nichts zu tun.
Herzlich,
Tom
Tom
- brandelh
- Foren-Moderator
- Beiträge: 15696
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 66 Mal
- Danksagung erhalten: 33 Mal
- Kontaktdaten:
Re: Datensatzedition in einem XbpMLE-Feld
lies mal diesen Beitrag, insbesondere meinen letzten Eintrag,
wenn die Daten auf einem Netzwerklaufwerk liegen.
wenn die Daten auf einem Netzwerklaufwerk liegen.
Gruß
Hubert
Hubert
- AUGE_OHR
- Marvin
- Beiträge: 12906
- Registriert: Do, 16. Mär 2006 7:55
- Wohnort: Hamburg
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 45 Mal
Re: Datensatzedition in einem XbpMLE-Feld
wenn du "denkst" das du nicht im Netzwerk arbeitest dann siehe man unter den "Dienst" nach ob dort "Server" aktive ist ( default )KHKDampflok hat geschrieben:Kann so etwas durch eine Änderung des Betriebssystems kommen ?
es gelten also dann alle Win7/8 Netzwerk Einstellungen die man beachten sollte.
gruss by OHR
Jimmy
Jimmy
- brandelh
- Foren-Moderator
- Beiträge: 15696
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 66 Mal
- Danksagung erhalten: 33 Mal
- Kontaktdaten:
Re: Datensatzedition in einem XbpMLE-Feld
Hallo Jimmy,AUGE_OHR hat geschrieben:wenn du "denkst" das du nicht im Netzwerk arbeitest dann siehe man unter den "Dienst" nach ob dort "Server" aktive ist ( default )KHKDampflok hat geschrieben:Kann so etwas durch eine Änderung des Betriebssystems kommen ?
es gelten also dann alle Win7/8 Netzwerk Einstellungen die man beachten sollte.
wenn man auf lokale Festplatten zugreift, ist es ein lokaler Zugriff, egal ob der SERVER-Dienst gestartet ist oder nicht.
Gruß
Hubert
Hubert
- AUGE_OHR
- Marvin
- Beiträge: 12906
- Registriert: Do, 16. Mär 2006 7:55
- Wohnort: Hamburg
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 45 Mal
Re: Datensatzedition in einem XbpMLE-Feld
hi,
wenn man UNC Path benutzt, wovon ich ausgehe, "muss" das (lokale) Verzeichnis "freigegeben" sein, sonst kann man es nicht ansprechen.
was nun wieder darauf ankommt "wie" du auf ein Verzeichnis zugreifst.brandelh hat geschrieben:wenn man auf lokale Festplatten zugreift, ist es ein lokaler Zugriff, egal ob der SERVER-Dienst gestartet ist oder nicht.
wenn man UNC Path benutzt, wovon ich ausgehe, "muss" das (lokale) Verzeichnis "freigegeben" sein, sonst kann man es nicht ansprechen.
gruss by OHR
Jimmy
Jimmy
- brandelh
- Foren-Moderator
- Beiträge: 15696
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 66 Mal
- Danksagung erhalten: 33 Mal
- Kontaktdaten:
Re: Datensatzedition in einem XbpMLE-Feld
Wenn du einen UNC Pfadnamen nutzt - auch auf dem gleichen PC - geht es über die Netzwerkschnittstelle und ist somit nicht mehr LOKAL in diesem Sinne !AUGE_OHR hat geschrieben:hi,was nun wieder darauf ankommt "wie" du auf ein Verzeichnis zugreifst. wenn man UNC Path benutzt, wovon ich ausgehe, "muss" das (lokale) Verzeichnis "freigegeben" sein, sonst kann man es nicht ansprechen.brandelh hat geschrieben:wenn man auf lokale Festplatten zugreift, ist es ein lokaler Zugriff, egal ob der SERVER-Dienst gestartet ist oder nicht.
Ich meinte schon C: oder D: ...
Gruß
Hubert
Hubert
- AUGE_OHR
- Marvin
- Beiträge: 12906
- Registriert: Do, 16. Mär 2006 7:55
- Wohnort: Hamburg
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 45 Mal
Re: Datensatzedition in einem XbpMLE-Feld
YUP ... wie will man sonst ein Programm im Netzwerk betreibenbrandelh hat geschrieben:Wenn du einen UNC Pfadnamen nutzt - auch auf dem gleichen PC - geht es über die Netzwerkschnittstelle und ist somit nicht mehr LOKAL in diesem Sinne !
aber zurück zu Karl-Heinz ... ich bin gar nicht auf den Teil eingegangen
Nein, das sollte kein Unterschied der OS() ausmachen.KHKDampflok hat geschrieben:bei Windows 7 wird bei einer Änderung in einem Datenfeld der folgende Datensatz mit den geänderten Daten überschrieben und der alte Datensatz bleibt erhalten. Der Inhalt des folgen Datensatztes (Seite) ist dann futsch.
Frage : wie kommst du zum "edit" ? ... aus einem Browse ?
ich würde die RECNO() zum "lock" benutzen
Code: Alles auswählen
nRec := TESTOPS->(RECNO())
IF TESTOPS->(DbRLock(nRec))
REPLACE TESTOPS->xxx
...
COMMIT
TESTOPS->(DbRUnlock(nRec))
TESTOPS->(DbSkip(0))
ELSE
gruss by OHR
Jimmy
Jimmy