XML und Sonderzeichen in C++ (immer noch offen!!)



  • Wenn ich den Aufruf

    TIdURI::URLDecode(__classid(TIdURI), "ads");
    

    schreibe, dann treten folgende Fehler auf:

    [Linker Error] Error: Unresolved external 'Iduri::TIdURI::' referenced from ...UNIT1.OBJ
    [Linker Error] Error: Unresolved external '__fastcall Iduri::TIdURI::URLDecode(System::TMetaClass *, System::AnsiString)' referenced from ...UNIT1.OBJ

    Wenn ich dann die Indy10 einbinde, dann treten mehrere Fehler in der Datei HTTPApp.hpp auf, diese Datei nutze ich hingegen nicht bewußt:

    [C++ Error] Httpapp.hpp(94): E2293 ) expected
    [C++ Error] Httpapp.hpp(983): E2189 extern variable cannot be initialized
    [C++ Error] Httpapp.hpp(983): E2449 Size of 'ExtractHeaderFields' is unknown or zero
    [C++ Error] Httpapp.hpp(983): E2188 Expression syntax
    [C++ Error] Httpapp.hpp(983): E2293 ) expected
    [C++ Error] Httpapp.hpp(984): E2189 extern variable cannot be initialized
    [C++ Error] Httpapp.hpp(984): E2449 Size of 'ExtractHTTPFields' is unknown or zero
    [C++ Error] Httpapp.hpp(984): E2188 Expression syntax
    [C++ Error] Httpapp.hpp(984): E2293 ) expected
    [C++ Warning] Unit1.cpp(96): W8004 'NodeList' is assigned a value that is never used
    [C++ Error] Unit1.cpp(183): E2096 Illegal structure operation
    [C++ Error] Unit1.cpp(319): E2096 Illegal structure operation
    [C++ Error] Unit1.cpp(473): E2096 Illegal structure operation
    [C++ Error] Unit1.cpp(584): E2096 Illegal structure operation



  • Die erste Fehlermeldung wird durch eine fehlende lib verursacht.
    Versuche doch mal Indy9 statt 10 zu verwenden. Soweit ich weiß funktioniert Indy10 nicht richtig.
    Ich spreche hier aber nicht aus Erfahrung, da ich die Indy-Bibliotheken noch nie verwendet habe.



  • Wenn ich die Indy9 einbinde treten die ersten beiden Fehler auf!



  • Was kann ich machen, sodass ich diese Funktion benutzen kann oder einfach irgendwas, sodass ich meinen Text decodieren kann?!



  • Hallo

    Zumindestens das hier kompiliert :

    TIdURI* uri = new TIdURI(0);
      AnsiString Text = uri->URLDecode(__classid(TIdURI), "ads");
      delete uri;
    

    bis bald
    akari



  • Danke aber irgendwie tritt jedes mal, wenn ich die Indy10 einbinde die oben gennanten Fehler in der httpapp auf!
    Mit der Indy9 geht es garnicht.
    Kann man irgendwo die httpapp in einer neueren Version downloaden oder was mache ich falsch???
    Als include nehmen ich die IdURI.hpp...



  • Hallo

    TheCaleb schrieb:

    Danke aber irgendwie tritt jedes mal, wenn ich die Indy10
    einbinde die oben gennanten Fehler in der httpapp auf!

    Indy 10 läuft auf dem Builder gar nicht.

    Mit der Indy9 geht es garnicht.

    Das glaube ich dir nicht. Ich habe ein normal installiertes Indy 9 und habe den geposteten Code kompiliert.
    Desweiteren ist "geht nicht" keine Fehlerbeschreibung. Vermutlich hast du Indy 9 nicht richtig installiert bzw. im Projekt nicht richtig eingebunden.

    Kann man irgendwo die httpapp in einer neueren Version downloaden oder was mache ich falsch???

    Du wirst wohl Indy nicht in Einzelteilen bekommen oder zum laufen kriegen.

    Als include nehmen ich die IdURI.hpp...

    Das ist richtig.

    bis bald
    akari



  • Ok, ich nehme nun Indy9(wurde von dem Borland Builder mit installiert), den Code von dir und die besagte Include- Datei.
    Anschließend bekomme ich folgende Fehler:

    [Linker Error] Error: Unresolved external '__fastcall Iduri::TIdURI::TIdURI(const System::AnsiString)' referenced from ...\UNIT1.OBJ
    [Linker Error] Error: Unresolved external 'Iduri::TIdURI::' referenced from ...\UNIT1.OBJ
    [Linker Error] Error: Unresolved external '__fastcall Iduri::TIdURI::URLDecode(System::TMetaClass *, System::AnsiString)' referenced from ...\UNIT1.OBJ



  • Hallo

    Du must in dem Projekt noch die Library-Pfade anpassen, in dem du den Pfad zu Indy einträgst.

    bis bald
    akari



  • Beim BCB2007 ist Indy10 mit dabei. Vielleicht läuft es ja da.



  • Hallo,

    ich habe jetzt unter Linker -> Paths and Defines -> Library search path ;$(BDS)\lib\indy9 angehängt, das müsste ja der Pfad zu Indy sein oder so muss ich sonst noch was eintragen, denn die Fehler treten immer noch auf!
    Was mache ich falsch oder was habe ich vergessen??



  • P.S. ich habe BCB 2006 und da ist Indy9 und 10 dabei.


Anmelden zum Antworten