XBASE und Comix RDD

Auf dem Weg von Clipper, FoxPro u.ä. nach Xbase++

Moderator: Moderatoren

Antworten
Benutzeravatar
Eckhard Sallermann
UDF-Programmierer
UDF-Programmierer
Beiträge: 88
Registriert: Fr, 29. Jun 2007 13:32
Wohnort: 33330 Gütersloh
Kontaktdaten:

XBASE und Comix RDD

Beitrag von Eckhard Sallermann » Mo, 17. Okt 2011 15:29

Mahlzeit,

da kommt sogleich eine neue Frage eines XBASE-Anfängers.

Ich habe mal ein Testprogramm geschrieben, einmal in Clipper 5.2e + Comix RDD, das gleiche Programm auch mit XBASE++

Beide Programme schreiben in eine DBF-Datei ( testdatei ) diese hat Indexdateien und auch ein Memofeld

Die XBASE-App stürtzt sporadisch mit einem Lesefehler ab, die Kompatibilät sollte doch eigentlich zum Clipper gegeben sein.
Hat jemand von euch eine Idee, woran das liegen kann ?

Gruß Ecki


Hier mal der XBASE-Code:

Code: Alles auswählen

PROCEDURE Main
local cpath		:= "\\srvfs01\testdaten\"
local nrecs		:= 0
local ntotal	:= 100000
local ndummy    := 0

SET COLLATION TO GERMAN
SET CHARSET TO OEM



clear screen
use ( cpath + "testdbf" ) new shared
dbsetorder(1)
for nrecs := 1 to ntotal
    @ 10,10 say str( nrecs * 100 / ntotal ,6,2) + " %"
    testdbf->(dbappend())
    while !testdbf->(rlock())
    enddo
    replace testdbf->nummer with testdbf->(recno())
    replace testdbf->name   with "winxp89"
    replace testdbf->datum  with date()
    replace testdbf->zeit   with time()
    replace testdbf->finfo  with "Dies ist Datensatz Nummer " + ltrim(str(testdbf->nummer))
    testdbf->(dbcommit())
    testdbf->(dbunlock())
	ndummy := inkey()
	if lastkey() = 27 .or. nextkey() = 27
	    exit
	endif
next nrecs
return

PROCEDURE DbeSys
#include "xbp.ch"
#include "dll.ch"
#include "appevent.ch"
#include 'common.ch'
#include 'std.ch'
#include 'set.ch'
#include "xbp.ch"
#include "foxdbe.ch"
#include "Dbfdbe.ch"
#include "cdxdbe.ch" 

IF ! DbeLoad( "FOXDBE" , .T.)     
	? "nicht geladen"
else
	? "Geladen"
ENDIF

IF ! DbeLoad( "CDXDBE" , .T.)     
	? "nicht geladen"
else
	? "Geladen"
ENDIF
IF ! DbeBuild( "FOXCDX" , "FOXDBE" , "CDXDBE" )
	? "nicht geladen"
else
	? "Geladen"
ENDIF
DbeSetDefault("FOXCDX")
DbeInfo(COMPONENT_ORDER , CDXDBE_MODE , CDXDBE_COMIX )
DbeInfo(COMPONENT_ORDER , FOXDBE_MEMOBLOCKSIZE , 64 )
DbeInfo(COMPONENT_ORDER , DBE_LOCKMODE , LOCKING_STANDARD ) 
DbeInfo(COMPONENT_ORDER , FOXDBE_LOCKRETRY , 100000 )
DbeInfo(COMPONENT_ORDER , FOXDBE_LOCKDELAY , 15 )
DbeInfo(COMPONENT_ORDER , CDXDBE_LOCKRETRY, 100000 )
DbeInfo(COMPONENT_ORDER , CDXDBE_LOCKDELAY , 15 )
RETURN

UliTs
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2541
Registriert: Fr, 10. Feb 2006 9:51
Wohnort: Aachen
Kontaktdaten:

Re: XBASE und Comix RDD

Beitrag von UliTs » Mo, 17. Okt 2011 15:51

Hallo Ecki,
kannst Du bitte deine Nachricht editieren und den Quellcode mittels "Code" einrahmen? Dadurch wird er hoffentlich lesbarer :-) .

Uli
-------
Mitglied XuG Cologne
Mitglied XuG Osnabrück

Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 13142
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Kontaktdaten:

Re: XBASE und Comix RDD

Beitrag von Jan » Mo, 17. Okt 2011 15:52

Mir fehlt da eher die Fehlermeldung.

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.

Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 14595
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Kontaktdaten:

