Bonjour,
jusque là je n'avais aucun souci avec ce truc mais je tombe sur un os, dans une application,
qui fonctionne bien sous windows 10,
la lecture ne se fait pas sous xp (aucun caractère affiché)
J'ai tout d'abord pensé à un problème de douchette mais le scan se fait parfaitement dans un notepad ou dans une application VCL plus ancienne.
J'ai alors écrit un programme simple (zone de saisie, memo)
Mais là, en testant avant d'envoyer, j'ai un probléme avec le SetFocus qui n'opére pas (difficile alors de faire un test sur le poste XP !)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 procedure TForm130.Edit1Exit(Sender: TObject); begin memo1.Lines.Add(Edit1.text); Edit1.Text:=''; Edit1.SetFocus; end;
Jusqu'à ce que je m'apperçoive que je code ainsi
c.a.d sur OnKeyDown et non sur un OnExit (en utilisant KillFocusByReturn à true)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 procedure TForm130.Edit1KeyDown(Sender: TObject; var Key: Word; var KeyChar: Char; Shift: TShiftState); begin if (Key=13) or (Key=9) then begin memo1.Lines.Add((Sender As TEdit).text); Key:=0; Edit1.Text:=''; Edit1.SetFocus; end; end;
Questions :
en FMX, à quoi sert le OnExit et KillFocusByReturn ?
Dans le cas d'un OnExit pourquoi setfocus ne fonctionne t-il pas ?
mon problème avec XP pourrait-il être lié ? Comment puis-je m'en dépatouillé (à part bien sûr installé w10 sur le poste )?
Partager