J'appelle la procédure suivante en me déplacant dans un adoQuery afin de créer des labels dynamiquement(en exécution).
Le hint du label est le Numero d'une personne. Le caption(HisText) est son nom.
Here's the ClicLabel Procedure :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 procedure TfrmPrincipale.CreateLabel(HisText:String; HisHint:string); Var lblLabel:TLmdSimpleLabel; begin lblLabel:=TLmdSimpleLabel.Create(Self);// ici self est équivalent à Form1 With lblLabel do begin Parent:=pnlLabels; Caption:=HisText; Hint:=HisHint; cursor:=crHandPoint; OnClick:=ClicLabel; // Important :J'affecte un événement onclick au label ShowHint:=True; Left:=PosXLabel; // Position en X du Bouton Top:=PosYLabel; // Position en Y du Bouton PosXLabel:=PosXLabel+Width; // Calcul de la position du button suivant If PosXLabel > pnlLabels.Width-Width then //if there's no more place on the line begin PosYLabel:=PosYLabel+Height;//Going to next line PosXLabel:=0; end; end; end;
Quand je clique sur mes labels, j'obtiens ce message:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 procedure TfrmPrincipale.ClicLabel(Sender:TObject); begin with (sender as TLMDSimpleLabel) do begin datmod.tblMembres.IndexFieldNames:='NumReg'; datmod.tblMembres.locate('NumReg',strtoint(hint),[]); end;//with end;
LE PROJET PROJECT1.EXE A PROVOQUE UNE CLASSE D'EXCEPTION EACCESSVIOLATION AVEC LE MESSAGE
'Violation d'accès à l'adresse 0040328d dans le module project1.exe. Lecture de l'adresse 20766e61.
Quelqu'un peut il m'aider
Partager