Von VisualStudio.Net C++ 2003 zu VisualStudio c++ 2005



  • Knuddlbaer schrieb:

    Da war doch mal die Rede von nem Converter für den Managed C++ kram zu C++/CLI . Ich meine nach langer ankündigung kam da auch was. Ich meine man findet da etwas im Blog von Jochen. Ansonsten kannst Du mal ein wenig in den Beiträgen stöbern, das Thema Managed C++ -> C++/CLI gabs mehrmals hier.

    wo finde ich Blog von Jochen?





  • Knuddlbaer schrieb:

    http://blog.kalmbachnet.de/?postid=95

    Vielen Dank für den Link!

    Leider wird die Syntax immer noch nicht angenommen! Warum? Was muss ich beachten?

    Bitte nochmal helfen!
    Danke



  • Du hast alle notwendigen Links erhalten um die Syntax von Managed C++ zu C++/CLI zu bringen. Lesen musst Du schon selbst.

    Du kannst gerne gezielt eine Fehlermeldung mit der dazugehörigen Zeile posten, aber es wird Dir keiner mit hellseherischen Fähigkeiten sagen können was Du da treibst.



  • Wenn Du Dir die Mühe sparen willst alles von "Managed C++" nach "C++/CLI" zu konvertieren, dann kannst Du einfach in den Projekteinstellungen den Schakter "/clr:oldSyntax" verwenden!
    Damit wird die bisherige Syntax verwendet.



  • hallo,

    ich habe ebenfalls ein problem mit clr. ich wollte das ganze von der alten syntax in die neue umschreiben - von 200 fehlern bleiben jetzt noch 11...

    hat vielleicht jemand eine ahnung wie ich das

    protected:
    		void Dispose(Boolean disposing)
          {
             if (disposing && components)
             {
                components->~IContainer();
             }
    		 Dispose(disposing);
          }
    

    (error C2605) ändern muss bzw. einen destructor dafür definiere?

    ein weiteres problem:

    wieso kann ich nicht convert::tobyte machen?

    private: System::Void buttonConnect_Click_1(System::Object^  sender, System::EventArgs^  e) 
    {
    
       if(!bTheConnected)
       {
          IFormatProvider^ pcIFormatProvider = NULL;
          UCHAR ucUSB;
          USHORT usBaud = 57600;
    
          if(comboANTChip->Text->Equals("AP1"))
             usBaud = 50000;
    
    	  ucUSB = comboUSBPort->Text->ToByte(pciFormatProvider);
          if(ucUSB > 4)
             ucUSB = 0;
    ....
    

    fehler: ( error C2440: 'Initialisierung': 'int' kann nicht in 'System::IFormatProvider ^' konvertiert werden
    1> Es ist kein benutzerdefinierter Konvertierungsoperator verfügbar, oder
    1> Es ist keine Standardkonvertierung von der mittels Boxing geschachtelten Form des arithmetischen Typs in den Zieltyp vorhanden.
    error C2039: 'ToByte': Ist kein Element von 'System::String'...)

    thanx
    martin



  • Anstelle von

    IFormatProvider^ pcIFormatProvider = NULL;
    

    mal mit

    IFormatProvider^ pcIFormatProvider = nullptr;
    

    probieren.
    Simon



  • thanx - IFormatProvider^ funkt jetzt. nun bleibt mir noch folgendes

    wieso bekomme ich bei dem code

    ucUSB = comboUSBPort->Text->ToByte(pcIFormatProvider);
    

    error C2039: 'ToByte': Ist kein Element von 'System::String'?

    thanx
    martin



  • sojahulk schrieb:

    ucUSB = comboUSBPort->Text->ToByte(pcIFormatProvider);
    

    error C2039: 'ToByte': Ist kein Element von 'System::String'?

    martin

    Konvertiere den String zu Bytes mit Hilfe der Encoding Klasse.
    Simon



  • Hallo,

    sojahulk schrieb:

    thanx - IFormatProvider^ funkt jetzt. nun bleibt mir noch folgendes

    wieso bekomme ich bei dem code

    ucUSB = comboUSBPort->Text->ToByte(pcIFormatProvider);
    

    error C2039: 'ToByte': Ist kein Element von 'System::String'?

    thanx
    martin

    Und warum soll Convert nicht funktionieren?:

    ucUSB = System::Convert::ToByte(comboUSBPort->Text, pcIFormatProvider);
    

    MfG,

    Probe-Nutzer


Anmelden zum Antworten