001
20.10.2003, 10:31 Uhr
RHBaum
|
Zitat: |
Outlook Wrapper-Klassen
|
Schreib mal etwas maehr ueber die Add funktion. Was erwartet er genau als 2. Parameter, da muss mehr stehen ...
Prinzipiell, VARIANT ist M$ schmutz typ, nen Typ wo alles reinpasst, OLE faehig. Was genau er drin erwartet, sollte in der Doku stehen der Member vt bestimmt, als was der Variant seinen Wert interpretiert, also der interne Typ sozusagen. der Wert selber ist nen Union, was dir Zugriff auf diesen Wert getyped je nach verwendungszweck ermoeglicht. Wobei VARIANT nur OLE Datentypen kennt (inklusive ActiveX Interface Schnittstellen etc ... )
1. Beispiel, es soll nen 32 bit Int sein ... VARIANT var; var.vt = VT_I4; var.lVal = 12345;
2. Beispiel es soll nen String (OLE: BSTR) Sein .... VARIANT var; var.vt = VT_BSTR; var.bstrVal = *pBstr; // wobei pBstr nen Zeiger auf deinen BSTR selber ist, muss also schon Existieren
das uebergeben an deine Funktion ist dan recht einfach: newFolder.Add(_T("neuerOrdner"), &var);
Noch was: LPTSTR = long pointer TString != LPSTR long pointer String. TString (TCHAR *) ist die M$ definition auf nen Zwitter String. Das bedeutet der String kann unterschiedliche Formate annehmen. Im einfachsten Fall ist es nen normaler String (char * ), aber bei Unicode anwendungen (_UNICODE gesetzt) mutiert er zu nem wide string (wchar_t * ). einfach TCHAR * == char * zu setzen und zu hoffen, das niemand auf die Idee kommt, dein Programm als Unicode Prog zu uebersetzen ist nicht so toll. Also pass lieber glich auf. Fuer die Umwandlung von constanten Zeichenketten gibts nen Makro . _T() was dir die Zeichen richtig Mappt. Laso _T("mein Text") verwenden, wenn mit TStrings arbeitest !
Ciao ... Dieser Post wurde am 20.10.2003 um 10:32 Uhr von RHBaum editiert. |