AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Fehler bei Neuerstellen von Paradox-Datenbank zur Laufzeit
Thema durchsuchen
Ansicht
Themen-Optionen

Fehler bei Neuerstellen von Paradox-Datenbank zur Laufzeit

Ein Thema von hacki · begonnen am 2. Jan 2003 · letzter Beitrag vom 2. Jan 2003
Antwort Antwort
hacki

Registriert seit: 15. Nov 2002
96 Beiträge
 
Delphi XE5 Professional
 
#1

Fehler bei Neuerstellen von Paradox-Datenbank zur Laufzeit

  Alt 2. Jan 2003, 08:01
Hallo,

hab da ein Problem in meiner Anwendung, die es Administratoren erlaubt, über ein spezielles Menü zur Laufzeit einzelne Datenbank-Dateien (Paradox-Datenbank) neu zu erstellen. Dazu deaktiviere ich zuvor eine Table-Komponente, die Zugriff auf die Datenbank hat, erstelle (per Update über SQL-Query-Komponente) die Datei neu und aktiviere die Table Komponente wieder.

Code:
  if( MainForm.DBUebungenExist ) then // existiert die Datei ?
  begin
   SaveActiveValue1 := MainForm.MasterTable.Active;
   MainForm.MasterTable.Active := False;          // deaktiviere Table

   FortschrittLabel.Caption := 'Lösche Uebungen.db';
   MainForm.DropTable( 'Uebungen.db' );  // Lösche per DROP TABLE
  end;

  DBProgressBar.Stepit;
  FortschrittLabel.Caption := 'Erstelle Uebungen.db';
  MainForm.CreateUebungenDB;          // Erstelle neu mit CREATE TABLE

  if( MainForm.DBUebungenExist ) then
  begin
   MainForm.MasterTable.Active := SaveActiveValue1; // aktiviere Table
  end;
Leider bekomme ich immer eine Exception, da anscheinend noch andere Table Komponenten die Uebungen.db im Gebrauch haben. Außerdem werden beim Deaktivieren der Table Komponente Routinen im Programm angesprungen, deren Ausführung ich mir zu dieser Zeit nicht erklären kann !???

Wie bekomme ich heraus, welche Komponente die Uebungen.db noch geöffnet halten ?

Kann mir jemand einen Tip geben ?

Danke und Gruß
Hacki
Es ist nicht gesagt, daß es besser wird, wenn es anders wird! Wenn es aber besser werden soll, muß es anders werden! ** There are 10 different types of people in this world; those who understand binary numbers and those who don’t !
  Mit Zitat antworten Zitat
Benutzerbild von MrSpock
MrSpock
(Co-Admin)

Registriert seit: 7. Jun 2002
Ort: Owingen
5.865 Beiträge
 
Delphi 2010 Professional
 
#2
  Alt 2. Jan 2003, 14:43
Hallo hacki,

poste doch bitte einmal die CreateUebungenDB Methode.

Ist denn sichergestellt, dass MasterTable tatsächlich auf die Tabelle zeigt, die mit CreateUebungenDB erstellt werden soll?

Wenn dem so ist, sollte mit dem Schließen sichergestellt sein, dass in diesem Prozess niemand mehr auf die Tabelle zugreift (sofern du keine 2. Instanz benutzt). Sonst könnte noch die Delphi IDE auf die Tabelle zugreifen, falls du Active bereits in der IDE auf True gesetzt hast.
Albert
Live long and prosper


MrSpock
  Mit Zitat antworten Zitat
Antwort Antwort


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 20:54 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz