XBASE und Comix RDD

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

Moderator: Moderatoren

Antworten
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 »

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: 2828
Registriert: Fr, 10. Feb 2006 9:51
Wohnort: Aachen
Hat sich bedankt: 259 Mal
Danksagung erhalten: 12 Mal
Kontaktdaten:

Re: XBASE und Comix RDD

Beitrag von UliTs »

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: 14641
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 87 Mal
Kontaktdaten:

Re: XBASE und Comix RDD

Beitrag von Jan »

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: 15688
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: XBASE und Comix RDD

Beitrag von brandelh »

Hi,

formatiert habe ich, aber mit comix habe ich keine Erfahrungen ;-)
Gruß
Hubert
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 »

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
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 »

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
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 »

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: 15688
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: XBASE und Comix RDD

Beitrag von brandelh »

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
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 »

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: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: XBASE und Comix RDD

Beitrag von AUGE_OHR »

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
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 »

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: 15688
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: XBASE und Comix RDD

Beitrag von brandelh »

Im Zweifel ausprobieren (mit Spieldaten natürlich) ;-)
Gruß
Hubert
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 »

Muss denn eigentlich in der Registry noch etwas Anderes eingestellt werden ?
Da gab es doch etwas mit Locking ?
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 »

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: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: XBASE und Comix RDD

Beitrag von AUGE_OHR »

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: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: XBASE und Comix RDD

Beitrag von AUGE_OHR »

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: 15688
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: XBASE und Comix RDD

Beitrag von brandelh »

Hallo,

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

http://www.alaska-software.com/KB
Gruß
Hubert
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 »

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: 15688
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: XBASE und Comix RDD

Beitrag von brandelh »

Funktioniert es, wenn du die Indexdateien NUR im Clipperprogramm erstellen läßt ?
Gruß
Hubert
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 »

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

Scheinbar taucht das Problem nur im Zusammenhanh mit Memofeldern auf
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 »

Doch nicht, auc, wenn kein Memofeld dabei ist gibt´s einen 8999
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 »

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 ?
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 »

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
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 »

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