IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP.NET Discussion :

passage de asp à asp.Net : CreateObject


Sujet :

ASP.NET

  1. #1
    Membre confirmé
    Inscrit en
    Juillet 2005
    Messages
    111
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 111
    Par défaut passage de asp à asp.Net : CreateObject
    Bonjour à tous,

    Je suis en train de reprendre du code Asp en Asp.Net C# et je bloque sur 'CreateObject'.

    Voici mon code (du vbscript coté client) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
     
    Set snk = CreateObject("Tripos.DynamicEventSink")
     
      Set app = CreateObject("Lithium.Application.1")
      Set mdl = app.ActiveModel
      Call snk.Advise(mdl)
     
       'Affiche l'application
       app.Visible=True
     
      ' point to files in my local installation
       filename = "C:\Benchware3DExplorer\20080311\molEssai1.mol2"
     
       'Ouvr la molecule dans le visualisateur 3D.
       Call mdl.ImportFile(fileName)
    Ce code permet d'ouvrir une application (visualisation de molécules en 3D) coté client et de pouvoir intéragir sur la page aspx pour modifier le contenu de l'application.

    J'ai déjà un début de réponse en C# mais je ne sais pas comment obtenir et mettre à jour des propriétés d'objet.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
            object objLit = Activator.CreateInstance(Type.GetTypeFromProgID("Lithium.Application.1"));
     
            Type t = objLit.GetType(); 
     
            //PropertyInfo MyProp = t.GetProperty("Visible");
     
            MethodInfo ProTmp = t.GetMethod("ActiveModel");
     
            if (ProTmp != null)
            {
                ProTmp.Invoke(objLit, null);
            }
    Merci beaucoup pour vos réponses.

    Laurent.

  2. #2
    Membre chevronné
    Inscrit en
    Juin 2007
    Messages
    459
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 459
    Par défaut
    Tu ne peux pas ajouter une référence vers la librairie contenant le type Lithium.Application.1 ? Sinon, utilise DllImport.

  3. #3
    Membre confirmé
    Inscrit en
    Juillet 2005
    Messages
    111
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 111
    Par défaut
    BCmDev : merci beaucoup pour ta réponse :

    J'ai suivi tes conseils et j'ai déclaré les dll dans les références :

    Puis j'ai modifié le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
     
        Lithium.Application App;
        App.Visible = true;
     
        TRIPOS_WEB_SCRIPTING_Lib.DynamicEventSink snk;
     
          object mdl = App.ActiveModel;
     
          snk.Advise(mdl, null);
     
        Type t = mdl.GetType(); // normalement un truc du genre mdl
        MethodInfo method = t.GetMethod("ImportFile");
     
        string var = "http://crbss205/b3d/1ttx.mol2";
        if (method != null) {
            method.Invoke(mdl, new object[] { var });
        }
    Mais j'ai une erreur de compil à la ligne :

    MethodInfo method = t.GetMethod("ImportFile"); :

    CS0246: Le type ou le nom d'espace de noms 'MethodInfo' est introuvable (une directive using ou une référence d'assembly est-elle manquante ?)

    Je suis directement dans la page aspx et je n'ai pas pu ajouter d'instruction using, il me jette.

    Le using à mettre est :
    using System.Reflection;

    Où dois-je le déclarer ?

    Laurent.

  4. #4
    Membre chevronné
    Inscrit en
    Juin 2007
    Messages
    459
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 459
    Par défaut
    Je crois que c'est quelque chose comme
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <%@Import Namespace="System.Reflection"%>
    mais j'avoue ne jamais mettre de code dans mes pages...

  5. #5
    Membre confirmé
    Inscrit en
    Juillet 2005
    Messages
    111
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 111
    Par défaut
    merci pour le namespace : c'était çà, par contre j'ai encore des erreurs...

    A demain.

    Laurent.

  6. #6
    Membre confirmé
    Inscrit en
    Juillet 2005
    Messages
    111
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 111
    Par défaut
    J'ai pu afficher des molecules dans le Viewer et j'aimerais maintenant les afficher en fonction d'un click sur un bouton image :

    ImageButtonGif_Click doit afficher la molecule passée en paramètre.

    Mais par contre il plante sur cette ligne :

    La balise serveur n'est pas correcte.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
     
                   <asp:TemplateField>
    	                <ItemTemplate>
    		                <asp:ImageButton ID="ImageButtonGif" runat="server" ImageUrl='<%# Eval("Gif") %>' OnClick="ImageButtonGif_Click('<%# Eval("Pdb") %>')" />
    	                </ItemTemplate>
                    </asp:TemplateField>
    Saurais-tu ce que c'est ?

    MErci.

    Laurent.

  7. #7
    Membre chevronné
    Inscrit en
    Juin 2007
    Messages
    459
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 459
    Par défaut
    N'est-ce pas

  8. #8
    Membre confirmé
    Inscrit en
    Juillet 2005
    Messages
    111
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 111
    Par défaut
    BCmDev : (excuses moi pour le retard...)

    Non : il y a toujours la même erreur.

    Laurent.

  9. #9
    Membre chevronné
    Inscrit en
    Juin 2007
    Messages
    459
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 459
    Par défaut
    Tu dois indiquer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    OnClick="ImageButtonGif_Click"
    Pourquoi as-tu un paramètre ?

  10. #10
    Membre confirmé
    Inscrit en
    Juillet 2005
    Messages
    111
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 111
    Par défaut
    Je veux qu'à chaque ligne il ouvre le bon fichier molécule : donc sur le bouton de chaque ligne le paramètre change, à chaque fois il faut que cela prenne la molecule de la ligne du GridView...

    D'où mon paramètre.

    Y a -t'il une meilleure solution ?

    Laurent.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Passage d'ASP à ASP.net
    Par Xenon03 dans le forum ASP.NET
    Réponses: 7
    Dernier message: 25/05/2009, 17h33
  2. Passage de varible : ASP.Net vers Javascript
    Par jetronic dans le forum ASP.NET
    Réponses: 1
    Dernier message: 22/11/2007, 22h22
  3. [WebForms]Comment utiliser une .dll asp en .net ?
    Par topolino dans le forum Général Dotnet
    Réponses: 3
    Dernier message: 02/10/2006, 20h54
  4. [ASP dot Net 1.1][XML/XSL]
    Par CUCARACHA dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 04/05/2006, 10h10
  5. [langage] ASP, ASP.NET ou PHP pour un gros site e-commerce
    Par j_dron dans le forum Général Conception Web
    Réponses: 14
    Dernier message: 21/10/2005, 14h07

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo