ienien85
Messages postés41Date d'inscriptionmercredi 1 juin 2005StatutMembreDernière intervention28 février 2006
-
21 févr. 2006 à 15:48
ienien85
Messages postés41Date d'inscriptionmercredi 1 juin 2005StatutMembreDernière intervention28 février 2006
-
22 févr. 2006 à 16:03
Bonjour a tous, Voila je developpe pour mon entreprise un intranet et je voudrais savoir s'il est possible a partir de cette intranet d'ouvrir un fichier du coté client et non du coté serveur
ienien85
Messages postés41Date d'inscriptionmercredi 1 juin 2005StatutMembreDernière intervention28 février 2006 21 févr. 2006 à 16:29
salut MorpionMx. Je te remercie beaucoup pour ton aide car je pense que je dois etre relou a toujours poser la meme question mais estce que tu as des connaissance en active x car moi je ne connais pas et on ma conseiller de faire cela d'un point de vu securité.
MorpionMx
Messages postés3466Date d'inscriptionlundi 16 octobre 2000StatutMembreDernière intervention30 octobre 200857 21 févr. 2006 à 17:14
Je viens de tester la méthode de l'Applet
Elle fonctionne parfaitement une fois le niveau de sécurité pour l'execution de l'assembly ajusté.
Te voila sauvé
A savoir que pour utiliser un UserControl en tant qu'applet, il faut que le client ait le framework .Net d'installé.
Donc c'est assez simple :
Tu crées un Assembly, sous form de dll, contenant un UserControl. Depuis ce UserControl, tu lances le process que tu souhaites.
On va appeler l'assembly "TestApplet.dll", le namespace "Essai", et ton UserControl "Test"
Ensuite, dans ton application WebForm, tu ajoutes ta dll a ton projet.
Et dans la page qui aura pour but de lancer ton process tu ajoutes ce code:
ienien85
Messages postés41Date d'inscriptionmercredi 1 juin 2005StatutMembreDernière intervention28 février 2006 22 févr. 2006 à 09:52
salut mx. Comme tu peux l'apercevoir depuis le debut je debute en c#. En ce qui concerne la mise en place d'un assembly sous forme de dll je ne sais pas du tout comment faire. Je dois creer un autre projet qui genere la dll TestApplet.dll ou je dois le faire au sein de mon projet? Et cette dll je la met dans le fichier bin ou autre part?
Vraiment desolé de te deranger et merci d'avance pour ton aide
MorpionMx
Messages postés3466Date d'inscriptionlundi 16 octobre 2000StatutMembreDernière intervention30 octobre 200857 22 févr. 2006 à 10:29
Nonon, la ligne ajoutée dans le code HTML va s'occuper de charger le UserControl dans la dll.
Si tu veux un bouton qui lance le process, il faut le mettre dans ce UserControl la.
Tiens, voila un petit code d'exemple avec un bouton qui lance la calculatrice Windows.
<HR>
using System;
using System.Windows.Forms;
using System.Diagnostics;
namespace Essai
{
public
class
Test :
UserControl
{
private
Button button1;
public Test()
{
InitializeComponent();
}
private
void InitializeComponent()
{
this.button1 =
new System.Windows.Forms.
Button();
this.SuspendLayout();
//
// button1
//
this.button1.Location =
new System.Drawing.
Point(50, 20);
this.button1.Name =
"button1";
this.button1.Size =
new System.Drawing.
Size(75, 23);
this.button1.TabIndex = 0;
this.button1.Text =
"button1";
this.button1.UseVisualStyleBackColor =
true;
this.button1.Click +=
new System.
EventHandler(
this.button1_Click);
//
// Test
//
this.BackColor = System.Drawing.
Color.Red;
<HR>
va s'occuper de charger ce UserControl dans la page web. Tu n'as rien a t'occuper d'autre au niveau du code. Mais il faut que tu aies inséré la dll dans ton projet web prealablement.
Si tout est fait correctement, tu verras un fond rouge avec un bouton dans ta page.
Sinon tu verras un petit carré vide, qui indique que rien n'est chargé.
ienien85
Messages postés41Date d'inscriptionmercredi 1 juin 2005StatutMembreDernière intervention28 février 2006 22 févr. 2006 à 10:51
Bon g fait ce que tu ma dit et g essauyé d'ouvrie le bloc note d'abord pour voir si ca marche mais il s'y affiche le petit carré vide. Alors g utiliser ton code mais la propriété "UseVisualStyleBackColor" ne marche pas mais je pense pas que ca vienne de cela.. Sinon je comprend pas pourquoi g VIEWASTEXT qui se met dans le html dans la balise <object> C peut etre ca qui fait que la dll ne marche pas
MorpionMx
Messages postés3466Date d'inscriptionlundi 16 octobre 2000StatutMembreDernière intervention30 octobre 200857 22 févr. 2006 à 10:57
tu peux supprimer le "UseVisualStyleBackColor", c'est une propriété .Net 2
Si tu as un simple petit carré qui s'affiche, c'est qu'il n'arrive pas a trouvé l'assembly / Le UserControl.
Regarde si la dll se trouve bien au chemin indiqué dans la balise html, au niveau de classid
MorpionMx
Messages postés3466Date d'inscriptionlundi 16 octobre 2000StatutMembreDernière intervention30 octobre 200857 22 févr. 2006 à 11:38
J'ai reproduis ton probleme, simplement en me plantant dans l'URL de l'objet a charger
(Si tu as copié/collé la balise que je t'ai donné, j'ai oublié un '/' apres le http.)
Si ton site intranet se trouve dans un sous-repertoire, n'oublies pas de l'indiquer aussi.
Ou plus simple, si ta page aspx se trouve dans le meme repertoire que la dll a charger, n'indique pas le chemin absolu, fait simplement reference a la dll
Si tu utilises la classe que je t'ai donné, que tu l'as compilé dans un Assembly nommé TestApplet.dll, que tu as bien gardé le meme namespace et nom de classe, et que tu as mis ta dll dans le meme repertoire que ta page, ca doit se charger.
ienien85
Messages postés41Date d'inscriptionmercredi 1 juin 2005StatutMembreDernière intervention28 février 2006 22 févr. 2006 à 11:59
bon be ca marche pas . une question que je me pose c que est ce que quand je genere la solution en ce qui concerne mon applet est ce que ca doit me renvoyer quelques c'est a dire ouvrir la calculette?
ienien85
Messages postés41Date d'inscriptionmercredi 1 juin 2005StatutMembreDernière intervention28 février 2006 22 févr. 2006 à 12:25
Bon je te dit ce que g fait etape par etape et tu va me dir ou est ce que j'aurrai pume planter
- ouverture d'un nouveau projet de type "Bibliotheque de classe".
- Dans ce profet j'ajoute un formulaire windows
- ensuite g fait copié collé de ton applet
- j'ai changé le nom de l'assembly et appelé TestAppelet
- je génerre la solution
- Ensuuite g fait ajouté element existant et g pris TestApplet.dll qui a été généré précedemment
- Dans ma web form au niveau de l'html g ajouté :
<object id="test" classeid="TestApplet.dll#Essai.Test" style="width: 100px; height: 100px" VIEWASTEXT></object>
MorpionMx
Messages postés3466Date d'inscriptionlundi 16 octobre 2000StatutMembreDernière intervention30 octobre 200857 22 févr. 2006 à 12:37
Le cheminement est le bon:/
La seule différence, c'est que tu n'as pas besoins d'ajouter un formulaire windows... Un simple fichier classe suffit (voire nu fichier vide). Mais comme tout le texte est remplacé dedans ca ne doit pas etre ca le probleme.
Quand tu fais "ajouter un element existant", c'est bien dans ton projet web, on est d'accord ?