Hi und erstmal herzlich willkommen in der
DP
Das was Du brauchst sind relative Pfade. Um die zu ermitteln kannst Du einfach den Pfad zur .exe ermitteln, die gestartet wurde. Am einfachsten geht das, wenn Du mit die Funktion ParamStr(0) aufrufst. Die gibt Dir den absoluten Pfad (Laufwerk, Ordner, Name der Exe) Deiner Applikation zurück. Da Dich hier nur der Pfad interessiert kannst Du auf diesen String noch die Funktion ExtractFilePath (enthält dann schon den abschließenden Backslash) aus der
Unit SysUtils anwenden.
Mit
Delphi-Quellcode:
var pfadZurExe: String;
begin
pfadZurExe := ExtractFilePath(ParamStr(0));
...
end;
erhälst Du dann den Pfad zur Exe. Zu der Datei, die Du laden möchtest brauchst Du jetzt nur noch den relativen Pfad zu ergänzen. Liegt z.B. die Datei "A.mp3" im gleichen Ordner, dann nimmst Du
Delphi-Quellcode:
var pfadZurExe: String;
begin
pfadZurExe := ExtractFilePath(ParamStr(0)) + 'A.mp3';
// bei Unterordnern entsprechend
pfadZurExe := ExtractFilePath(ParamStr(0)) + 'Subfolder\Subsubfolder\A.mp3';
Gruß Der Unwissende