I'm trying to get a Win32 API call to work, but either I found a bug in FPC (not likely) or I'm doing something wrong (more then likely).

There's an API function called GetCurrentHwProfile that doesn't seem to be recognized by FPC, so I added it myself using external. However, when I try calling the function I don't seem to be getting anything returned. I tried checking the Windows GetLastError function, but that doesn't show me anything either.

I've included some code that shows what I mean. It's a text mode program, compiled under Windows 2000 using FPC version 1.0.6 with the command line of: ppc386 -TWin32 -vehnw -WC -XX -Sd

Since I doubt FPC has a bug I'm assuming it's me. Or is it?

********************************************

Program HWprofile;

uses
  windows;

type

  tProfileInfo = packed record
                   Docked : dword;
                   GUID   : ansistring;
                   Name   : ansistring;
                 end;

  pProfileInfo = ^tProfileInfo;

var
  Profile : pProfileInfo;
  Results : boolean;

(*=======================================================================*)
Function GetCurrentHwProfile (var HWProfile: pProfileInfo): boolean; external 'advapi32' name 'GetCurrentHwProfileA';
(*=======================================================================*)


BEGIN

  Results := GetCurrentHwProfile (Profile);

  if not (Results) then
  begin
    Profile.GUID := 'Unknown';
    Profile.Name := 'Unknown';
  end;

  writeln ('GUID   : ',Profile.GUID);
  writeln ('Name   : ',Profile.Name);
  writeln ('Results: ',Results,' - ',GetLastError);

END.

Regards,
Jim Wilson


_______________________________________________ fpc-pascal maillist - [EMAIL PROTECTED] http://lists.freepascal.org/mailman/listinfo/fpc-pascal

Reply via email to