Re: XBASE und Comix RDD

Beitrag von brandelh » Mo, 17. Okt 2011 15:53

Hi,

formatiert habe ich, aber mit comix habe ich keine Erfahrungen ;-)
Gruß
Hubert

Benutzeravatar
Eckhard Sallermann
UDF-Programmierer
UDF-Programmierer
Beiträge: 88
Registriert: Fr, 29. Jun 2007 13:32
Wohnort: 33330 Gütersloh
Kontaktdaten:

Re: XBASE und Comix RDD

Beitrag von Eckhard Sallermann » Mo, 17. Okt 2011 15:57

Hi Uli, ich werde versuchen, das beim nächsten Mal zu berücksichtigen, wusste noch nicht, dass bzw. wie das geht #-o
UliTs hat geschrieben:Hallo Ecki,
kannst Du bitte deine Nachricht editieren und den Quellcode mittels "Code" einrahmen? Dadurch wird er hoffentlich lesbarer :-) .

Uli

Benutzeravatar
Eckhard Sallermann
UDF-Programmierer
UDF-Programmierer
Beiträge: 88
Registriert: Fr, 29. Jun 2007 13:32
Wohnort: 33330 Gütersloh
Kontaktdaten:

Re: XBASE und Comix RDD

Beitrag von Eckhard Sallermann » Mo, 17. Okt 2011 15:59

Code: Alles auswählen

oError:args         :
          -> VALTYPE: N VALUE: 33776
oError:canDefault   : N
oError:canRetry     : N
oError:canSubstitute: J
oError:cargo        : NIL
oError:description  : Fehler beim Lesen
oError:filename     : 
oError:genCode      :         73
oError:operation    : <NUMMER>:=<33776>
oError:osCode       :          0
oError:severity     :          2
oError:subCode      :       8999
oError:subSystem    : BASE
oError:thread       :          1
oError:tries        :          0

Benutzeravatar
Eckhard Sallermann
UDF-Programmierer
UDF-Programmierer
Beiträge: 88
Registriert: Fr, 29. Jun 2007 13:32
Wohnort: 33330 Gütersloh
Kontaktdaten:

Re: XBASE und Comix RDD

Beitrag von Eckhard Sallermann » Mo, 17. Okt 2011 16:06

Dazu noch folgendes: wenn ich die DBF + Index mit XBASE++ erzeuge dann kann meine Clipper-App die DBF nicht mal öffnen, meldet gleich, dass die korrupt sei :cry:

Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 14595
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Kontaktdaten:

Re: XBASE und Comix RDD

Beitrag von brandelh » Mo, 17. Okt 2011 16:21

Ich meine dass man für die COMIX CLIPPER Kompatibilität die FOXCDX oder FOXDBE ff. speziell einstellen muss.
Da steht sowas in der Hilfe zur FOXDBE bzw. FOXCDX oder bei den Hinweisen für Clipper Programmierer, irgendwo habe ich sowas gelesen.
Allerdings mangels Bedarf auch gleich überflogen ;-)
Gruß
Hubert

Benutzeravatar
Eckhard Sallermann
UDF-Programmierer
UDF-Programmierer
Beiträge: 88
Registriert: Fr, 29. Jun 2007 13:32
Wohnort: 33330 Gütersloh
Kontaktdaten:

Re: XBASE und Comix RDD

Beitrag von Eckhard Sallermann » Mo, 17. Okt 2011 17:12

Tach Hubert, mal schauen, ich habe das hier gefunden:

DbeInfo( COMPONENT_DATA, FOXDBE_CREATE_2X, .T. )
DbeInfo( COMPONENT_DATA, FOXDBE_LOCKMODE , FOXDBE_LOCKMODE_CLIPPER )

Jetzt teste ich mal . . . .
brandelh hat geschrieben:Ich meine dass man für die COMIX CLIPPER Kompatibilität die FOXCDX oder FOXDBE ff. speziell einstellen muss.
Da steht sowas in der Hilfe zur FOXDBE bzw. FOXCDX oder bei den Hinweisen für Clipper Programmierer, irgendwo habe ich sowas gelesen.
Allerdings mangels Bedarf auch gleich überflogen ;-)

Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 11515
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg

Re: XBASE und Comix RDD

Beitrag von AUGE_OHR » Mo, 17. Okt 2011 17:27

Eckhard Sallermann hat geschrieben:Tach Hubert, mal schauen, ich habe das hier gefunden:

