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);