Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1295 connectés 

  FORUM HardWare.fr
  Programmation
  Ada

  [ résolu ] [GtkAda] Selectionner un fichier avec Gtk_File_Selection

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[ résolu ] [GtkAda] Selectionner un fichier avec Gtk_File_Selection

n°2039065
Profil sup​primé
Posté le 29-11-2010 à 16:00:53  answer
 

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 :
  1. procedure Set_filename(Widget : access Gtk_Widget_Record'class; Intelligence : Intelligence_access) is
  2.  
  3.       package File_selection_Handlers is new Gtk.Handlers.User_Callback(Gtk_Widget_Record, Gtk_File_selection);
  4.  
  5.  
  6.       Filename : access String;
  7.  
  8.       procedure Ok (Widget : access Gtk_Widget_Record'class; File_Selection : Gtk_File_Selection) is
  9.       begin
  10.          Filename := new String ' (Get_Filename(File_Selection));
  11.       end Ok;
  12.  
  13.  
  14.  
  15.       File_Selection : Gtk_File_Selection;
  16.    begin
  17.       Gtk_New(File_Selection, "Select network filename..." );
  18.  
  19.       File_selection_Handlers.Connect(Get_Ok_Button(File_Selection),
  20.                                       "clicked",
  21.                                       File_Selection_Handlers.To_Marshaller(ok'access),
  22.                                       File_selection);
  23.       Show_All(File_Selection);
  24.       if Filename /= null then
  25.          Set_Text(Intelligence.Filename_Gentry, Filename.all);
  26.       end if;
  27.    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
mood
Publicité
Posté le 29-11-2010 à 16:00:53  profilanswer
 

n°2039088
Profil sup​primé
Posté le 29-11-2010 à 16:46:12  answer
 

Finalement, j'ai embarqué le Gtk_File_Selection dans mon type englobant.
 
Ca donne ça...
 

Code :
  1. procedure Ok (Widget : access Gtk_Widget_Record'class; Intelligence : Intelligence_access) is
  2.    begin
  3.       Set_Text(Intelligence.Filename_Gentry, Get_Filename(Intelligence.File_Selection));
  4.       Destroy(Intelligence.File_Selection);
  5.    end Ok;
  6.  
  7.    procedure destroy (Widget : access Gtk_Widget_Record'class; Intelligence : Intelligence_access) is
  8.    begin
  9.       Destroy(Intelligence.File_Selection);
  10.    end destroy;
  11.  
  12.    procedure Set_filename(Widget : access Gtk_Widget_Record'class; Intelligence : Intelligence_access) is
  13.  
  14.    begin
  15.       Gtk_New(Intelligence.File_Selection, "Select network filename..." );
  16.       Intelligence_Handlers.Connect(Get_Ok_Button(Intelligence.File_Selection),
  17.                                     "clicked",
  18.                                     Intelligence_Handlers.To_Marshaller(ok'access),
  19.                                     intelligence);
  20.  
  21.       intelligence_Handlers.Connect(Get_Ok_Button(Intelligence.File_Selection),
  22.                                     "destroy",
  23.                                     intelligence_Handlers.To_Marshaller(destroy'access),
  24.                                     intelligence);
  25.       Show_All(Intelligence.File_Selection);
  26.    end Set_Filename;


 
Merci.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Ada

  [ résolu ] [GtkAda] Selectionner un fichier avec Gtk_File_Selection

 

Sujets relatifs
Modification de chaîne de caractères dans un fichierExtraction de données apartir d'un fichier XML
Droit d'accès avec Alsa et Gtk (Gnu/Linux)[ACCESS07]ouvrir un fichier avec l'explorateur windows[RESOLU]
[GtkAda] Mettre à jour un combo à chaque selection[MySQL / PL/SQL] Selection passée en paramètre
[Résolut]ajout de pages nommées à un notebook avec GtkAdachronomètre GTK
[Ada]|résolu]interuption du signal "destroy" de GtkAda 
Plus de sujets relatifs à : [ résolu ] [GtkAda] Selectionner un fichier avec Gtk_File_Selection


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR