![]() |
DB-Programm auf anderem PC ausführbar machen...
Hallo Liebe Gemeinde,
ich möchte mein DB-Verwaltungsprogramm gerne auf einem anderen PC ausführbar machen. Irgendwie komme ich aber mit "ExtractFilePath(ParamStr(0));" irgendwie nicht zurande. Ich benutze eine TurboDB "db.tdbd", die im Ordner /db in meinem Programmverzeichnis liegt. Wo muss ich denn "ExtractFilePath(ParamStr(0));" genau im Code anwenden? Vielen Dank schonmal im Voraus! |
Re: DB-Programm auf anderem PC ausführbar machen...
Zitat:
|
Re: DB-Programm auf anderem PC ausführbar machen...
das habe ich ja auch, aber eben nur lokal für meinen PC. Wenn das Programm aber auf einem anderen PC ausgeführt wird, dann wird meine "db.tdbd" im Ordner /db aber nicht gefunden, da der andere PC einen ganz anderen Laufwerksbuchstaben und Programmpfad hat, in dem das Programm gestartet wird.
ich starte das Programm z.B. im Ordner E:\Delphi-Prgs\, der andere PC aber aus dem Ordner C:\Programme\ProgrammXYZ\ und dann wird die DB nicht gefunden. Das mein ich damit :) |
Re: DB-Programm auf anderem PC ausführbar machen...
Deshalb mußt du den Pfad ja mit obengenannter Funktionbei Programmstart ermitteln, in die Komponenete (kombiniert mit Dateinamen) eintragen.
|
Re: DB-Programm auf anderem PC ausführbar machen...
Ich habe das jetzt so gemacht:
Delphi-Quellcode:
aber bekomme eine Fehlermeldung:
procedure Tfrm_main.FormCreate(Sender: TObject);
var verz: string; begin verz := ExtractFilePath(ParamStr(0))+'/db/'; TdbTable1.Active := False; try TdbTable1.DatabaseName := verz; TdbTable1.TableName := 'db.tdbd'; TdbTable1.Active := True; except MessageBeep(0); ShowMessage('Die Tabelle db.tdbd befindet' + #10#13 +'sich nicht im angegebenen Verzeichnis!') end end; Im Projekt ist Exception der Klasse ETdbEngine aufgetreten. Meldung:'Code = 134, Description ='. Proyess wurde angehalten. was mach ich da falsch? *grübel |
Re: DB-Programm auf anderem PC ausführbar machen...
Führe doch mal Einzelne Anweisungen mit F7 aus, dann siehst Du wo es Probleme gibt.
Uwe |
Re: DB-Programm auf anderem PC ausführbar machen...
TdbTable1.Active := True;
ist falsch sagt der code explorer |
Re: DB-Programm auf anderem PC ausführbar machen...
Delphi-Quellcode:
Backslash ist bereits Teil des Pfades
verz := ExtractFilePath(ParamStr(0))+'db/';
|
Re: DB-Programm auf anderem PC ausführbar machen...
kommt trotzdem die gleiche fehlermeldung.
habe hier nochmal meinen gesamten code:
Delphi-Quellcode:
also im moment weiß ich nicht, wo der fehler liegt. im OI habe ich die Eigenschaft "DatabaseName" leer gelassen, weil diese eigenschaft ja per variable "verz" und TdbTable1.TableName := 'db.tdbd' bestimmt werden soll.
unit main;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls, StdCtrls, Mask, DBCtrls, DB, TdbLicense, TdbDataSet, Grids, DBGrids, Buttons; type Tfrm_main = class(TForm) DBEdit1: TDBEdit; Image1: TImage; TdbTable1: TTdbTable; DataSource1: TDataSource; DBEdit2: TDBEdit; DBEdit3: TDBEdit; DBEdit4: TDBEdit; DBEdit5: TDBEdit; DBEdit6: TDBEdit; DBNavigator1: TDBNavigator; DBEdit7: TDBEdit; DBEdit8: TDBEdit; DBEdit9: TDBEdit; DBEdit10: TDBEdit; DBEdit11: TDBEdit; DBEdit12: TDBEdit; DBGrid1: TDBGrid; DBEdit13: TDBEdit; BitBtn1: TBitBtn; DBEdit14: TDBEdit; DBCheckBox1: TDBCheckBox; procedure BitBtn1Click(Sender: TObject); procedure FormCreate(Sender: TObject); private { Private-Deklarationen } public { Public-Deklarationen } end; var frm_main: Tfrm_main; implementation uses u_qr1; {$R *.dfm} procedure Tfrm_main.BitBtn1Click(Sender: TObject); begin liste.TdbQuery1.SQL.Clear; liste.TdbQuery1.SQL.Add('SELECT * FROM antragsgegner WHERE ID =' + DBEdit1.Text); showmessage(liste.TdbQuery1.SQL.text); liste.TdbQuery1.Open; liste.preview; end; procedure Tfrm_main.FormCreate(Sender: TObject); var verz: string; begin verz := ExtractFilePath(ParamStr(0))+'db/'; TdbTable1.Active := False; try TdbTable1.DatabaseName := verz; TdbTable1.TableName := 'db.tdbd'; TdbTable1.Active := True; except MessageBeep(0); ShowMessage('Die Tabelle db.tdbd befindet' + #10#13 +'sich nicht im angegebenen Verzeichnis!') end end; end. was mach ich da falsch? :cry: |
Re: DB-Programm auf anderem PC ausführbar machen...
Was für ein Fehler wird genau angezeigt? (GGf Exception-Handler deaktivieren)
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:54 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