Einzelnen Beitrag anzeigen

Meta777

Registriert seit: 8. Sep 2004
Ort: Magdeburg
248 Beiträge
 
Delphi 10 Seattle Enterprise
 
#5

Re: wie C "VarData.pArray" variant in pascal konve

  Alt 7. Dez 2009, 12:08
Zitat von himitsu:
Wo kommt varData her, bzw. pData oder wird pData mit dem Inhalt vom varData gefüllt?
Ist ja nicht grad viel von dem unverständlichen C-Code.

Willst du das Aray erstllen/befüllen oder auslesen?
VarData vom Typ Variant ist ein Parameter eines Events. Der Source-Schnipsel ist aus einem C-Beispiel-Schnipsel der Dokumentation zu dem ActiveX-Control. Original Deklaration der Funktion mit dem relevanten Teil:
Code:
HRESULT CSample::OnStartScan(short a_nStatus,
                             short a_nFilmNumber,
                             long a_nBytesRead,
                             long nTotalBytesRead,
                             VARIANT varData)
{
   HRESULT
      hr = S_OK;
   unsigned char
      *pImageData = NULL;
   short
      result = 0;
   SAFEARRAY
      *psa = NULL;
...
..
.
//////////// D E R  R E L E V A N T E  T E I L ////////////

         psa = varData.parray;
         //                                                   
         // Lock the safearray to access the data it contains
         //                                                   
         hr = SafeArrayAccessData(psa, (void **)&pImageData);
         if (FAILED(hr)) {
            goto exit;
         }
Mein Problem ist, dass ich in Delphi bisher keine passende Lösung gefunden habe (siehe posting #1)

shalom
  Mit Zitat antworten Zitat