Вообщем основное приложение запускает Project1.exe программу которая находится в папке control методом :
...
ShellExecute(Handle, 'open', 'control\Project1.exe', nil, nil, SW_HIDE);
...
В свою очередь в Project1.exe прописано открыть файл который находится там же где и он сам.
Если запустить приложение Project1.exe прямо то все открывает работает. Ну а если запустить с основного приложения которая находится выше уровнем то возникает ошибка(не находит файл).
Можно обойтись в Project1.exe прописав абсолютный путь относительно главного приложения control/file.txt но правильно ли это? Опять таки если запустить напрямую то он его естественно не найдет. Абсолютный путь относительно дисков тоже не вариант.