OVH Cloud OVH Cloud

Editeur par défaut

2 réponses
Avatar
Jérôme Prioux
J'ai fait un petit éditeur de texte qui s'apparente au Notepad de Windows
mais multifichier. Lorsque je clique sur un fichier dont l'extension est
.txt ou que j'ouvre un .vbs pour le modifier, il est chargé dans mon
programme. Ça marche impec. Sauf que...
Mon éditeur étant multifichier, j'aimerais que, lorsqu'il est déjà ouvert et
que je clique sur un deuxième fichier texte, il ne m'ouvre pas une deuxième
instance de l'éditeur mais qu'il soit chargé dans une deuxième fenêtre de la
première instance.
Quelqu'un a-t-il une idée ?

2 réponses

Avatar
Bismark Prods
facile ! suffit que ton programme s'intérroge sur l'existence d'une instance
de lui meme déja ouverte et agissent en conséquence !

"Jérôme Prioux" a écrit dans le message de
news:3f477cbd$0$6195$
J'ai fait un petit éditeur de texte qui s'apparente au Notepad de Windows
mais multifichier. Lorsque je clique sur un fichier dont l'extension est
.txt ou que j'ouvre un .vbs pour le modifier, il est chargé dans mon
programme. Ça marche impec. Sauf que...
Mon éditeur étant multifichier, j'aimerais que, lorsqu'il est déjà ouvert


et
que je clique sur un deuxième fichier texte, il ne m'ouvre pas une


deuxième
instance de l'éditeur mais qu'il soit chargé dans une deuxième fenêtre de


la
première instance.
Quelqu'un a-t-il une idée ?




Avatar
Ledev
Jérôme Prioux wrote:
J'ai fait un petit éditeur de texte qui s'apparente au Notepad de
Windows mais multifichier. Lorsque je clique sur un fichier dont
l'extension est .txt ou que j'ouvre un .vbs pour le modifier, il est
chargé dans mon programme. Ça marche impec. Sauf que...
Mon éditeur étant multifichier, j'aimerais que, lorsqu'il est déjà
ouvert et que je clique sur un deuxième fichier texte, il ne m'ouvre
pas une deuxième instance de l'éditeur mais qu'il soit chargé dans
une deuxième fenêtre de la première instance.
Quelqu'un a-t-il une idée ?



Pour cela, tu peut vérifier avec app.hinstance si l'appli est déjà charger,
et a partir de là t'arrangée pour transmettre a l'instance déjà ouverte le
nom du fichier.
Par exemple, ton Appli peut être un composant COM, et avoir un petit EXE
standard qui soit associé aux .txt. Et la il appelle le composant COM:

Le composant COM:
-frmXxxx pour la feuille
-clsFile pour la classe

clsFile:
public sub OpenFile(file as string)
'Code qui ouvre le fichier
end sub
public sub NewFile(à
'Code pour crée un fichier
end sub

Le petit EXE Standard avec 1 seul module contenant:
public sub main()
dim text as MonEditeur.clsFile
if command$<>"" then
text.openfile command$
else
text.newfile
end if
end sub

Ainsi, pour les utilisateurs, ton editeur serra composer d'un EXE et d'une
DLL, et en plus il peus être complété au niveau de clsFile pour permettrent
un contrôle total(sauveguarde/acces au contenue des fichiers et autre, comme
avec Word) depuis les autres application.






a+