Einzelnen Beitrag anzeigen

Benutzerbild von Mr_G
Mr_G

Registriert seit: 2. Sep 2004
Ort: Duisburg
468 Beiträge
 
Delphi 2006 Professional
 
#35

Re: energiesparplan unter vista ändern

  Alt 16. Jun 2009, 22:11
Du hast die Funktion so wie ich das gesehen habe falsch übersetzt:
Delphi-Quellcode:
function PowerReadValueMin(RootPowerKey: HKEY;
  const SubGroupOfPowerSettingsGuid: PGUID; const PowerSettingGuid: PGUID;
  ValueMinimum: PDWORD): DWORD; stdcall; external PWR_PROF;
Bei ValueMinimum übergibst du dann einfach einen Zeiger auf deine DWORD-Variable und schon gehts.

Ich würde aber auch nochmal einen Blick auf deinen Quelltext werfen:
Delphi-Quellcode:
PowerReadValueMin (0, @sub_guid, @setting_guid, nil);
  PowerReadValueMin (0, @sub_guid, @setting_guid, nil);
  GetMem(b, size);
  // Nach dem ersten Aufruf wird size richtig gesetzt.
  {size wurde nie an die Funktion übergeben... wer soll da was richtig setzen?} 
  res := PowerReadValueMin (0, @sub_guid, @setting_guid, Pointer(b));
  if res = ERROR_SUCCESS then begin
    result := b;
  end
  else
    {wozu der Else-Zweig wenn hier das Selbe passiert?} 
    result := b;
Jan
  Mit Zitat antworten Zitat