Précédent   Forum du club des développeurs et IT Pro > Général Développement > Programmation système > Linux > GTK
GTK Vos questions sur GTK sous Linux
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 27/12/2012, 22h07   #1
jovalise
Membre éclairé
 
Inscription : juin 2006
Messages : 767
Détails du profil
Informations personnelles :
Âge : 43

Informations forums :
Inscription : juin 2006
Messages : 767
Points : 328
Points : 328
Par défaut Plantage de Gtk_File_Selection lorsuq Valide et chaîne vide.

Bonjour,

Voici mon code avec Ada.

Les paquets handlers.
Code ada :
1
2
3
4
5
6
 
 type Gtk_File_Selection_Access is access all Gtk_File_Selection;
   package Destroy_Cb is new Gtk.Handlers.User_Callback
     (Gtk_File_Selection_Record, Gtk_File_Selection_Access);
   package Files_Cb is new Gtk.Handlers.User_Callback
     (Gtk_File_Selection_Record, Object_Pointer);

Ma procédure d'appel.
Code ada :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
 
File_Selection : aliased Gtk_File_Selection;
   procedure Open_Bank(Action, Hmi : System.Address) is
 
   begin
      Gtk_New (File_Selection, Title => "File Selection Dialog");
      Destroy_Cb.Connect
	(File_Selection, "destroy", Destroy_Cb.To_Marshaller (Destroyed'Access), File_Selection'access);
      Files_Cb.Object_Connect (Get_Ok_Button (File_Selection), "clicked", Files_Cb.To_Marshaller (Open_Bank_Ok'Access),
			       File_Selection,
			       To_Pointer(Hmi));
      Destroy_Cb.Object_Connect
	(Get_Cancel_Button (File_Selection), "clicked",
	 Destroy_Cb.To_Marshaller (destroyed'Access),
	 File_Selection,
	 File_Selection'access);
      Show (File_Selection);
   end Open_Bank;

Quand le bouton Ok est selectionné.
Code ada :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
 
--------
   -- Ok --
   --------
 
   procedure Open_Bank_OK (File_Selection : access Gtk_File_Selection_Record'Class;
			   Hmi : in Object_Pointer) is
 
   begin
      declare
	 Filename : String := Get_Filename(File_Selection);
      begin
	 if Filename /= "" then
	    Hmi.Bank := new Bank_Type ' (Initialize_From_File(filename));
	 end if;
      end;
      Destroy (File_Selection);
   end Open_Bank_OK;

J'ai copié le create_file_selection de test gtk.
__________________
Mon développement
jovalise est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Cette discussion est résolue.
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 01h12.


 
 
 
 
Partenaires

Hébergement Web