Datensatzedition in einem XbpMLE-Feld

Grafische Primitive, XbaseParts und Darstellungsfragen allgemein.

Moderator: Moderatoren

Antworten
KHKDampflok
UDF-Programmierer
UDF-Programmierer
Beiträge: 68
Registriert: Do, 14. Dez 2006 20:55
Wohnort: 22946 Trittau
Kontaktdaten:

Datensatzedition in einem XbpMLE-Feld

Beitrag von KHKDampflok »

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. :blob8:

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 !!!
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15695
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: Datensatzedition in einem XbpMLE-Feld

Beitrag von brandelh »

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 ...
Gruß
Hubert
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9358
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

Beitrag von Tom »

Netzwerk oder lokal?

Mit dem MLE hat es sehr wahrscheinlich nichts zu tun.
Herzlich,
Tom
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15695
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: Datensatzedition in einem XbpMLE-Feld

Beitrag von brandelh »

lies mal diesen Beitrag, insbesondere meinen letzten Eintrag,
wenn die Daten auf einem Netzwerklaufwerk liegen.
Gruß
Hubert
Benutzeravatar
AUGE_OHR
Marvin
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

Beitrag von AUGE_OHR »

KHKDampflok hat geschrieben:Kann so etwas durch eine Änderung des Betriebssystems kommen ?
wenn du "denkst" das du nicht im Netzwerk arbeitest dann siehe man unter den "Dienst" nach ob dort "Server" aktive ist ( default )
es gelten also dann alle Win7/8 Netzwerk Einstellungen die man beachten sollte.
gruss by OHR
Jimmy
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15695
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: Datensatzedition in einem XbpMLE-Feld

Beitrag von brandelh »

AUGE_OHR hat geschrieben:
KHKDampflok hat geschrieben:Kann so etwas durch eine Änderung des Betriebssystems kommen ?
wenn du "denkst" das du nicht im Netzwerk arbeitest dann siehe man unter den "Dienst" nach ob dort "Server" aktive ist ( default )
es gelten also dann alle Win7/8 Netzwerk Einstellungen die man beachten sollte.
Hallo Jimmy,

wenn man auf lokale Festplatten zugreift, ist es ein lokaler Zugriff, egal ob der SERVER-Dienst gestartet ist oder nicht. :D
Gruß
Hubert
Benutzeravatar
AUGE_OHR
Marvin
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

Beitrag von AUGE_OHR »

hi,
brandelh hat geschrieben:wenn man auf lokale Festplatten zugreift, ist es ein lokaler Zugriff, egal ob der SERVER-Dienst gestartet ist oder nicht. :D
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.
gruss by OHR
Jimmy
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15695
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: Datensatzedition in einem XbpMLE-Feld

Beitrag von brandelh »

AUGE_OHR hat geschrieben:hi,
brandelh hat geschrieben:wenn man auf lokale Festplatten zugreift, ist es ein lokaler Zugriff, egal ob der SERVER-Dienst gestartet ist oder nicht. :D
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.
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 !
Ich meinte schon C: oder D: ... ;-)
Gruß
Hubert
Benutzeravatar
AUGE_OHR
Marvin
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

Beitrag von AUGE_OHR »

brandelh 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 !
YUP ... wie will man sonst ein Programm im Netzwerk betreiben ;)

aber zurück zu Karl-Heinz ... ich bin gar nicht auf den Teil eingegangen
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.
Nein, das sollte kein Unterschied der OS() ausmachen.

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
Antworten