AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Tabellen mit fremden NSX-Index öffnen und lösen
Thema durchsuchen
Ansicht
Themen-Optionen

Tabellen mit fremden NSX-Index öffnen und lösen

Ein Thema von PASST · begonnen am 15. Aug 2005 · letzter Beitrag vom 15. Aug 2005
 
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#4

Re: Tabellen mit fremden NSX-Index öffnen und lösen

  Alt 15. Aug 2005, 16:53
Zitat von PASST:
Dh. in der BDE wird u.a. dieses Byte #28 am Anfang eingelesen, um festzustellen mit welchen Bedingungen die Tabelle geöffnet werden muss. Da es sicherlich noch weitere Bedingungen gibt, die beim Öffnen einer dBase-Tabelle beachtet werden müssen, wie kann ich diese in Delphi vorab abfragen? Gibt es da schon vorgefertigte Routinen seitens Delphi?

Meine Idee dazu ist: Im DataSet.BeforeOpen-Ereignis diverse DBErrors vorab abzufangen und auszuwerten. Die Frage bleibt nur welche?
Wenn die BDE die dBase-Datei in der Mache hat, ist es zu spät.
Die BDE ist auch nicht flexibel genug, um hier irgenwie einzugreifen.
Du kannst im BeforeOpen Ereignis prüfen, ob diese Byte #28 <> 0 ist.
Falls ja, könnte man die dBase-Datei kurz vorher patchen:
Delphi-Quellcode:
var
   fs : TfileStream;
   oldbyte , newbyte : char;
begin
   fs : = TfileStream('test.dbf', fmReadWrite or fmShareDenyNone);
   try
     fs.Seek(28);
     fs.Readbuffer(oldbyte, 1);
     newbyte := #0;
     fs.Seek(28);
     fs.WriteBuffer(newByte, 1);
   finally
     fs.Free;
  end;
end;
Das ist alles sehr unsauber, aber dBase war ja noch nie eine richtige Datenbank und du musst
jetzt das völlig veraltete Design ausbaden....

Du solltest erstmal prüfen, ob diese Byte an Position 28 überhaupt die Ursache deiner Probleme sind.
(mit Hexeditor nachschauen, was drin steht, patchen und testen, ob die BDE dann damit klarkommt)
Andreas
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:29 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz