Ergebnis 1 bis 4 von 4

Thema: [Delphi 7]TTable Databasename

  1. #1

    [Delphi 7]TTable Databasename

    Ich habe angefangen ein Programm zu entwickel, welches auf Datenbank-tabellen bassiert. nun habe ich folgende Ordnerstruktur:
    Hauptordner (hier liegt die Projektdatei, sprich exe und co)
    - Data (hier liegen die Units)
    - Bin (hier liegen die *.db datein)

    nun habe ich das Problem, das ich von einer Unit aus über die TTable auf eine Tabelle zugreifen möchte. Nun hab ich mich belesen, und herrausgefunden, das der Pfad der Tabele(n) in die Eigenschaft Databasename rein gehöhrt. Dort sind bereits 3 Dinge angegeben. Wenn ich jedoch über normale, relative Pfade (../bin oder nur bin) bekomm ich eine fehlermeldung. Was muss unter diese Eigenschaft, damit ich auf die Tabellen zugreifen kann?

    In diesem Sinne Borky

    Ok habs mittlerweile seber hinbekommen, war nur ein falsches gesetztes zteichen (\ stat/)

    Geändert von Borky (16.06.2007 um 15:19 Uhr)

  2. #2
    In "bin" aka "Binary" die Database statt im naheliegenden "data" ist dumm. Quellcodes oder Units in "src" oder "source", Datenbank in "data" oder "database" und binäre Anwenugnen aka. Exe/Elf-Datein in "bin" bzw. "binary".

    ach ja und wenn du in Delphi relative Pfade nimmst hast du was falsch gemacht. Mach das _niemals_! Mit ExtractFilePath(Application.ExeName) oder NonVCL ExtractFilePath(paramstr(0)) bekommst du den Pfad der laufenden Exe (mit \ am Ende). Da kannst du dann relativ zu arbeiten. Ohne das ist es Selbstmord und kann ganz schön schief gehen wenn ein User eine Verknüpfung zum Programm falsch erstellt.

  3. #3
    du willst mir doch nicht erzählen, das die pfade relativ zur verknüpfung und nicht relativ zum ordner der eigentlichen exe sind o_O

  4. #4
    Zitat Zitat von Freierfall Beitrag anzeigen
    du willst mir doch nicht erzählen, das die pfade relativ zur verknüpfung und nicht relativ zum ordner der eigentlichen exe sind o_O
    Die Pfade sind relativ zu dem in der verknüpfung angegebenem Anwendungspfad. Unter Windows ist es möglich die exe in einem beliebigen Verzeichnis zu starten, genau wie bei Linux und Co.
    Einfaches Beispiel: ls (unter Windows dir, wobei dir hier kein Programm ist unter Windows, deswegen hier das Linux-Beispiel).
    Das Programm liegt unter /bin/ls
    Und ich bin im Verzeichnis /home/bg und will den Inhalt meines Ordners "Pictures" wissen und gebe "ls ./Pictures" ein. Was gibt er dann aus? /bin/Pictures oder /home/bg/Pictures? letzteres natürlich. Relative Angaben beziehen sich auf den Ort von wo es ausgeführt wird (bei Verknüfungen unter Windows "Anwendungspfad") nicht nach dem Ort der Anwendung ("Exe"). Klar, bei grafischen Anwendungen ist es weniger Problematisch, aber ich hab auch schon User gesehen die einfach mal ein Programm woanders hinkopiert haben und dann fehler bei Verknüpfungen gemacht haben. Und wieso nicht auf Nummer sicher gehen wenn es so einfach ist?

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •