AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Arbeitspfade in Delphi

Ein Thema von ak1 · begonnen am 3. Mai 2004 · letzter Beitrag vom 3. Mai 2004
Antwort Antwort
ak1

Registriert seit: 12. Okt 2003
243 Beiträge
 
#1

Arbeitspfade in Delphi

  Alt 3. Mai 2004, 11:05
Hallo Leute,

ich habe ein Projekt bei dem ich verschiedene Unterordner mit lokalen Tabellen bearbeite. Wenn ich das Programm über die EXE starte, dann werden die Tabellen auch korrekt aufgerufen. Wenn ich nun aber dieses Programm über die Delphi-IDE starte, dann stimmen die Pfade nicht mehr überein, da Delphi den "Quelltext"-Ordner als Startordner nimmt. Wie kann ich Delphi sagen, dass es den Ordner mit der Exe als Startordner nehmen soll (der Ausgabeordner (Projekt->Optionen->Verzeichnisse/Bedingungen))? Ich könnte zwar allen Tabellen einen tablename über "extractfiledir(Application.exename)+'\...'" übergeben, das wäre aber in meinem Fall zu aufwändig.


Gruß
  Mit Zitat antworten Zitat
mumu

Registriert seit: 28. Okt 2003
Ort: Bamberg
519 Beiträge
 
#2

Re: Arbeitspfade in Delphi

  Alt 3. Mai 2004, 11:13
setzte einfach den Pfad mit "setcurrentdir".
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#3

Re: Arbeitspfade in Delphi

  Alt 3. Mai 2004, 11:13
Zitat von ak1:
Ich könnte zwar allen Tabellen einen tablename über "extractfiledir(Application.exename)+'\...'" übergeben,
Dieser Satz sagt mir, dass du es bisher nicht so machst. Wie findet deine Anwendungen die Dateien die es braucht? Eine angbe der Datein ohne explizite Angabe von relativen Pfaden ist eine tickende Zeitbombe. Einmal das Verzeichnis mit einem Öffnen- oder Speicherndialog geändert und das war es dann für deine anwendung mit dem Finden der benötigten Dateien.

Und was ist bitte an "extractfiledir(Application.exename)+'\...'" aufwendig? Die 15 Zeichen mehr eintippen kann es wohl nicht sein, wenn man damit eine stabile Anwendung bekommt.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#4

Re: Arbeitspfade in Delphi

  Alt 3. Mai 2004, 11:16
Zitat von mumu:
setzte einfach den Pfad mit "setcurrentdir".
Argh, nein. Das kann er ja dann jedes mal machen, wenn er den Pfad braucht. Und der Benutzer wird sich wundern, wenn er eine Datei mit dem Dateiöffnen-Dialog in einem anderen Verzeichnis geöffnet hat und er beim nächsten Mal sich wieder durch alle Verzeichnisse durchklicken darf.

Die einzige, in diesem Fall, richtige Methode ist das Arbeiten mit relativen Pfaden.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
mumu

Registriert seit: 28. Okt 2003
Ort: Bamberg
519 Beiträge
 
#5

Re: Arbeitspfade in Delphi

  Alt 3. Mai 2004, 11:22
ja luckie, das ist mir schon klar. ich würde das auch nicht so machen, aber vielleicht gibt es ja irgendeinen grund dafür das er das unbedingt so lösen will und da denke ich ist setcurrentdir die einfachste lösung...
  Mit Zitat antworten Zitat
ak1

Registriert seit: 12. Okt 2003
243 Beiträge
 
#6

Re: Arbeitspfade in Delphi

  Alt 3. Mai 2004, 11:36
@Luckie,
das sind zwei größere Anwendungen, die jetzt zusammengeführt werden. Da ist der Aufwand des manuellen Schreibens sehr hoch. Ausserdem wird beim Start des Programms eine SQL-Anweisung aus einer INI-DFatei gelesen, da kann ich nicht viel machen, war aber auch nicht meine Idee.
Das Verändern der Pfade durch einen "Öffnen" oder "Speichern"-Dialog kann ich verhindern indem ich im OI des jeweiligen Dialoges unter Options das "ChangeDir" auf false setze.
Die Zuweisung der Pfade in den Querys ist bis jetzt so: "select * from Tabellen\tabelle3.db" und das geht ja auch wenn ich die exe starte, da muss es doch eine Möglichkeit geben der Delphi-IDE den gleichen Startordner zu verpassen.


Gruß
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#7

Re: Arbeitspfade in Delphi

  Alt 3. Mai 2004, 12:12
Und wenn du die anwendung weitergibst hast du den Schlamassel. Bzw. den hast du schon auf deinem System. Wenn du es also richtig machen willst, hilft da wohl nichts erstmal alles manuell von Hand zu ändern.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
ak1

Registriert seit: 12. Okt 2003
243 Beiträge
 
#8

Re: Arbeitspfade in Delphi

  Alt 3. Mai 2004, 12:35
@Luckie,

wenn ich das Programm weitergebe, dann kann ich doch im Installshieldexpress (Version von Delphi 7) das Arbeitsverzeichnis angeben, welches dann auch das Startverzeichnis ist. Da wird dann die "select * from Tabellen\tabelle3" Abfrage als "select * from Startverzeichnis\Tabellen\tabelle3" interpretiert. So ist das auch wenn ich meine exe starte. Aber die Delphi-IDE interpretiert diese Anweisung als "select * from Quelltext\Tabellen\Tabelle3" und wundert sich, dass es diese Tabelle nicht gibt.
Da muss es doch eine Einstellmöglichkeit geben.


Gruß
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#9

Re: Arbeitspfade in Delphi

  Alt 3. Mai 2004, 12:39
Kannst du, aber was wenn es der Anwender aus was für einen Grund auch ändert? Außerdem sollte ein anderes Program, aus was für einen Grund auch immer, SetCurrentDirectory aufrufen, was übrigens sehr unfein ist, findet dein Programm wieder nichts. Wie ich es auch drehe und wende, so wie du es bisher machst, hast du da eine tickende Zeitbombe programmiert.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
ak1

Registriert seit: 12. Okt 2003
243 Beiträge
 
#10

Re: Arbeitspfade in Delphi

  Alt 3. Mai 2004, 13:12
Hast ja recht Luckie...

Übrigens habe ich versehentlich in den Debugger-Optionen den Haken bei "integrierte Fehlersuche" rausgenommen, dadurch hat Delphi wohl nur im Queltextordner gesucht. Das war es wohl


Gruß
  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 17:32 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