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
ist voellig ok so anul
thomas woelfer anul „ist voellig ok so“
Optionen

du hast das was falsch verstanden. COleVariant ist ein kapselung von VARIANT fuer mfc. VARIANT selbst ist der zugrunde liegende ole 'datentyp', wobei datentyp nicht die richtige bezeichnung ist: ein variant kann mehr oder minder beliebige datentype aufnehmen - das ding dien einzig und allein dem transport von daten zwischen zwei prozessen per ole. was dann genau in einem variant drin ist bzw. sein muss, das bestimmt derjenige, der den variant spaeter ausliesst - in deinem fall das control.

und das control will offenbar ein array aus bytes als parameter sehen und eben keinen bstr. ein beispiel (in vb) ist hier:

http://support.microsoft.com/directory/article.asp?ID=KB;EN-US;Q158008&

this posting contains no tpyos.
bei Antwort benachrichtigen
soweit ok anul
Step by Step... anul
So einfach anul