Ankündigung

Einklappen
Keine Ankündigung bisher.

RS-COM unter C++

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • RS-COM unter C++

    Ich arbeite mit Excel-VBA bisher problemlos
    Jetzt muss ich unter Microsoft Visual C++ 2010 Express arbeiten.
    Wie kann ich es installieren und anwenden?

    Danke

  • #2
    AW: RS-COM unter C++

    Hallo gamma,

    ich nehme an, dass du mit managed C++, also auf .NET Basis, programmieren willst/muss.

    In dem Fall musst Du als erstes in deinem Projekt den Verweis auf die Dlubal.RSTAB6.dll erstellen. Diese Befindet sich idR. hier: Installationsverzeichnis\Dlubal\RSTAB7\.NET wenn man von RSTAB7 ausgeht.

    Damit bekommst Du Zugriff auf alle Funktionen der RSCOM Schnittstelle.
    Die Benutzung der Funktionen sollte dann recht ähnlich sein, wie Du sie schon auf VBA kennst.

    Hoffe das hilft für den Anfang.

    Gruß

    Kommentar


    • #3
      RS-COM Verweis funktioniert aber die Anwendung nicht

      Danke. Der Verweis funktioniert, aber kann ich nicht anwenden. Ich habe 2 Probleme
      1. Da andere Anwendung die Funktion Application auch besitzt muss man ein Alias benutzen. Aber das funktioniert nicht:

      using namespace rscom = Dlubal::RSTAB6 ;

      Die Fehlermeldung sind:
      1>RSTAB-RSCOM.cpp(8): error C2143: Syntaxfehler: Es fehlt ';' vor '='
      1>RSTAB-RSCOM.cpp(8): error C2871: 'rscom': Es ist kein Namespace mit diesem Namen vorhanden
      1>RSTAB-RSCOM.cpp(8): error C2513: 'int': Keine Variable vor '=' deklariert
      1>RSTAB-RSCOM.cpp(8): error C2882: 'RSTAB6': Unzulässige Verwendung eines Namespace-Bezeichners in einem Ausdruck

      2. Wo kein Alias brauche, der Verweis funktioniernt. Aber bei der Definitioni von IrsStructure bekomme ich Error:

      using namespace Dlubal::RSTAB6; // Das funktioniert
      rstab::rstab(void)
      {
      IrsStructure IStructure = Marshal::GetActiveObject("RSTAB6.Structure") = IrsStructure; // Das funktioniert nicht
      }


      Die Fehlermeldungen:
      1>rstab.cpp(8): error C3149: "Dlubal::RSTAB6::IrsStructure": Dieser Typ kann ohne "^" der obersten Ebene hier nicht verwendet werden.
      1>rstab.cpp(8): error C2275: 'Dlubal::RSTAB6::IrsStructure': Ungültige Verwendung dieses Typs als Ausdruck

      Kommentar


      • #4
        AW: RS-COM unter C++

        Hallo gamma,

        c++ (CLI und COM) ist schon lange her bei mir (bevorzuge einfach C#).

        Aber versuche mal das hier:

        System::Object^ o = Marshal::GetActiveObject("RSTAB6.Structure");

        Dlubal::RSTAB6::IrsStructure^ RSPos6 = (Dlubal::RSTAB6::IrsStructure^) o;

        Dlubal::RSTAB6::IrsApplication^ RSApp6 = (Dlubal::RSTAB6::IrsApplication^)RSPos6->rsGetApplication();

        String^ str = RSPos6->rsGetStructureName();


        gruß

        Kommentar

        Lädt...
        X