Einzelnen Beitrag anzeigen

marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#13

Re: DB-Programm auf anderem PC ausführbar machen...

  Alt 8. Feb 2007, 08:14
Guten Morgen,

Backslash heißt der nach links gekippte Schrägstrich und der wird im Windows Dateisystem verwendet. Aus bestimmten Gründen (z.B. Portabilität) schreibt man ihn nur selten selbst und verwendet nach Möglichkeit die Funktion IncludeTrailingPathDelimiter().

Werden Datenbanken zur Laufzeit konfiguriert, dann werden die zugehörigen Dataset-Komponenten (Table, Query) im geschlossenen Zustand erzeugt - deshalb musst Active nicht erst auf False gesetzt werden. Das würde auch nicht mehr helfen, weil ja bereits ein Zugriff auf eine nicht vorhandene Datenbank erfolgt wäre.

Wenn du den Speicherort (Verzeichnis) deiner Datenbank öfter (z.B. für Queries) benötigst, dann würde ich ihn mir in einer globalen Variable merken und nicht jedesmal neu bestimmen.

Die Steuerzeichenfolge zum Trennen von Textzeilen ist #13#10 oder besser sLineBreak.

Wenn in einer Query ein Tabellenname unbekannt ist, dann musst du mal genau hinschauen - in der Regel gibt es dann dieses Datenbankobjekt auch nicht, meistens weil du dich verschrieben hast oder die Datenbank noch leer ist.

Delphi-Quellcode:
resourcestring
  S_RELDBFOLDER = 'db';
  S_DBNAME = 'db.tdbd';
  S_DBNOTFOUND = 'Datenbank nicht gefunden:'#13#10'%s';

procedure ShowError(msg: string);
begin
  if not QuietMode then
    MessageBeep(0);
  ShowMessage(msg);
end;

procedure Tfrm_main.FormCreate(Sender: TObject);
begin
  self.DatabaseName := IncludeTrailingPathDelimiter(
      ExtractFilePath(ParamStr(0)) + S_RELDBFOLDER) + S_DBNAME;
  try
    TdbTable1.DatabaseName := self.DatabaseName;
    TdbTable1.Open;
  except
    ShowError(Format(S_DBNOTFOUND, [self.DatabaseName]));
  end
end;
Grüße vom marabu
  Mit Zitat antworten Zitat