Einzelnen Beitrag anzeigen

maz

Registriert seit: 19. Mär 2007
Ort: Wien
4 Beiträge
 
#1

OLEVariant von einer ActiveX

  Alt 19. Mär 2007, 10:04
Hi Leute,
ich benutze eine ActiveX die folgende Function bietet:
Delphi-Quellcode:
function GetTuneDataLabels(nSegmentNumber: Integer; var pvarLabels: OleVariant;
                               var pnArraySize: Integer): Integer; dispid 99;
Das Ding verlangt ein OleVarinat. In der Doc (für C++) steht folgendes:
The variable pvarLabels must be initialized to VARIANT type VT_EMPTY. On return, this variable will be of type VT_ARRAY | VT_BSTR. On return, pnArraySize will contain the number of entries in the pvarLabels array.
Example
// example for GetTuneDataLabels
long nSegment = 1; // first tune record
VARIANT varLabels;
VariantInit(&varLabels);
long nArraySize = 0;
long nRet = XRawfileCtrl. GetTuneDataLabels (nSegment, &varLabels, &nArraySize);
if( nRet != 1 )
{
::MessageBox( NULL, _T(“Error getting tune record information”), _T(“Error”), MB_OK );

}


Wenn ich da ein OLEVariant übergebe, gibt diese ActiveX komponente immer einen Fehler, von wegen nicht richtig initialisiert (die OLEVariant). Hat jemand eine Idee, wie ich das machen könnte, bzw. wie man die OLEVAriant mit "type VT_EMPTY initialisiert"? soweit ich weis is das in delphi nicht nötig.
Es gab schon mal einen beitrag zu diesem thema, der blieb allerdings ohne antwort.
danke für jeden tipp,
maz
  Mit Zitat antworten Zitat