000
23.11.2002, 13:18 Uhr
~STL
Gast
|
Hallo
Ich hab da mal ne Frage an C++ Gemeinde,das Theme kommt aus der ATL/COM Ecke. Hab folgendes Problem mit dem Code:
STDMETHODIMP CSteffen::Calculate(Collection1 **cDaten, VARIANT *Parameter, SAFEARRAY **Ergebnis, VARIANT_BOOL *) { AFX_MANAGE_STATE(AfxGetStaticModuleState()) long StartI; long EndI; float *ergebniss = NULL ; CString Eintrag,Eintrag1,Eintrag2,Eintrag3; // Hier wird der Bereich ausgelesen das funktioniert 1a SafeArrayGetLBound(*Ergebnis,1,&StartI); // Hier wird der Bereich ausgelesen das funktioniert 1a SafeArrayGetUBound(*Ergebnis,1,&EndI); // Hie sollt eigentlich der Parameter(Safearray [*Ergebnis]) mit dem // Wert 56 gefüllt werden SafeArrayAccessData(*Ergebnis,(void**)&ergebniss);
// in dem Schleifenkopf sollte eigentlich mi [StartI und EndI] die // Obere und unterer Grenze des zu füllenden Array behandelt // werden, hab es erst einmal bewußt nicht benutzt.
for (int i = 1;i<=5;i++) { *ergebniss = ergebniss[i]=56; } SafeArrayUnaccessData( *Ergebnis ); return S_OK; } Soviel erst einmal zum Code.Nun die Frage warum ist der Parameter[*Ergebnis] immer noch NULL? Was mus ich unternehmen um die Werte 56( die ja im Array[5][*ergebniss] enthalten sind) in den Parameter [*Ergebnis] zu übergeben.Die Funktion [Calculate]ist vorgegeben.
Gruß STL |