![]() |
Re: BDE hängt!
Ergänz mal eine gesonderte Close-Funktion in deiner DLL. Hatte auch mal den Probleme wenn die DB-Verbindung erst beim finalization der Units bzw. beim Destruktor der Units geschlossen wurde. Hier wars aber da in meinem Fall die Screen-Instanz nicht mehr vorhanden war.
|
Re: BDE hängt!
Die TTable hab ich natürlich geschlossen. (Wenn sie offen bleibt macht's aber auch keinen Unterschied.)
Oder meinst du eine andere Close-Funktion? |
Re: BDE hängt!
Zitat:
|
Re: BDE hängt!
TDatabase verwende ich gar nicht.
Hab's aber mal ausprobiert und eine Instanz erzeugt, macht (ja genau) keinen Unterschied. Aber nochmal die Frage nach den LCK-Dateine im DB-Verzeichnis. Ist das normal, dass hier auch PARADOX.LCK und PARADOX.LCK liegen, zusätzlich zu denen im PrivateDir? |
Re: BDE hängt!
Zitat:
|
Re: BDE hängt!
Hallo,
ich würde das DB-Verzeichnis mal auf einen anderen Rechner legen, und in der Systemsteuerung(Computerverwaltung, Freigaben) mir die geöffneten Dateien ansehen. Lokal geht es auch über SysInternals (Processviewer) Heiko |
Re: BDE hängt!
Wie kann ich TTable auf TDatabase umstellen? Die gleichnamige Eigenschaft ist doch readonly.
Und was heisst rechtzeitig? |
Re: BDE hängt!
Hallo
TDataBase.Directory auf dein Verzeichnis setzen oder AliasName auf den BDE-Alias und bei allen TTable DataBaseName auf TDataBase.DataBaseName Ich denke aber, bei Paradox-Tabellen nützt das nicht viel, die Tabellen werden bei einem TDataBase.Connected=False (Close, oder was immer) nicht geschlossen. Es käme auf einen Test an. Das kannst du aber auch über mein obiges Posting machen. Heiko |
Re: BDE hängt!
TDatabase war über DatabaseName bereits richtig verknüpft und auch geschlossen.
Die LCK-Dateien kommen mir aber immer noch komisch vor. (Wenn das Problem überhaupt hier liegt.) In OnShow des Hautpfensters, das selber keine BDE-Komponenten hat, setze ich Session.PrivateDir. PDOXUSRS.LCK wird auch sofort dort angelegt. Soweit OK. Ausserdem wird dort TDatabase instanziiert.
Delphi-Quellcode:
Erst bei Bedarf werden Formulare kreiert.
Session.NetFileDir := path+'NET';
Session.PrivateDir := ExtractFilePath(ParamStr(0))+'CLIENT'; globalDatabase := TDatabase.Create(nil); with globalDatabase do begin databaseName := 'MyDB'; DriverName := 'STANDARD'; globalDatabase.Params.Add('PATH='+path); connected := true; end;
Delphi-Quellcode:
In OnShow eines anderen Formulars wird dann eine TTable geöffnet. Jetzt erscheint auch eine PDOXUSRS.LCK im DB-Verzeichnis.
object MyTab: TTable
DatabaseName = 'MyDB' TableName = 'DATA.DB' object DataField1: TStringField FieldName = 'Field1' Size = 6 end end Soll das so sein?? |
Re: BDE hängt!
Ja,
damit Paradox feststellen kann, ob eine Tabelle exclusiv geöffnet werden kann, wird auch das blosse Öffnen einer Tabelle protokolliert (in ebend jeder LCK-Datei). Heiko |
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:16 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