MSCommControl, "\x00" senden



  • guten morgen,

    ich möchte mit dem ActiveX-Control "MSComm" unter anderem einen CString "\x00" senden. Das klappt aber nicht, Ursache wird wohl die Nullterminierung von Strings sein. Etwas Code:

    CString send = "\x00";
    	COleVariant out;
    	out = COleVariant(send);
    	m_ComControl.put_Output(out);
    

    Weiss jemand, wie ich m_ComControl "überreden" kann den gewünschten Wert zu senden (z.B. als char x = 0) ?



  • veruch doch mal bitte:
    CString send = "\\x00";



  • bringt auch nix, vielleicht habe ich mich auch ungeschickt ausgedrückt, ich möchte den ascii-wert 0 verschicken, was einem leeren String entspricht. ich bin jetzt dabei das ganze mit der klasse CSERIELL hier aus dem forum abzuwickeln, dort tritt dieses problem nicht auf.

    besten dank für die antwort. würde mich natürlich trotzdem interessieren, ob dieses problem mit mscomm lösbar ist.



  • und wenn du

    BYTE send = 0;

    machst?



  • hab ich schon probiert:

    BYTE send = 0;
        COleVariant out;
        out = COleVariant(send);
        m_ComControl.put_Output(out);
    

    hilft aber auch nicht, es wird nichts gesendet.



  • Hi!
    versuch doch mal '\x00'. (also keine Gänsefüße, sondern nur ein Strich (über dem #))

    Wenn das klappt (oder auch wenn nicht), dann poste mir mal bitte, welche Headerdatei du einbindest, um das MSCOMM Steuerelemt zu benutzen. Ich würde es nämlich auch gerne benutzen, aber ich habe keine Ahnung, wie ich die Methoden ansprechen soll, wenn ich keine Headerdatei habe.

    Gruß
    Maik



  • Hallo Maik,

    '\x00' habe ich auch schon ohne Erfolg probiert. Inzwischen habe ich das Ganze mit CSeriell in den Griff bekommen. Um das MsComm-Steuerelement einzubinden bin ich wie folgt vorgegangen (VS7):

    1. In der Dialog-Entwurfsansicht Rechtsklick -> ActiveX-Steuerelement einfügen
    2. Microsoft Communication Control 6.0 auswählen
    3. Dann dem Steuerelement eine Variable hinzufügen, Kategorie: Control, Variablentyp: CMscomm
    4. Die zugehörige Header-, bzw. cpp-Datei werden dann automatisch dem Projekt hinzugefügt.

    Beim Visual Studio 6 ist der Ablauf ähnlich, wenn ich mich recht erinnere Projekt->Dem Projekt hinzufügen->ActiveX ... Allerdings werden hier die Dateien sofort nach der Auswahl ins Projekt übernommen.

    grüsse


Anmelden zum Antworten