Nichtdeklarierter Bezeichner- obwohl richtiger Header eingebunden?



  • Hi, ich entdecke den Fehler irgendwie nicht.

    In einer Funktion stehen folgende Zeilen:

    Server003Class *pCServer = new Server003Class;
          pCServer->RecievePDF(dimeAttach);
    

    Der liebe Compiler meldet an, Server003Class sei ein nicht- deklarierter Bezeichner. Das wudnert mich weil:

    a) der Header in welchem Server003Class deklariert ist included ist, dort sieht das Ganze wie folgt aus:

    public __gc class Server003Class : public System::Web::Services::Protocols::SoapHttpClientProtocol {
    
            public: Server003Class();
            public: [System::Web::Services::Protocols::SoapDocumentMethodAttribute(S"http://tempuri.org/RecievePDF", RequestNamespace=S"http://tempuri.org/", ResponseNamespace=S"http://tempuri.org/", Use=System::Web::Services::Description::SoapBindingUse::Literal, ParameterStyle=System::Web::Services::Protocols::SoapParameterStyle::Wrapped)]
            System::Void RecievePDF(Server003::DimeAttachment *  dAtt);
    	//(...)
    

    b) IntelliSense alle Methoden aus besagter Klasse kennt.



  • Sollte dies:

    Server003Class *pCServer = new Server003Class;
    

    nicht besser wie folgt aussehgen?

    Server003Class *pCServer = new Server003Class();
    


  • Es wird auch anders verstanden. Aber Recht haste. Trotzdem hilft das nicht weiter 😞



  • OT: Ist das immer noch Dein WSDL-Problem? Lass doch den Wrapper für C# erzeugen und binde dann die DLL ein...



  • Es ist die selbe Anwendung, aber nicht mehr wirklich das WSDL Problem. Das war darauf begründet, dass ich mich auf den automatisch generierten Code und dessen Richtigkeit verlassen hatte...mach ich nie wieder.

    Hier versteh ich einfach nicht Wieso die Klasse angeblich unbekannt sein soll, wenn IntelliSense diese und alle ihre Member kennt, der Header, in welchem das definiert explizit eiungebunden wurde und trotzdem "nicht deklarierter Bezeichner" kommt. Andere Members aus anderen Klassen des Headers kennt er ja. An der Syntax ist im Header alles so weit in Ordnung. Wenn ich es bis morgen nicht hab, versuche ich es echt mal mit C#...nur dass ich damit bisher noch nie was gemacht habe.



  • Oh...Fehler gefunden. Ich hatte den Namespace vergessen. Es muss

    Server003::Server003Class
    

    heissen, sonst klappt's nicht.


Anmelden zum Antworten