AGB  ·  Datenschutz  ·  Impressum  







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

Opendialog und Verzeichnisse ?

Ein Thema von Hansa · begonnen am 19. Sep 2009 · letzter Beitrag vom 19. Sep 2009
Antwort Antwort
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#1

Opendialog und Verzeichnisse ?

  Alt 19. Sep 2009, 19:46
Moin,

habe hier einen seltsamen Effekt : es soll ein JPG in ein TImage geladen werden. Die JPGs sind dabei im Unterordner "images".

Delphi-Quellcode:
ShowMessage('a '+GetCurrentDir+'*'+dlgBildLaden.InitialDir+'*');
  if dlgBildLaden.Execute then begin
ShowMessage('b '+GetCurrentDir);
    st := ExtractFileName(dlgBildLaden.FileName);
    DM.DS.Edit;
    DM.DS.FieldByName ('BILDDATEINAME').AsString := st;
    if StrVorhanden(st) then
      imgBild.Picture.LoadFromFile(st);
  end;
ShowMessage('c '+GetCurrentDir);
Die Showmessages zeigen mir nun folgendes an : a : Verzeichnis, wo die EXE ist. Sofern Datei ausgewählt wurde, also execute, zeigt b : ProgVerz\images. Bei c steht dann, je nachdem, das von b oder c. Soweit kann man das noch nachvollziehen, denn in dem Dialog war als InitialDir "images" im OI.

Zu verhindern, dass einfach so das Programm-Verzeichnis gewechselt wird, das habe ich bereits gefunden : bei Options gibt es ofNoChangeDir und das ist standardmässig false. Da das aber jetzt schon hier steht : bevor ich die Einstellung im OI gefunden hatte, habe ich den OpenDialog gelöscht und neu auf die Form gelegt. Sogar unter anderem Namen, falls noch irgendwo was im Source steht. 8) Woher weiß der leere Dialog jetzt aber, dass ich in einem bestimmten Unterverzeichnis was suchen will und, dass es sich hierbei ausgerechnet um den Ordner "images" handelt ?
Gruß
Hansa
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke
Online

Registriert seit: 10. Jun 2003
Ort: Berlin
9.650 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Opendialog und Verzeichnisse ?

  Alt 19. Sep 2009, 19:57
Dass durch viele Faktoren das Arbeitsverzeichnis geändert wird, ist ja klar. Genau das ist ja der Grund, weshalb man keine relativen Verzeichnisangaben benutzen sollte. (Es sei denn man weiß ganz ganz genau was man tut.)

Solange man immer absolute Verzeichnisangaben benutzt, z.B. das der Exe plus einem angehängten Unterverzeichnis, gibt es auch damit keine Probleme. Siehe auch mein entsprechender Eintrag in der Library im DF.

// EDIT:
Ach ja: Zur Frage: Windows merkt sich das für die einzelnen Programme...
Genau deshalb sind relative Verzeichnisangaben ja so tückisch...
Sebastian Jänicke
AppCentral
  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 11:58 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