DbeInfo( COMPONENT_DATA, FOXDBE_CREATE_2X, .T. )
DbeInfo( COMPONENT_DATA, FOXDBE_LOCKMODE , FOXDBE_LOCKMODE_CLIPPER )

Jetzt teste ich mal . . . .
YUP die verwende ich auch, aber das ist "nur" die COMPONENT_DATA Einstellung für die DBF .
Für den Index musst du noch die COMPONENT_ORDER setzen.

Code: Alles auswählen

DbeInfo(COMPONENT_ORDER, CDXDBE_MODE,CDXDBE_FOXPRO2X )
gruss by OHR
Jimmy

Benutzeravatar
Eckhard Sallermann
UDF-Programmierer
UDF-Programmierer
Beiträge: 88
Registriert: Fr, 29. Jun 2007 13:32
Wohnort: 33330 Gütersloh
Kontaktdaten:

Re: XBASE und Comix RDD

Beitrag von Eckhard Sallermann » Mo, 17. Okt 2011 17:52

Sollte der nicht so lauten ?

DbeInfo(COMPONENT_ORDER , CDXDBE_MODE , CDXDBE_COMIX )

AUGE_OHR hat geschrieben:
Eckhard Sallermann hat geschrieben:Tach Hubert, mal schauen, ich habe das hier gefunden:

DbeInfo( COMPONENT_DATA, FOXDBE_CREATE_2X, .T. )
DbeInfo( COMPONENT_DATA, FOXDBE_LOCKMODE , FOXDBE_LOCKMODE_CLIPPER )

Jetzt teste ich mal . . . .
YUP die verwende ich auch, aber das ist "nur" die COMPONENT_DATA Einstellung für die DBF .
Für den Index musst du noch die COMPONENT_ORDER setzen.

Code: Alles auswählen

DbeInfo(COMPONENT_ORDER, CDXDBE_MODE,CDXDBE_FOXPRO2X )

Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 14595
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Kontaktdaten:

Re: XBASE und Comix RDD

Beitrag von brandelh » Mo, 17. Okt 2011 17:53

Im Zweifel ausprobieren (mit Spieldaten natürlich) ;-)
Gruß
Hubert

Benutzeravatar
Eckhard Sallermann
UDF-Programmierer
UDF-Programmierer
Beiträge: 88
Registriert: Fr, 29. Jun 2007 13:32
Wohnort: 33330 Gütersloh
Kontaktdaten:

Re: XBASE und Comix RDD

Beitrag von Eckhard Sallermann » Mo, 17. Okt 2011 18:00

Muss denn eigentlich in der Registry noch etwas Anderes eingestellt werden ?
Da gab es doch etwas mit Locking ?

Benutzeravatar
Eckhard Sallermann
UDF-Programmierer
UDF-Programmierer
Beiträge: 88
Registriert: Fr, 29. Jun 2007 13:32
Wohnort: 33330 Gütersloh
Kontaktdaten:

Re: XBASE und Comix RDD

Beitrag von Eckhard Sallermann » Mo, 17. Okt 2011 18:02

Ja super, jetzt gibt`s nen Crach bei dbcommit()

Code: Alles auswählen

oError:args         :
oError:canDefault   : J
oError:canRetry     : N
oError:canSubstitute: N
oError:cargo        : NIL
oError:description  : D
oError:filename     : 
oError:genCode      :       8999
oError:operation    : DbCommit
oError:osCode       :          0
oError:severity     :          2
oError:subCode      :          0
oError:subSystem    : BASE
oError:thread       :          1
oError:tries        :          0

Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 11515
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg

Re: XBASE und Comix RDD

Beitrag von AUGE_OHR » Mo, 17. Okt 2011 18:24

Eckhard Sallermann hat geschrieben:Sollte der nicht so lauten ?
DbeInfo(COMPONENT_ORDER , CDXDBE_MODE , CDXDBE_COMIX )
siehe mal in die CDXDBE.CH

Code: Alles auswählen

#define CDXDBE_COMIX           CDXDBE_FOXPRO2X
es ist also das "selbe" ;)

du hattest die COMPONENT_ORDER ja schon in deiner ersten Msg gezeigt.
verwende wenn möglich die "default" Werte d.h. du musst die nicht Werte extra eintragen.
gruss by OHR
Jimmy

Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 11515
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg

Re: XBASE und Comix RDD

Beitrag von AUGE_OHR » Mo, 17. Okt 2011 18:25

Eckhard Sallermann hat geschrieben:Ja super, jetzt gibt`s nen Crach bei dbcommit()
typische 8999 Fehler ... such mal im Forum nach 8999
was für ein OS() verwendest du ? Netzwerk ?
gruss by OHR
Jimmy

Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 14595
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Kontaktdaten:

Re: XBASE und Comix RDD

Beitrag von brandelh » Di, 18. Okt 2011 8:43

Hallo,

du solltest auch mal die Alaska KB durchsuchen FullTextSearch nach der Fehlernummer und nach COMIX

http://www.alaska-software.com/KB
Gruß
Hubert

Benutzeravatar
Eckhard Sallermann
UDF-Programmierer
UDF-Programmierer
Beiträge: 88
Registriert: Fr, 29. Jun 2007 13:32
Wohnort: 33330 Gütersloh
Kontaktdaten:

Re: XBASE und Comix RDD

Beitrag von Eckhard Sallermann » Di, 18. Okt 2011 9:05

Comix-CDX-Driver cannot open CDX-Files created by Xbase++.

Sosultion: No Workaround for this problem known!

Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 14595
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Kontaktdaten:

Re: XBASE und Comix RDD

Beitrag von brandelh » Di, 18. Okt 2011 9:07

Funktioniert es, wenn du die Indexdateien NUR im Clipperprogramm erstellen läßt ?
Gruß
Hubert

Benutzeravatar
Eckhard Sallermann
UDF-Programmierer
UDF-Programmierer
Beiträge: 88
Registriert: Fr, 29. Jun 2007 13:32
Wohnort: 33330 Gütersloh
Kontaktdaten:

Re: XBASE und Comix RDD

Beitrag von Eckhard Sallermann » Di, 18. Okt 2011 9:08

Nein, egal, ob ich die Dateien mit Clipper oder XBASE erstelle

Scheinbar taucht das Problem nur im Zusammenhanh mit Memofeldern auf

Benutzeravatar
Eckhard Sallermann
UDF-Programmierer
UDF-Programmierer
Beiträge: 88
Registriert: Fr, 29. Jun 2007 13:32
Wohnort: 33330 Gütersloh
Kontaktdaten:

Re: XBASE und Comix RDD

Beitrag von Eckhard Sallermann » Di, 18. Okt 2011 9:11

Doch nicht, auc, wenn kein Memofeld dabei ist gibt´s einen 8999

Benutzeravatar
Eckhard Sallermann
UDF-Programmierer
UDF-Programmierer
Beiträge: 88
Registriert: Fr, 29. Jun 2007 13:32
Wohnort: 33330 Gütersloh
Kontaktdaten:

Re: XBASE und Comix RDD

Beitrag von Eckhard Sallermann » Di, 18. Okt 2011 9:12

Clipper 5.2e + COMIX

Egal, ob die DBF + CDX +FPT auf einem Novellserver oder auf einen Windowsserver liegen, der Fehler taucht immer auf

Workstation ist für XBASE ein Windows 7 Professional SP 1 , neuester Patchstand

AUGE_OHR hat geschrieben:
Eckhard Sallermann hat geschrieben:Ja super, jetzt gibt`s nen Crach bei dbcommit()
typische 8999 Fehler ... such mal im Forum nach 8999
was für ein OS() verwendest du ? Netzwerk ?

Benutzeravatar
Eckhard Sallermann
UDF-Programmierer
UDF-Programmierer
Beiträge: 88
Registriert: Fr, 29. Jun 2007 13:32
Wohnort: 33330 Gütersloh
Kontaktdaten:

Re: XBASE und Comix RDD

Beitrag von Eckhard Sallermann » Di, 18. Okt 2011 10:54

Ah, habe noch mal geschaut, wenn ein FoxProkompatibles Lockingverfahren benutzt werden soll, dann muss man noch das CMXFOX52 vom Comix in Clipper einbinden.
Bisher schaut das gut aus

Benutzeravatar
Eckhard Sallermann
UDF-Programmierer
UDF-Programmierer
Beiträge: 88
Registriert: Fr, 29. Jun 2007 13:32
Wohnort: 33330 Gütersloh
Kontaktdaten:

Re: XBASE und Comix RDD

Beitrag von Eckhard Sallermann » Di, 18. Okt 2011 14:27

Nach Einbinden von CMXFOX52.OBJ in meine Clipper-App läuft es bisher super

Die DBF darf allerdings scheinbar nur von XBASE erstellt werden ( dbcreate ) , erstelle ich die DBF mit Clipper, so können nicht Beide ( XBASE + Clipper )
in die DBF schreiben, geht also nur, wenn XBASE die DBF erstellt hat

Antworten