Programmieren - alles kontrollieren 4.934 Themen, 20.613 Beiträge

Visual C++, CString in Variant umwandeln

anul / 7 Antworten / Flachansicht Nickles

Ich will die Funktion:


void CMSComm::SetInput(const VARIANT& newValue) aus dem Kommunikationssteuerelement(MSComm) verwenden.


Wie übergebe ich den Parameter newValue richtig? Ich habe es so versucht:


COleVariant vSend;
UpdateData(true);   // Wert kommt aus Ansicht


// Übergabe eines Strings an eine VARIANT-Variable
vSend.bstrVal = m_strTextSend.AllocSysString();


// String senden
m_ocxMsComm.SetOutput( vSend);     


Ich erhalte beim Ausführen die Meldung: "Invalid property value"
Was mache ich falsch?


Wie kann ich eine char Variable in eine Variabe vom Typ VARIANT und zurück wandeln?


 


 

bei Antwort benachrichtigen
ist voellig ok so thomas woelfer
anul thomas woelfer „ist voellig ok so“
Optionen

Welche Variant Typen gibt es? Mir sind COleVariant und VARIANT bekannt. Welche Elemente gibt es in diesen Variant-Typen.

Es handelt sich um das ActiveX Steuerelement MSComm(mscomm32.ocx).
Ich möchte die Funktion SetOutput (void CMSComm::SetOutput(const VARIANT& newValue)) benutzen.
Diese Funktion sieht in der Wrapper-Klasse CMSComm so aus:

void CMSComm::SetOutput(const VARIANT& newValue)
{
static BYTE parms[] = VTS_VARIANT;

InvokeHelper(0x19, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms, &newValue);
}
Ich rufe die Funktion folgendermaßen auf:

void CComSchnDlg::OnButsend()
{

COleVariant vSend;

UpdateData(true);

// Übergabe eines Strings an eine VARIANT-Variable
vSend.bstrVal = m_strTextSend.AllocSysString();

// String senden
m_ocxMsComm.SetOutput( vSend);

}

Die MS-Hilfe(Comm96.hlp) sagt u dem Übergabeparameter aus:
Die Output-Eigenschaft kann Textdaten oder Binärdaten übertragen.
Damit mit der Output-Eigenschaft Textdaten übertragen werden können,
müssen Sie einen Wert vom Typ Variant angeben, der eine Zeichenfolge enthält.
Damit Binärdaten übertragen werden können, müssen Sie einen Wert vom Typ Variant an die Output-Eigenschaft übergeben, in dem ein Byte-Datenfeld enthalten ist.

Mein Buch:"Das große Buch Visual C++ 5" von Dr. Fleischhauer
im Data Becker Verlag erschienen sagt nur aus, daß der Übergabeparameter vom Typ Variant ist.

Wo finde ich mehr Informationen zu diesen Steuerelement?
Gibt es ein Visual C++ Beispiel? Wo?

bei Antwort benachrichtigen
soweit ok anul
Step by Step... anul
So einfach anul