Handles unter FOXDBE ermitteln
Moderator: Moderatoren
- komnick
- UDF-Programmierer
- Beiträge: 76
- Registriert: Mi, 04. Jun 2014 9:56
- Wohnort: Berlin
- Hat sich bedankt: 1 Mal
- Danksagung erhalten: 7 Mal
Handles unter FOXDBE ermitteln
Liebe Xbase-Gemeinde,
ich habe eine Datenbank mit dem Treiber FOXDBE geöffnet und möchte gern die Handles der beiden Dateien (DBF und FPT) wissen.
Wenn ich eine Datenbank mit dem Treiber DBFDBE geöffnet habe, dann gibt mir DBINFO(DBFDBO_DBFHANDLE) und DBINFO(DBFDBO_DBTHANDLE) das, was ich wissen möchte. Eine Konstante FOXDBO_DBFHANDLE gibt es in foxdbe.ch aber nicht.
Kennt jemand einen Weg, wie ich die Handles unter FOXDBE erfahren kann?
Liebe Grüße, bleibt gesund!
Martin
ich habe eine Datenbank mit dem Treiber FOXDBE geöffnet und möchte gern die Handles der beiden Dateien (DBF und FPT) wissen.
Wenn ich eine Datenbank mit dem Treiber DBFDBE geöffnet habe, dann gibt mir DBINFO(DBFDBO_DBFHANDLE) und DBINFO(DBFDBO_DBTHANDLE) das, was ich wissen möchte. Eine Konstante FOXDBO_DBFHANDLE gibt es in foxdbe.ch aber nicht.
Kennt jemand einen Weg, wie ich die Handles unter FOXDBE erfahren kann?
Liebe Grüße, bleibt gesund!
Martin
- komnick
- UDF-Programmierer
- Beiträge: 76
- Registriert: Mi, 04. Jun 2014 9:56
- Wohnort: Berlin
- Hat sich bedankt: 1 Mal
- Danksagung erhalten: 7 Mal
Re: Handles unter FOXDBE ermitteln
Gar niemand hat eine Idee? Schade.
Trotzdem vielen Dank an alle, die dies lasen und kurz darüber nachdachten.
Bleibt gesund!
Martin
Trotzdem vielen Dank an alle, die dies lasen und kurz darüber nachdachten.
Bleibt gesund!
Martin
- AUGE_OHR
- Marvin
- Beiträge: 12913
- Registriert: Do, 16. Mär 2006 7:55
- Wohnort: Hamburg
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 46 Mal
Re: Handles unter FOXDBE ermitteln
unter Clipper v5.3 gab es erst FPT und Xbase++ ist nur v5.2 kompatible ...
DBINFO()
Syntax
DBINFO(<nInfoType>, [<expNewSetting>])
--> uCurrentSetting
Arguments
<nInfoType> determines the type of information, as specified by the
constants below. Note, however, that not all constants are supported
for all RDDs. These constants are defined in the Dbinfo.ch header file,
which must be included (#include) in your application.
DBI_FILEHANDLE
Integer representing the DOS file handle for this database file.
DBI_MEMOHANDLE
Integer representing the DOS file handle for the memo file associated with this database file.
gruss by OHR
Jimmy
Jimmy
- komnick
- UDF-Programmierer
- Beiträge: 76
- Registriert: Mi, 04. Jun 2014 9:56
- Wohnort: Berlin
- Hat sich bedankt: 1 Mal
- Danksagung erhalten: 7 Mal
Re: Handles unter FOXDBE ermitteln
Das klingt wie ein Argument dafür, dass Xbase keine FPT-Dateien öffnen kann. Kann es aber (mit der FOXDBE). Die Frage ist nun, gibt es - jenseits von DBINFO() - einen Weg, den Handle zu erfahren?unter Clipper v5.3 gab es erst FPT und Xbase++ ist nur v5.2 kompatible ...
Das scheint aus der Clipper-Doku zu sein und hilft mir hier nicht weiter.DBI_FILEHANDLE
Integer representing the DOS file handle for this database file.
DBI_MEMOHANDLE
Integer representing the DOS file handle for the memo file associated with this database file.
Vermutlich wolltest du mir mit deiner Rückmeldung nur sagen, dass es unter Xbase nicht geht? Tja, dachte ich mir jetzt schon. Trotzdem vielen Dank.
Bleibt gesund!
Martin
- Tom
- Der Entwickler von "Deep Thought"
- Beiträge: 9394
- Registriert: Do, 22. Sep 2005 23:11
- Wohnort: Berlin
- Hat sich bedankt: 104 Mal
- Danksagung erhalten: 364 Mal
- Kontaktdaten:
Re: Handles unter FOXDBE ermitteln
Mmh, ich finde da auch nichts, Martin - aber sagst Du mal, nur interessehalber, wozu Du die Handles brauchst?
Herzlich,
Tom
Tom
- komnick
- UDF-Programmierer
- Beiträge: 76
- Registriert: Mi, 04. Jun 2014 9:56
- Wohnort: Berlin
- Hat sich bedankt: 1 Mal
- Danksagung erhalten: 7 Mal
Re: Handles unter FOXDBE ermitteln
Hallo Tom,
in meinem Clipper-Code gibt es an hunderten Stellen einen Befehl, der mit Hilfe des Handles eine bereits geöffnete Datenbank kopiert. Der funktioniert auch unter Xbase, dort aber nur für per DBFDBE geöffnete Datenbanken (DBF und DBT), nicht für per FOXDBE geöffnete (DBF und FTP).
Die folgenden beiden Alternativen, die hinter dem Befehl stehende Funktion zu verändern, haben beide Nachteile:
Martin
in meinem Clipper-Code gibt es an hunderten Stellen einen Befehl, der mit Hilfe des Handles eine bereits geöffnete Datenbank kopiert. Der funktioniert auch unter Xbase, dort aber nur für per DBFDBE geöffnete Datenbanken (DBF und DBT), nicht für per FOXDBE geöffnete (DBF und FTP).
Die folgenden beiden Alternativen, die hinter dem Befehl stehende Funktion zu verändern, haben beide Nachteile:
- Wenn ich die Datenbank für das Kopieren wieder schließe, kann es sein, dass mich ein anderer User/Prozess am Wieder-Öffnen hindert, und dann muss ich an allen Programmstellen diesen Fall behandeln/abfangen, an denen der Befehl unter FOXDBE benutzt wird.
- Wenn ich einen anderen Weg des Kopierens wähle (z.B. DbExport()), dann taugt die Kopie nicht als "Sicherung", weil es sich bei der Kopie nicht mehr um das kopierte Original, sondern um eine neu aufgebaute Datenbank handelt (die z.B. auch eine andere Größe hat).
Martin
- Wolfgang Ciriack
- Der Entwickler von "Deep Thought"
- Beiträge: 2945
- Registriert: Sa, 24. Sep 2005 9:37
- Wohnort: Berlin
- Hat sich bedankt: 14 Mal
- Danksagung erhalten: 34 Mal
- Kontaktdaten:
Re: Handles unter FOXDBE ermitteln
Auf Betriebssystemebene kannst du auch geöffnete Datenbanken kopieren.
Viele Grüße
Wolfgang
Wolfgang
- HaPe
- 1000 working lines a day
- Beiträge: 996
- Registriert: So, 15. Nov 2015 17:44
- Wohnort: 71665 Vaihingen-Enz
- Hat sich bedankt: 17 Mal
- Danksagung erhalten: 15 Mal
Re: Handles unter FOXDBE ermitteln
Hallo Wolfgang !
Oben schrieb Martin:
Nur wenn die Datenbank/die Tabelle nicht exklusiv geöffnet ist.Auf Betriebssystemebene kannst du auch geöffnete Datenbanken kopieren.
Oben schrieb Martin:
Das spricht für mich, dass hier eine Tabelle exklusiv geöffnet wird... kann es sein, dass mich ein anderer User/Prozess am Wieder-Öffnen hindert, ...
--
Hans-Peter
Hans-Peter
- AUGE_OHR
- Marvin
- Beiträge: 12913
- Registriert: Do, 16. Mär 2006 7:55
- Wohnort: Hamburg
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 46 Mal
Re: Handles unter FOXDBE ermitteln
hi
Frage : wie sieht deine DbeSys aus
wird von einer anderen App ebenfalls auch die Dateien zugegriffen
ich "sehe" noch nicht den Zusammenhang von Handle und Memo bei FOXDBEkomnick hat geschrieben: ↑Fr, 05. Feb 2021 9:11 in meinem Clipper-Code gibt es an hunderten Stellen einen Befehl, der mit Hilfe des Handles eine bereits geöffnete Datenbank kopiert. Der funktioniert auch unter Xbase, dort aber nur für per DBFDBE geöffnete Datenbanken (DBF und DBT), nicht für per FOXDBE geöffnete (DBF und FTP).
Frage : wie sieht deine DbeSys aus
wird von einer anderen App ebenfalls auch die Dateien zugegriffen
gruss by OHR
Jimmy
Jimmy
- Tom
- Der Entwickler von "Deep Thought"
- Beiträge: 9394
- Registriert: Do, 22. Sep 2005 23:11
- Wohnort: Berlin
- Hat sich bedankt: 104 Mal
- Danksagung erhalten: 364 Mal
- Kontaktdaten:
Re: Handles unter FOXDBE ermitteln
DBF und FOX öffnen zwei Dateien, wenn eine Datei Memofelder enthält, und beide Dateien müssen (unterschiedliche) Dateihandles haben. Das kann man auch sehr anschaulich nachvollziehen, wenn man Tools wie FileMon mitlaufen lässt.ich "sehe" noch nicht den Zusammenhang von Handle und Memo bei FOXDBE
Aber - was meinst Du genau mit dem "nicht erkennbaren Zusammenhang", Jimmy?
Herzlich,
Tom
Tom
- AUGE_OHR
- Marvin
- Beiträge: 12913
- Registriert: Do, 16. Mär 2006 7:55
- Wohnort: Hamburg
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 46 Mal
Re: Handles unter FOXDBE ermitteln
hi,
das man ein Handle benötigt ist schon klar aber "wie" soll es das Problem lösen
---
gerade bei FoxDBE, wo man es "selbst" zusammen stellen muss, hab ich hier im Forum schon Sachen gesehen wie man es FALSCH macht.
Da werden Konstanten der ORDER Komponenten unter DATA zugeordnet so das dann "komische" Probleme auftauchen.
@Martin : poste doch bitte mal deine DbeSYS
IHMO wenn nicht "viele" das selbe Problem haben sollte man nachdenken ob es an "self" liegen könnte ...
ich meine den Zusammenhang mit Handles und Problemen bei öffnen/schliessen.
das man ein Handle benötigt ist schon klar aber "wie" soll es das Problem lösen
---
gerade bei FoxDBE, wo man es "selbst" zusammen stellen muss, hab ich hier im Forum schon Sachen gesehen wie man es FALSCH macht.
Da werden Konstanten der ORDER Komponenten unter DATA zugeordnet so das dann "komische" Probleme auftauchen.
@Martin : poste doch bitte mal deine DbeSYS
IHMO wenn nicht "viele" das selbe Problem haben sollte man nachdenken ob es an "self" liegen könnte ...
gruss by OHR
Jimmy
Jimmy