AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Warum verursacht diese Zeile eine AV?

Ein Thema von Daniel G · begonnen am 15. Aug 2005 · letzter Beitrag vom 15. Aug 2005
 
Daniel G
(Gast)

n/a Beiträge
 
#7

Re: Warum verursacht diese Zeile eine AV?

  Alt 15. Aug 2005, 22:22
Hmm... Ok, die AV ist weg. Mal sehen, wie das jetzt weiter geht....

Ich hatte mich an dem orig. Microsoft - Code orientiert:

Code:
DoPrintData(((PSENDCMDOUTPARAMS)AttrOutCmd)->bBuffer,
      ((PSENDCMDOUTPARAMS)ThreshOutCmd)->bBuffer,
                     i);
"DoPrintData" ist dabei wie folgt deklariert:

Code:
VOID DoPrintData(PCHAR pAttrBuffer, PCHAR pThrsBuffer, BYTE bDriveNum)
int   i;
PDRIVEATTRIBUTE   pDA;
PATTRTHRESHOLD   pAT;
BYTE Attr;

   //
   // Print the drive number
   //
   printf("\nData for Drive Number %d\n", bDriveNum);
   //
   // Print the revisions of the data structures
   //
   printf("Attribute Structure Revision         Threshold Structure Revision\n");
   printf("            %d                                     %d\n\n",
            (WORD)pAttrBuffer[0],
            (WORD)pThrsBuffer[0]);

   //
   // Print the header and loop through the structures, printing
   // the structures when the attribute ID is known.
   //
   printf("  -Attribute Name-      -Attribute Value-     -Threshold Value-\n");

   pDA = (PDRIVEATTRIBUTE)&pAttrBuffer[2];
   pAT = (PATTRTHRESHOLD)&pThrsBuffer[2];

   for (i = 0; i < NUM_ATTRIBUTE_STRUCTS; i++)
   {
      Attr = pDA->bAttrID;
      if (Attr)
      {
         if (Attr > MAX_KNOWN_ATTRIBUTES)
            Attr = MAX_KNOWN_ATTRIBUTES+1;
         printf("%2X %-29s%d%20c%d\n",
               pDA->bAttrID,
               pAttrNames[Attr],
               pDA->bAttrValue,
               ' ',
               pAT->bWarrantyThreshold );
      }
      pDA++;
      pAT++;
   }

}
Zum Testen habe ich mir die erste Variable geschnappt:

pAttrBuffer: PChar Und dann dachte ich halt, das obige würde in Delphi so aussehen:
PChar(PSENDCMDOUTPARAMS(AttrOutCmd).bBuffer[0]) Oder hab' ich das damit völlig verhauen? Ich mochte "C" noch nie....
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:18 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz