Einzelnen Beitrag anzeigen

Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#9

AW: Bootcount, Product_key?

  Alt 15. Aug 2011, 13:18
Aus Neugierde hab ich mal mit der Registry gespielt.
Bie diesem code bekomme ich eine ERegistryException aufgetreten. Meldung: 'Ungültiger Datentyp für 'DigitalProductId'' um die Ohren gehauen
Delphi-Quellcode:
case reg.GetDataType(dmylist[i]) of
        rdUnknown : begin end;
        rdString : begin
                      dmystring:=reg.ReadString(dmylist[i]);
                      Label1.Caption:=Label1.Caption+#13#10+dmylist[i]+'::'+dmystring;
                    end;
        rdExpandString : begin
                           dmystring:=reg.ReadString(dmylist[i]);
                           Label1.Caption:=Label1.Caption+#13#10+dmylist[i]+'::'+dmystring;
                         end;
        rdInteger : begin
                      dmyinteger:=reg.ReadInteger(dmylist[i]);
                      Label1.Caption:=Label1.Caption+#13#10+dmylist[i]+'::'+inttostr(dmyinteger);
                    end;
        rdBinary : begin
                     dmyinteger:=reg.GetDataSize(dmylist[i]);
                     setlength(buffer,dmyinteger+1+1023);
                     fillchar(buffer[0],sizeof(buffer),#0);
                     reg.ReadBinaryData(dmylist[i],buffer[0],length(buffer));
                     dmystring:='';
                     for j:=0 to dmyinteger do
                       dmyString:=dmystring+inttohex(buffer[j],2)+' ';
                     Label1.Caption:=Label1.Caption+#13#10+dmyList[i]+'::'+dmystring;
                   end;
        else
          Label1.Caption:=Label1.Caption+#13#10+dmylist[i]+'<> Fehler im Datenformat';
      end;{case-----------------------------}
das setlength(buffer,dmyinteger+1+1023); war der Versuch einen evtl. zu kleinen Puffer zu vergrößern.
Was mach ich da falsch?
( ach ja D7 und XP, GetDataSize liefert übrigens 164)

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat