Ach Mist, man soll einfach nicht Emulatoren vertrauen. Auf echter Hardware liefert Dgetpath() auch unter TOS 2.06 einen leeren String zurück.
Zu 1ST1:
Ich mache den Aufruf der Programme in etwa so:
short appl_type; /* 0=TOS, 1=GEM, anhand der Dateiendung */
short win;
long rc;
shel_write(1, appl_type, 0, (char*)program, param);
wind_set(0, WF_NEWDESK, 0, 0, 0, 0);
/* alle Fenster schließen */
do {
short dummy;
wind_get(0, WF_TOP, &win, &dummy, &dummy, &dummy);
if (win > 0) {
wind_close(win);
wind_delete(win);
}
} while (win > 0);
rc = Pexec(0, program, param, env);
shel_write(0, 1, 0, "", "\0\0");