Einzelnen Beitrag anzeigen

shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#3

Re: ReadBinaryData() - Problem

  Alt 8. Feb 2005, 13:23
Zitat von peicher:
Morgen zusammen,

Ich will Daten aus der Registry mit Hilfe der Methode ReadBinaryData() auslesen.

Folgendermaßen rufe ich diese auf:
Registry.ReadBinaryData('EDID', Info, 128); 'EDID' Verweist auf den Wert in der Registry, der ist vom Typ "REG_BINARY". Info ist eine Struktur (EDID-Header für Monitorinformationen), welche die Daten erhalten soll. Es sollen auch nur 128 Bytes dahin kopiert werden.

Soweit so gut.

Beim Aufruf kommt eine ERegistryException:
"Ungültiger Datentyp für 'EDID'"

Ist hiermit gemeint, dass der Wert in der Registry den falschen Datentyp oder evtl. die Struktur in welche die Daten letztendlich sollen, vom falschen Typ sind?
Nach deiner Fehlermeldung muss ich bezweifeln, das der Key 'EDID' wirklich vom Typ "REG_BINARY" ist.
Deshalb:
Delphi-Quellcode:
if Registry.GetDataType('EDID') <> rdBinary then
   Raise Exception.CreateFmt('Registry-Key %s ist nicht binär!', ['EDID']);

// sicherheitsprüfung
if sizeof(info) < 128 then
   raise Exception.Create('UPS! Info Struktur zu klein!');

Registry.ReadBinaryData('EDID', Info, 128);
Andreas
  Mit Zitat antworten Zitat