![]() |
Datenbank: DBase • Zugriff über: BDE
"Table is read only"
Hallo,
beim exklusiven öffnen einer Datenbank mit meinem Delphi-Programm (zur Index-Erstellung) bekomme ich den Fehler "Table is read only". Doch dieser Fehler tritt scheinbar nur auf nicht-WinXP-Systemen auf, deshalb ist der Grund für mich schwer nachzuvollziehen. Hatte jemand schon einmal ein ähnliches Problem bzw. kann mir helfen? Danke Gruß, Andreas |
Re: "Table is read only"
wie sieht dein Code aus?
Sonst würde ich einefal eine Logdatei mit schreiben. Was wann gemacht wurde, um die Fehler einzugrenzen. Greifst du auf irgendwelche DLL zu? |
Re: "Table is read only"
nach einigem ausprobieren habe ich herausgefunden, dass der Fehler genau bei der mit dem Pfeil gekennzeichneten "AddIndex"-Anweisung auftritt.
Delphi-Quellcode:
Danke,
try
newTable1.Active := true; except on EDBEngineerror do begin newTable1.Exclusive := true; Check(DbiRegisterCallBack(nil, cbINPUTREQ, LongInt(0), sizeof(CBInputDesc), @cbinfo, @myfunc)); --->>> newTable1.AddIndex('MEBO_NR', 'MEBO_NR', []); Check(DbiRegisterCallBack(nil, cbINPUTREQ, 0, sizeof(CBInputDesc), nil , nil)); newTable1.Exclusive := false; end; end; Gruß Andreas |
Re: "Table is read only"
was aber nicht bedeutet, dass ich ihn beseitige kann :-( hab mittlerweile einiges geändert, sodass der Quellcode nun so aussieht:
Delphi-Quellcode:
das ändert aber nichts an dem Problem. Kann es damit zu tun haben, dass newTable1 kein "richtiges" Steuerelement ist sondern durch ein
try
newTable1.Open; except on EDBEngineerror do begin newTable1.Exclusive := true; newTable1.ReadOnly := FALSE; Check(DbiRegisterCallBack(nil, cbINPUTREQ, LongInt(0), sizeof(CBInputDesc), @cbinfo, @myfunc)); newTable1.AddIndex('MEBO_NR', 'MEBO_NR', []); Check(DbiRegisterCallBack(nil, cbINPUTREQ, 0, sizeof(CBInputDesc), nil , nil)); newTable1.Exclusive := false; end; end;
Delphi-Quellcode:
erzeugt wird?
newTable2 := TTable.Create(nil);
|
Re: "Table is read only"
so :mrgreen: mal wieder alles selbst gelöst, aber für andere will ich hier noch kurz die Lösung festhalten: Ich hab einfach auf den fraglichen PCs die alte BDE 5.0 installiert :-)
Ich glaube ich sollte wirklich Tutorials schreiben... Wenn ich bloß Zeit hätte *gg* Gruß Andreas |
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:08 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 by Thomas Breitkreuz