Bonjour, j'ai tenté, (ça marche rarrement du premier coup), de sélectionner un fichier avec Gtk_File_Selection, mais ça plante.
Pour faire ceci, j'ai un bouton Open connecté à une procédure "Set_Filename" dans la quelle je déclare le Gtk_File_Selection;
Dans cette procédure "Set_Filename", j'ai connecté le bouton Ok à une procédure "Ok" dans laquelle je désire renseigner un champ contenu dans le même objet que mon bouton Open.
Ca plante lorsque je clique le bouton Ok.
Voici le code :
Code :
procedure Set_filename(Widget : access Gtk_Widget_Record'class; Intelligence : Intelligence_access) is package File_selection_Handlers is new Gtk.Handlers.User_Callback(Gtk_Widget_Record, Gtk_File_selection); Filename : access String; procedure Ok (Widget : access Gtk_Widget_Record'class; File_Selection : Gtk_File_Selection) is begin Filename := new String ' (Get_Filename(File_Selection)); end Ok; File_Selection : Gtk_File_Selection; begin Gtk_New(File_Selection, "Select network filename..." ); File_selection_Handlers.Connect(Get_Ok_Button(File_Selection), "clicked", File_Selection_Handlers.To_Marshaller(ok'access), File_selection); Show_All(File_Selection); if Filename /= null then Set_Text(Intelligence.Filename_Gentry, Filename.all); end if; end Set_Filename
|
J'ai également essayé de faire le Set_Text directement dans la procédure Ok, mais même résultat.
Je me doute qu'il y a un problème de visibilité, mais je ne vois, ne sais, pas comment procéder.
Merci pour votre aide.
Message édité par Profil supprimé le 29-11-2010 à 16:46:50