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++Builder Discussion :

declaration et l'initialisation d'un l'objet


Sujet :

C++Builder

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Avril 2006
    Messages
    121
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 121
    Par défaut declaration et l'initialisation d'un l'objet
    bonjour,
    je voulais declarer et initialiser un objet

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    TChilkatFTP *CFTP1= new TChilkatFTP(NULL);
    Et j'ai l'erreur suivante:

    [C++ Error] Unit1.cpp(135): E2015 Ambiguity between '_fastcall Chilkatftplib_tlb::TChilkatFTP::TChilkatFTP(Classes::TComponent *)' and '_fastcall Chilkatftplib_tlb::TChilkatFTP::TChilkatFTP(void *)'

    sachant que TChilkatFTP est un ActiveX que j'ai importé , il marche tres bien en mettant le control TChilkatFTP sur une forme, mais comme je programme un service ou il n'y a pas de forme je suis obligé de faire la declaration et l'initialisation de l'objet comme au dessus.

    merci pour votre aide

  2. #2
    Rédacteur
    Avatar de Greybird
    Inscrit en
    Juin 2002
    Messages
    673
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 673
    Par défaut
    Bonjour,

    Il faut que tu spécifie le type de ton NULL pour résoudre l'ambiguïté.
    Un truc du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    TChilkatFTP *CFTP1= new TChilkatFTP((TComponent) NULL);
    Cordialement,

    Arnaud

  3. #3
    Membre confirmé
    Inscrit en
    Avril 2006
    Messages
    121
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 121
    Par défaut
    merci beaucoup pour votre reponse, neaumoins j'ai comme meme une erreur

    voici mon programme:

    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
     
    TChilkatFTP *CFTP1= new TChilkatFTP((TComponent) NULL);
     
    CFTP1->Hostname=  WideString (Edit1->Text);
    CFTP1->Username=  WideString (Edit2->Text);
    CFTP1->Password=  WideString (Edit3->Text);
    CFTP1->UseIEProxy= VARIANT_BOOL(true);
    try {
    CFTP1->Connect();
    Memo2->Lines->Add("connection ok");
    ok = true;
         }
    catch (...)
          {
    Memo2->Lines->Add("No Connection ");
    ok = false;
          }
    if (CFTP1->IsConnected){
    if ( CFTP1->GetFile(WideString ("file.txt"),WideString (Edit6->Text))) Memo2->Lines->Add("the file  file.txt is downloud and saved in  " +Edit6->Text);
                                                                            }
    else    Memo2->Lines->Add("the file  file.txt dont existe");
    CFTP1->Disconnect();
             }
    l'erreur que j'ai est la suivant

    [C++ Error] Unit1.cpp(136): E2459 VCL style classes must be constructed using operator new

    merci d'avance

  4. #4
    Rédacteur
    Avatar de Greybird
    Inscrit en
    Juin 2002
    Messages
    673
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 673
    Par défaut
    Quelle est la ligne 136 ?

  5. #5
    Membre expérimenté
    Avatar de lanonyme
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    229
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 229
    Par défaut
    Bonjour,

    j'ai eu cette erreur :
    [C++ Error] Unit1.cpp(136): E2459 VCL style classes must be constructed using operator new
    quand j'ai essayer de créer dynamique un TStringList

    En effet pour les composant de la VCL, apparement, il faut les declararé avec un pointeur et ensuite les instancier avec new.

    lanonyme

  6. #6
    Membre confirmé
    Inscrit en
    Avril 2006
    Messages
    121
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 121
    Par défaut
    la ligne 136 est la suivante:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    TChilkatFTP *CFTP1= new TChilkatFTP((TComponent) NULL);
    justement c'est ce que je fait je declare avec un pointeur et j'instancié apres avec un new
    mais j'ai toujour la meme erreur.
    [C++ Error] Unit1.cpp(136): E2459 VCL style classes must be constructed using operator new

    merci pour votre aide.

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

Discussions similaires

  1. [PHP 5.3] initialiser un attribut (un objet) d'une classe
    Par ikuzar dans le forum Langage
    Réponses: 3
    Dernier message: 20/08/2012, 15h29
  2. Réponses: 4
    Dernier message: 08/05/2012, 12h22
  3. [SDL+OpenGL] Initialisation de OpenGL orienté objet ?
    Par legend666 dans le forum OpenGL
    Réponses: 1
    Dernier message: 10/10/2005, 09h44
  4. [servlet] initialisation d'objets
    Par tiPouick dans le forum Servlets/JSP
    Réponses: 11
    Dernier message: 05/08/2003, 12h12
  5. Declaration d objets en tableau
    Par Spin dans le forum Composants VCL
    Réponses: 6
    Dernier message: 16/03/2003, 22h18

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