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 ?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
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 ?
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" <jerome.prioux@free.fr> a écrit dans le message de
news:3f477cbd$0$6195$626a54ce@news.free.fr...
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
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 ?
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+
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.
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.