Versuch in VARIANT-Speicher zu verschieben



  • Hallo,

    ich versuche ein VARIANT vom Typ VT_VARIANT | VT_ARRAY mit der Funktion (von National Instruments LabVIEW)

    MoveBlock(const void* src, void* dest, size_t size);
    

    zu verschieben.
    Hier mein Bsp.:

    void CAQSIRCamServerCtrl::GetImageInfo(VARIANT* InfoBuffer, ImageInfoStruc* m_pwInfoBuffer)
    {
        AFX_MANAGE_STATE(AfxGetStaticModuleState());
    
        // TODO: Add your dispatch handler code here
        if(InfoBuffer->vt == VT_VARIANT | VT_ARRAY)
            MoveBlock(((UHandle*)m_pwInfoBuffer), ((UHandle*)InfoBuffer->parray->pvData), m_pwInfoBuffer->wStructSize);
    }
    

    Ich bin mir mit dem Pointer auf die VARIANT Daten nicht sicher.

    InfoBuffer->parray->pvData
    

    Ist das meine Adresse auf das erste Element?
    Die Funktion wird ohne Fehler beendet, aber die Daten in meinem Zielarray sind leer.

    Danke für eure Hilfe 👍



  • Die Frage geht eher in Richtung "Wie verwende ich die LabView API richtig" statt dass sie etwas mit der Sprache C++ an sich zu tun hat. LabView kenne ich nicht. Von daher kann ich Dir da auch nicht helfen.

    Lies die Doku zu VARIANT.



  • krümelkacker schrieb:

    Die Frage geht eher in Richtung "Wie verwende ich die LabView API richtig" statt dass sie etwas mit der Sprache C++ an sich zu tun hat. LabView kenne ich nicht. Von daher kann ich Dir da auch nicht helfen.

    Lies die Doku zu VARIANT.

    Funtkioniert auch nit mit memcopy...


Anmelden zum Antworten