Als ich mit dem WinSock-Control einen Chat programmieren wollte stoß ich auf die Send-Methode des Controls. Der Funktion muss man ein VARIANT-Objekt übergeben. Wie muss ich das managern dass ich einen String übergeben kann? In der Klasse sind ja nur Elemente wie bstrVal oder vt vorhanden. Wie kann man mit dieser Klasse "VARIANT" umgehen und einen String darin speichern und ihn Senden?
Programmieren - alles kontrollieren 4.941 Themen, 20.708 Beiträge
ein VARIANT ist der allgemeingueltige COM datentyp, der fuer die kommunikation zwischen com objekten zustaendig ist. der einfachste weg son ding in einem vc++ programm zu verwenden ist es, die zugehoerigen atl klassen zu benutzen: die haben methoden um alles passend hin- und herzukonvertieren.
WM_HOPETHISHELPS
thomas woelfer
Gibt es dazu auch eine Hilfe ( Tutorial ) in deutsch? ( Habe nur ein Buch für MFC )
die komplette doku ist in der vc++ online hilfe oder unter msdn.microsoft.com, allerdings auf englisch. bei der deutschen autoren-edition von vc++ sind teile der doku auf deutsch, aber bei weitem nicht alles - ein deutsches tutorial zu com kenne ich leider nicht, lese eigentlich immer nur englische fachbuecher. allerdings ist in meinem letzten sonderheft auch ein bisschen was zu com, automation und atl drin...
WM_FYI
thomas woelfer
Einen String in eine VARIANT Variable übergeben geht so:
COleVariant vInhalt;
CString strInhalt;
// Wert für String festlegen
strInhalt = "Spalte1";
// Übergabe eines Strings an eine VARIANT-Variable
vInhalt.bstrVal = strInhalt.AllocSysString();
Long-Variable auf VARIANT-Variable übergeben
// long-Variable auf VARIANT-Variable übergeben
vIndex.lVal = 1;
Es stimmt, es gibt wenig deutsche Doku zu diesen Thema. Ich benutze das Buch "Inside Visual C++"(v. D.J.Kruglinski) und das Buch "MFC Entwickler-Workshop"(v. F.Crockett, J. Garner) beide bei MicrosoftPress erschienen.