Hallo,
wenn ich mit dem ADS arbeite, benutze ich die ADSCDX. Im ADS werden die dbf als FoxPro eingelesen. Soweit so gut.
Wenn ich aber im ADS eine neue dbf erstellen möchte durch ein DbCreate() - wie bestimme ich dann, das die erstmal FOXCDX sein soll? Aber dennoch natürlich sofort im ADS registriert sein soll?
Warum ich das frage: Ich habe schon stapelweise neue dbf im ADS auf diesem Weg erstellt. Das hat auch immer geklappt. Aber jetzt habe ich zum ersten Mal eine dbf mit Memofeld erstellt - und die hat dann eine dbt bekommen! Und ich konnte die daher natürlich auch manuell nicht als Typ Foxpro in den ADS integrieren.
Wenn ich DbCreate() als dritten Parameter das FOXCDX mitgebe, dann klappt das im ADS nicht, weil der natürlich eine ADSCDX haben möchte. Ich habe mir jetzt erstmal so beholfen, das ich die dbf per 3. Parameter woanders erzeugt habe, und dann manuell in den ADS-Datenbereich kopiert und in den ADS eingebunden habe. Aber Sinn der Sache ist das natürlich nicht.
Jan
dbf-Typen im ADS bestimmen
Moderator: Moderatoren
- Jan
- Marvin
- Beiträge: 14641
- Registriert: Fr, 23. Sep 2005 18:23
- Wohnort: 49328 Melle
- Hat sich bedankt: 21 Mal
- Danksagung erhalten: 87 Mal
- Kontaktdaten:
dbf-Typen im ADS bestimmen
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
-
- Der Entwickler von "Deep Thought"
- Beiträge: 2513
- Registriert: Mi, 28. Jul 2010 17:16
- Hat sich bedankt: 12 Mal
- Danksagung erhalten: 77 Mal
Re: dbf-Typen im ADS bestimmen
Hallo Jan
ich denke du musst der ADSDBE mit folgenden Befehlen:
DbeInfo( COMPONENT_DATA , ADSDBE_TBL_MODE, ADSDBE_CDX )
DbeInfo( COMPONENT_ORDER, ADSDBE_TBL_MODE, ADSDBE_CDX )
mitteilen dass Sie (die ADSDBE) als Standard CDX verwendet.
Dann kannst du dem dbcreate() als 3. Parameter "ADSDBE" übergeben.
Cu Carlo
ich denke du musst der ADSDBE mit folgenden Befehlen:
DbeInfo( COMPONENT_DATA , ADSDBE_TBL_MODE, ADSDBE_CDX )
DbeInfo( COMPONENT_ORDER, ADSDBE_TBL_MODE, ADSDBE_CDX )
mitteilen dass Sie (die ADSDBE) als Standard CDX verwendet.
Dann kannst du dem dbcreate() als 3. Parameter "ADSDBE" übergeben.
Cu Carlo
Valar Morghulis
Gruss Carlo
Gruss Carlo
- Jan
- 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: dbf-Typen im ADS bestimmen
Hallo Carlo,
implementiert ein ADSCDX automatisch, das die dbf FOX ist?
Jan
implementiert ein ADSCDX automatisch, das die dbf FOX ist?
Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
-
- Der Entwickler von "Deep Thought"
- Beiträge: 2513
- Registriert: Mi, 28. Jul 2010 17:16
- Hat sich bedankt: 12 Mal
- Danksagung erhalten: 77 Mal
Re: dbf-Typen im ADS bestimmen
Hallo Jan
müsste eigentlich. Ich verwende seit einiger Zeit nur noch DBF und NTX ob es jetzt noch so ist musst du testen.
Schau mal in der ads20.chm da sind die Parameter beschrieben.
Cu Carlo
müsste eigentlich. Ich verwende seit einiger Zeit nur noch DBF und NTX ob es jetzt noch so ist musst du testen.
Schau mal in der ads20.chm da sind die Parameter beschrieben.
Cu Carlo
Valar Morghulis
Gruss Carlo
Gruss Carlo
- Tom
- Der Entwickler von "Deep Thought"
- Beiträge: 9345
- Registriert: Do, 22. Sep 2005 23:11
- Wohnort: Berlin
- Hat sich bedankt: 100 Mal
- Danksagung erhalten: 359 Mal
- Kontaktdaten:
Re: dbf-Typen im ADS bestimmen
DbCreate() erzeugt immer eine Tabelle mit der aktuellen DBE, es sei denn, es wird via VIA eine andere angegeben, wobei diese DBE auch geladen sein muss. Ob Dein "ADSCDX" Fox-Tabellen mit Fox-Indexen erzeugt oder dB-Tabellen mit Fox-Indexen, was nicht eben wahrscheinlich ist, hängt von der Konfiguration der DBE ab. Da es sich um eine zusammengesetzte DBE handeln dürfte, müsstest Du das in Deinem Code sehen können. Wichtig sind Dinge wie DbeInfo(COMPONENT_DATA,ADSDBE_TBL_MODE) und ähnliche. Fox-Tabellen kann man zuweilen öffnen, wenn man eigentlich Standard-DBF erwartet, vorausgesetzt, es gibt keine Memos, keine Autoincrements oder ähnliche Spezialitäten.
Und dann ist da noch die Sache mit dem Zeichensatz.
Und dann ist da noch die Sache mit dem Zeichensatz.
Herzlich,
Tom
Tom
- Jan
- 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: dbf-Typen im ADS bestimmen
Sorry, das es doch länger gedauert hat.
So sieht der ADS-Eintrag in der dbesys aus:
In der dbesys erstelle ich auf die DBFNTX und die FOXCDX. Erstere könnte ich inzwischen auch rauswerfen, die FOXCDX brauche ich ab und an für externe dbf.
Ich habe das noch mal nachgeprüft: Es werden eindeutig DBFNTX erzeugt im ADS. Was nicht sonderlich erquickend ist.
Jan
So sieht der ADS-Eintrag in der dbesys aus:
Code: Alles auswählen
DbeInfo(COMPONENT_DATA, ADSDBE_LOCK_MODE, ADSDBE_PROPRIETARY_LOCKING) // dbf nur über ADS bearbeitbar
DbeInfo(COMPONENT_DATA, ADSDBE_TBL_MODE, ADSDBE_CDX)
DbeInfo(COMPONENT_ORDER, ADSDBE_TBL_MODE, ADSDBE_CDX)
DbeInfo(COMPONENT_DATA, ADSDBE_RIGHTS_MODE, ADSDBE_IGNORERIGHTS )
DbeInfo(COMPONENT_DATA, ADSDBE_TABLENAME_IS_ALIAS, .T.)
DbeSetDefault("ADSDBE")
Ich habe das noch mal nachgeprüft: Es werden eindeutig DBFNTX erzeugt im ADS. Was nicht sonderlich erquickend ist.
Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.