Bonjour,
jusqu'à présent, j'ai utilisé FreePascal pour des petits projets rapidement prototypés et c'etait très bien, le langage est rapide, plus agréable à utiliser que le C mais je m'attaque à un projet GUI et j'ai un problème. Je me rends compte que la doc de Lazarus/FreePascal est vraiment insuffisante et pas du tout explicite (par exemple citer les fonctions, c'est bien mais il y a très peu d'exemples). Bon voici ma question :
j'ai créé un menu popup dynamique contrôlé par un TrayIcon ; tout se passe bien, j'ai donc un menu qui s'affiche correctement, j'ai lié les options à une procédure MyPopupEvent pour récupérer le nom de l'option du menu cliqué et ça marche bien, je récupère l'info par :
Maintenant le problème. Je voudrais récupérer également le nom du menu parent de l'option cliquée et là ça coince : j'ai récupéré un exemple sur le net que j'ai modifié :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 var ResCH : string; ResCH := (sender as TmenuItem).caption;
Le projet se compile pourtant parfaitement ; si vous avez une idée je suis à l'écoute, merci.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 var ALabel : TLabel; Caller : TComponent; Caller := ((Sender as TMenuItem).GetParentMenu as TPopupMenu).PopupComponent; ALabel := TLabel(Caller); ShowMessage(ALabel.Caption); // il semble que cette ligne provoque une erreur fatale du genre "le projet a levé une exception de class External:SIGSEGV At Adress ....."
Partager