Danke Euch beiden!
Ich habe es jetzt so gelöst. Vielleicht auch für andere interessant, die das Problem haben. Es funktioniert, auch wenn ich den Datasnapserver zwischendurch neu starte und die App ist noch aktiv.
Code:
procedure TPONClientModule.DSRestConnection1BeforeExecute(Sender: TObject);
begin
DSRestConnection1.OnBeforeExecute:=nil;
if DSRestConnection1.SessionID<>'' then begin
try
DSRestConnection1.TestConnection([toNoLoginPrompt]);
except
DSRestConnection1.SessionID:='';
end;
end;
DSRestConnection1.OnBeforeExecute:=DSRestConnection1BeforeExecute;
end;
Dass ist die SessionID<>'' vorher abprüfe, habe ich gemacht, da der Login-Vorgang sonst nicht korrekt funktioniert. Und so weiß ich, dass ich mich bereits erfolgreich eingeloggt habe, denn sonst hätte ich keine SessionID.