arbeitet TPicture->LoadFromFile(...) mit relativen Pfaden?



  • Hallo Gemeinschaft,

    wenn ich mit TImage->Picture->LoadFromFile(..) ein *.bmp anzeigen lassen will, muss ich dann einen absoluten Pfad angeben:

    TImage1->Picture->LoadFromFile(ExtractFilePath(Application->ExeName)+"\SRC\\Beispiel.bmp");
    

    oder reicht ein relativer Pfad, weil TPicture->LoadFromFile(..) immer vom Anwendungspfad ausgehend lädt:

    TImage1->Picture->LoadFromFile("\\SRC\\Beispiel.bmp");
    

    ??? 😕

    MfG



  • Wenn Du das Arbeitsverzeichnis nicht änderst, kannst Du relative Pfade verwenden. Auf der sicheren Seite bist Du aber nur mit den absoluten Pfaden. Ein Datei-Dialog reicht schon, um den relativen Pfad unbrauchbar zu machen.



  • Das hatte ich befürchtet... Danke!



  • Ich leg mir in solchen Fällen eine private Variable im MainForm an, die den Basispfad beinhaltet und setze den im Konstruktor. Wenn ich den Pfad auch in anderen Formularen brauche, mache ich noch eine public-Getter dazu (bo als Eigenschaft oder Methode ist prinzipiell egal).

    Dann kann man den Basispfad im Nachhinein ohne Probleme auf ein anderes Verzeichnis umstellen.


Log in to reply