[vb.net]Appli sans form : comment faire ?

zaxoum Messages postés 13 Date d'inscription mardi 14 novembre 2000 Statut Membre Dernière intervention 18 janvier 2008 - 6 mai 2005 à 18:12
zaxoum Messages postés 13 Date d'inscription mardi 14 novembre 2000 Statut Membre Dernière intervention 18 janvier 2008 - 7 mai 2005 à 00:43
Salut a tous !

Je suis à la recherche d'un moyen simple et efficace de réaliser ceci :

Une application sans form qui quand elle démarre n'affiche qu'un notifyicon. A partir de ce notifyicon je créé des windows.forms.form

Tout ça, j'arrive à le faire mais le probleme c'est que mes forms créées ne se killent pas avec le programme quand je quitte.... :(

Connaitriez vous un truc du genre ?

Merci d'avance
++

6 réponses

cs_Alain Proviste Messages postés 908 Date d'inscription jeudi 26 juillet 2001 Statut Modérateur Dernière intervention 1 février 2015 2
6 mai 2005 à 18:21
il me semble que nous avons déjà discuté de ca avec jesusonline, la méthode que nous employions était la suivante :
on partait d'un sub main, on créer un nouvelle form : dim form as new form puis on créer un notify icon a partir de ca. par contre pas de soucis quand on quittait ^o) si tu ne t'en sors pas dis le je rechercherais ce travail.
sinon je tavoue que l'interet nous avait apparu tres limité : le but était pour nous de reduite la place de l'exe en memoire . Resultat : inexistant.
0
zaxoum Messages postés 13 Date d'inscription mardi 14 novembre 2000 Statut Membre Dernière intervention 18 janvier 2008
6 mai 2005 à 18:39
Salut !

Justement ! la base de ce que j'ai fait provient de ton code de quand vous étiez en train de voir avec Jesusonline... lol
Alors en fait mon projet est un peu plus compliqué que ça... c'est pour ca, c'est pas facile à expliquer...
Donc en gros :
Le but de ceci est que mon projet est un docker (barres d'outils windows).
Ce docker est décomposé par plusieurs choses :

- une appli principale qui contient une collection de barres d'outils
- Des dll de barres d'outils (une barre d'outils contient une collection de plugins sous forme d'icones)
- Des dll de plugins qui iront s'afficher dans la barre d'outils appelante.

Donc mon programme est séparé en trois parties.
On ne va s'interresser qu'aux deux premieres :

Les deux parties sont des projets regroupant certains fichiers :

Projet application :

- Class docker -> contient le sub main dont tu parlais.
Il y a une propriété collection_de_barres qui contient les barres affichées.
Les méthodes de la notifyicon qui via son menu créé de nouvelles barres, charges, enregistre, et quitte l'appli
- Classe collec de barres -> ici rien d'extra, methodes classiques d'une collection
- Classe Ibarre -> Cette classe se charge d'instancier l'objet barre contenu dans la dll du projet barre (le deuxieme cité au debut du message)
Cette classe permet également de déclarer une sorte d'interface de methodes (sinon je ne pourrais pas me servir des methodes de mes barres dans mon appli principale).

Projet barre_doutils :

- Classe barre -> C'est une classe qui hérite de windows.forms.form
Il y a les méthodes pour ajouter des plugins dessus et tout le tintouin..

autres classes du projet barredoutils mais dont on ne se soucie pas pour le sujet actuel :
- Classe collec_de_plugins -> collection de plugins
- Classe Iplugin -> instancie le plugin et interface des methodes

Donc voila en gros le truc... Ca peut paraitre chiadé, compliqué ou tout ce que tu veux mais je pense que le fonctionnement en lui meme est ok. Le seul soucis est le fait que lorsque je quitte mon appli, mes barres d'outils ne sont pas "dispose" ou "finalize"...
Je soupsconne donc une histoire de parent ou container enfin un truc qui fait que les forms sont liées à l'appli principale et non lachées dans la nature comme ca.

Dis moi ce que tu en penses !
En tout cas merci d'avoir repondu car je crois que j'effraie tout le monde avec mon projet ^^
++
0
cs_Alain Proviste Messages postés 908 Date d'inscription jeudi 26 juillet 2001 Statut Modérateur Dernière intervention 1 février 2015 2
6 mai 2005 à 23:32
on voit ca demain. <STRIKE>flood moi</STRIKE> mail moi par le site si j'oublie de venir relire tout ca
0
zaxoum Messages postés 13 Date d'inscription mardi 14 novembre 2000 Statut Membre Dernière intervention 18 janvier 2008
6 mai 2005 à 23:40
Euhhh en fait au temps pour moi (cf netiquette ou site de français pour ceux qui ont comme j'ai eu, un doute sur l'orthographe de "au temps" ^^)

J'ai repris à tete reposée le programme et en fait j'ai l'impression que c'est tous les finalize et autres saloperies que j'ai redefini a coté qui ont foutu le merdier...

Merci quand meme !

@++
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Alain Proviste Messages postés 908 Date d'inscription jeudi 26 juillet 2001 Statut Modérateur Dernière intervention 1 février 2015 2
7 mai 2005 à 00:15
diantre.
0
zaxoum Messages postés 13 Date d'inscription mardi 14 novembre 2000 Statut Membre Dernière intervention 18 janvier 2008
7 mai 2005 à 00:43
Comme tu dis oui ! diantre !
En fait le pb n'est pas resolu mais je cerne le truc...

Voici un bout de code :


Public
Sub sauvegarde()



Dim doc
As XmlDocument =
New XmlDocument



Dim collecelements
As XmlElement


collecelements = doc.CreateElement("docker")


doc.AppendChild(collecelements)


collec_barres.enregistrer(doc, collecelements)



'MsgBox(doc.Name())


doc.Save(Application.StartupPath & "\temp.xml")



End
Sub

Par rapport a mon projet : j'ai une barre avec des icones de raccourcis créés dessus.
En gros, cette procedure enregistre les parametres de mes objets. Il créé un fichier xml avec un node pour chaque barre. Il comprend le nom de la dll de la barre puis des sous nodes.
Dans les sous nodes : un node par icone.
Dans ces nodes : je stocke les propriétés de mes icones (vers quel fichier va le raccourci...)

Et en fait la procedure pose probleme pour un cas particulier...
Quand je droppe plus d'une icone sur ma barre et que je sauvegarde direct il me colle une exception nullreference vers aucune zone de code...
Cette exception est produite sur la derniere ligne de la methode sauvegarde,le doc.save
Par contre, si je fais un msgbox juste avant cette ligne, ca fonctionne........
Donc là je nage dans un flou le plus total !
je me demande si ca ne viendrait pas du framework...je suis toujours sous le 1 je crois enfin fodrait ke je verifie mais je sais pas comment on le vois ^^

Donc si t'as une idée, je suis preneur ^^
merci d'avance !
@++
0
Rejoignez-nous