Hallo Moombas
Vielen Dank für die Hilfe!
Ich habe unter Android die Überwachung der App ausgeschaltet. Das Problem bestand aber noch.
Ich denke, es hängt aber schon irgendwie damit zusammen, dass die App in eine Art Ruhezustand geht. Zeitlichen Zusammenhang konnte ich aber noch nicht feststellen.
Ich habe nun aber in die oben gezeigte SendReceive-Methode eine Protokollierug hinzugefügt. Nun läuft die App bereits eine halbe Stunde einwandfrei. AddComDebug fügt Text in ein TMemo hinzu - obwohl sich das TMemo-Feld nicht in einer anderen Tab befindet und nicht sichtbar ist.
Delphi-Quellcode:
LSocket.SendData(LBuffer);
CurrentIdx:=0;
for i := 0 to TimeOut div 25 do
begin
AddComDebug('Rcv start ');
ReceiveBuffer := LSocket.ReceiveData(25);
AddComDebug('Received bytes ' + IntToStr(length(ReceiveBuffer)));
if length(ReceiveBuffer) > 0 then
begin
move(ReceiveBuffer[0],InData[CurrentIdx],length(ReceiveBuffer));
CurrentIdx := CurrentIdx + length(ReceiveBuffer);
SetLength(ReceiveBuffer,0);
if CurrentIdx >= (ExpectedLength + 4) then
begin
result:=0;
Setlength(LBuffer,0);
ReceiveLength:= CurrentIdx;
AddComDebug('End send receive - OK ' + IntToStr(ReceiveLength));
exit;
end;
end;
End;
...snip
Beste Grüße
Geri