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

C# Discussion :

Ajout d'une reference d'un OCX mais message "Aucun constructeur n'est défini"


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Inscrit en
    Avril 2013
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Avril 2013
    Messages : 31
    Par défaut Ajout d'une reference d'un OCX mais message "Aucun constructeur n'est défini"
    Bonjour à tous


    Je viens vers vous, vous pourriez m'expliquer quelque chose concernant l'ajout de référence d'un OCX. Je débute, il se peut que les termes utilisés ne soient pas les bons et je m'en excuse par avance.


    En effet, dans un projet j'ai pu ajouter un OCX que j'ai préalablement enregistrer dans mon OS.

    J'ai pu donc l'ajouter et explorer les objets qu'ils contient.


    Toutefois, lors de l'instanciation j'ai cette erreur :





    Pourriez vous m'indiquer quelle bétise je fais ?


    J'ai mis ll'OCX en question en pièce jointe.

    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Text;
    using System.Windows.Forms;
    using System.IO;
    using EpsonFP2;
     
    namespace Fiscal3
        {
        public partial class Form1 : Form
            {
             EpsonFPControl fis = new EpsonFPControl();
     
            public Form1 ()
                {
                InitializeComponent();
                }
     
            private void button1_Click ( object sender, EventArgs e )
                {
     
                fis.PortOpen();
     
                fis.opProgDataOra(28, 02, 2014, 12, 00);
     
                fis.PortClose();
     
     
                }
     
            }
        }


    Merci
    Images attachées Images attachées  
    Fichiers attachés Fichiers attachés

  2. #2
    Membre Expert
    Avatar de PixelJuice
    Homme Profil pro
    Ingénieur .NET & Game Designer
    Inscrit en
    Janvier 2014
    Messages
    667
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Ingénieur .NET & Game Designer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2014
    Messages : 667
    Par défaut
    Bonjour,

    je n'ai pas pu regarder ce qu'il y a dans l'OCX mais sache qu'une classe n'a pas forcément un constructeur.

    Essaye de voir les fonctions de ton composant COM afin de voir si tu peux l'utiliser d'une autre façon.

  3. #3
    Membre averti
    Homme Profil pro
    Inscrit en
    Avril 2013
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Avril 2013
    Messages : 31
    Par défaut
    J'avoue à demi-mot qu'avoir mis le fichier en piece joint était un souhait que quelqu'un m'explique comment faire

  4. #4
    Membre Expert
    Homme Profil pro
    Développeur .Net / Delphi
    Inscrit en
    Juillet 2002
    Messages
    738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Développeur .Net / Delphi
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2002
    Messages : 738
    Par défaut
    Bonjour,

    De bonne composition, j'ai testé et je n'ai pas de problème :
    Nom : Capture.PNG
Affichages : 431
Taille : 9,8 Ko
    Maintenant je ne suis pas un expert en ActiveX ... Loin de là !!
    Lorsque tu fais F12 sur EpsonFpControl pour atteindre la définition, tu arrives à quoi ? Pour ma part :

    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
    #region Assembly Interop.EpsonFP2.dll, v1.7.0.0// C:\temp\test\WindowsFormsApplication1\WindowsFormsApplication1\obj\Debug\Interop.EpsonFP2.dll
    #endregion
     
     
    using System.Runtime.InteropServices;
     
     
    namespace EpsonFP2
    {
        [CoClass(typeof(EpsonFPControlClass))]
        [Guid("275B97A9-411D-4A38-9644-E3F548EB59C0")]
        public interface EpsonFPControl : _EpsonFPControl, __EpsonFPControl_Event
        {
        }
    }
    Peut être en supprimant la référence et en la recréant ... Je ne sais pas ...

  5. #5
    Membre averti
    Homme Profil pro
    Inscrit en
    Avril 2013
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Avril 2013
    Messages : 31
    Par défaut
    Bonjour,


    Merci Ebastien d'avoir pris le temps de tester.

    En faisant F12, je n'ai pas pareil que toi :


    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
     
    using System;
    using System.Runtime.InteropServices;
     
    namespace EpsonFP2
    {
        [Guid("0A454FD5-91A3-4AEF-9FEC-07EDE1DA4421")]
        [ClassInterface(0)]
        [TypeLibType(36)]
        [ComSourceInterfaces("EpsonFP2.__EpsonFPControl")]
        public class EpsonFPControlClass : _EpsonFPControl, EpsonFPControl, __EpsonFPControl_Event
        {
            [DispId(1745027138)]
            public virtual short COMPort { get; set; }
            [DispId(1745027137)]
            public virtual enumEPS_EUROSETTINGS EuroSettings { get; set; }
            [DispId(1745027568)]

    J'ai testé sur une autre machine (Machine Virtuelle), j'ai exactement la même chose.

    Aurais je fais quelque chose de travers ?

  6. #6
    Membre averti
    Homme Profil pro
    Inscrit en
    Avril 2013
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Avril 2013
    Messages : 31
    Par défaut
    Bon, j'ai testé un Projet avec le Framework 4, et je n'ai pas cette erreur.




    Par contre, les machines ciblent n'auront pas ce Framework.




    Donc, dès que je change le Framework vers le 3.5, j'ai de nouveau le soucis




    Ebastien, as tu fais le test en Framwork 4 ? Si oui, peux tu tester de changer vers le 3.5 (si ça te dérange pas) ?




    Merci

Discussions similaires

  1. Réponses: 3
    Dernier message: 21/06/2012, 10h18
  2. [XL-2007] Ajout d'une reference
    Par martinmacfly dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 15/11/2011, 21h09
  3. Réponses: 2
    Dernier message: 20/02/2011, 18h48
  4. Réponses: 1
    Dernier message: 23/10/2009, 10h13
  5. Réponses: 4
    Dernier message: 22/07/2009, 15h55

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