자유롭게 질의 및 응답을 할 수 있는 게시판입니다. 개발자 여러분의 답변이 큰 도움이 됩니다.
- 제품설치/등록 오류 문의: 설치/등록 Q&A 이용 (제품 구매 고객 한정)
Delphi 안드로이드 8.0이상 즉 신형 스마트폰에서 form의 SaveState는 왜 안먹을까요?
2019.01.06 23:27
본 게시판은 개발자들이 자유롭게 질문과 답변을 공유하는 게시판입니다.
* 따라서 최대한 정중하게 질문을 올려 주세요.
* 질문을 상세히 작성해 주실 수록 좋은 답변이 올라 옵니다.
* 다른 분들도 참고할 수 있도록 결과 댓글 필수(또는 감사 댓글)
(결과 댓글을 달지 않는 경우 다음 질문에 대한 답변이 달리지 않는 불이익이 있을 수 있습니다.)
-----------------------------------------------------------------------------------------------
안드로이드 버전 8.0 이상에서는 아래의 코드가 먹질 않습니다.
그 아래로는 잘됩니다.
즉 구형 스마트폰에서는 저장 루틴이 잘먹는데 최신형에서는 저장이 되질 않습니다.
그러나 불러오는 것은 되는 것 같습니다.
빌드는 델파이XE 10.3리오로 했습니다.
갤럭시4와 노트5에서는 저장도 잘되고 불어오기도 잘되는데
안드로이드 8.1.0인 LG VtingQ 펜타에서는 저장이 되질 않습니다.
불러오기는 되는 것 같아요.
높은 버전에서 특정한 폼값이 변하는 것은 어떻게 저장해야한가요?
procedure TForm1.FormCreate(Sender: TObject);
var
R: TBinaryReader;
begin
if SaveState.Stream.Size > 0 then
begin
// Recover previously typed text in Edit1 control.
R := TBinaryReader.Create(SaveState.Stream);
try
Edit1.Text := R.ReadString;
finally
R.Free;
end;
end;
end;
procedure TForm1.FormSaveState(Sender: TObject);
var
W: TBinaryWriter;
begin
SaveState.Stream.Clear;
// Current state is only saved when something was edited.
// If nothing has changed, the state will be removed this way.
if Edit1.Text.Length > 0 then
begin
// Save typed text in Edit1 control.
W := TBinaryWriter.Create(SaveState.Stream);
try
W.Write(Edit1.Text);
finally
W.Free;
end;
end;
end;
댓글 0
Delphi 안드로이드 8.0이상 즉 신형 스마트폰에서 form의 SaveState는 왜 안먹을까요?
2019.01.06 23:27
본 게시판은 개발자들이 자유롭게 질문과 답변을 공유하는 게시판입니다.
* 따라서 최대한 정중하게 질문을 올려 주세요.
* 질문을 상세히 작성해 주실 수록 좋은 답변이 올라 옵니다.
* 다른 분들도 참고할 수 있도록 결과 댓글 필수(또는 감사 댓글)
(결과 댓글을 달지 않는 경우 다음 질문에 대한 답변이 달리지 않는 불이익이 있을 수 있습니다.)
-----------------------------------------------------------------------------------------------
안드로이드 버전 8.0 이상에서는 아래의 코드가 먹질 않습니다.
그 아래로는 잘됩니다.
즉 구형 스마트폰에서는 저장 루틴이 잘먹는데 최신형에서는 저장이 되질 않습니다.
그러나 불러오는 것은 되는 것 같습니다.
빌드는 델파이XE 10.3리오로 했습니다.
갤럭시4와 노트5에서는 저장도 잘되고 불어오기도 잘되는데
안드로이드 8.1.0인 LG VtingQ 펜타에서는 저장이 되질 않습니다.
불러오기는 되는 것 같아요.
높은 버전에서 특정한 폼값이 변하는 것은 어떻게 저장해야한가요?
procedure TForm1.FormCreate(Sender: TObject);
var
R: TBinaryReader;
begin
if SaveState.Stream.Size > 0 then
begin
// Recover previously typed text in Edit1 control.
R := TBinaryReader.Create(SaveState.Stream);
try
Edit1.Text := R.ReadString;
finally
R.Free;
end;
end;
end;
procedure TForm1.FormSaveState(Sender: TObject);
var
W: TBinaryWriter;
begin
SaveState.Stream.Clear;
// Current state is only saved when something was edited.
// If nothing has changed, the state will be removed this way.
if Edit1.Text.Length > 0 then
begin
// Save typed text in Edit1 control.
W := TBinaryWriter.Create(SaveState.Stream);
try
W.Write(Edit1.Text);
finally
W.Free;
end;
end;
end;