Bonsoir,

Je n'ai jamais travaillé avec le TMaskEdit, et il se trouve que le programme que j'essaye de convertir depuis D3-7 (et disponible ici) en utilise deux.

Le problème c'est que l'aide sous Lazarus est inexistante, et que le comportement du binaire (fourni avec les sources) pour Windows se lance correctement : les zones .Text sont bien remplies au runtime, mais sous Linux lorsque la mainform s'affiche, les zones sont vides !

La chose qu'il a fallu que je mette en œuvre, c'est le remplacement des 2 TSpinButtons liés, puisque ce compo n'existe pas sous Laz, je les ai remplacés par des paires de TButtons configurés pour faire un boulot de Up-Down.

J'ai regardé le code à la loupe, particulièrement le FormCreate, mais il n'y a rien dedans en relation avec ces TMaskEdit.
La question est donc : pourquoi les zones .Text arrivent-elles vides au runtime sous Linux quand elles restent pleines sous Windows ?

Un dernier point (peut-être une piste ?) : quand je force un nombre dans la zone .Text avec l'inspecteur d'objet, puis que j'enregistre le projet et que je sors, quand je le rouvre la zone .Text est vide !...
Et pourtant, voilà le contenu du fichier .lfm à propos d'un TMaskEdit :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
  object MaskEditFactor: TMaskEdit
    Left = 267
    Height = 23
    Top = 96
    Width = 33
    CharCase = ecNormal
    MaxLength = 4
    TabOrder = 6
    OnChange = MaskEditFactorChange
    EditMask = '!9.99;1;_'
    Text = '1.00'
  end
On voit bien que le .Text est correctement renseigné, mais il est vide à l'affichage de la form, en mode design tout comme au runtime.
En fait, pour que la zone .Text soit remplie au runtime, il me faut vider la zone .EditMask. C'est normal, ça ? Rappel : je ne connais rien au TMaskEdit...

Debian 32 bits / FPC 3.0 / Laz 1.6.2

Merci,