mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-05 15:47:54 +02:00
93 lines
3.1 KiB
PHP
93 lines
3.1 KiB
PHP
|
|
function SysFindResource(hModule:TFPResourceHMODULE; lpName: PWideChar; lpType: PWideChar):TFPResourceHandle; cdecl; external 'coredll' name 'FindResourceW';
|
|
function SysLoadResource(hModule:TFPResourceHMODULE; hResInfo: TFPResourceHandle):TFPResourceHGLOBAL; cdecl; external 'coredll' name 'LoadResource';
|
|
function SysSizeofResource(hModule:TFPResourceHMODULE; hResInfo:TFPResourceHandle):DWORD; cdecl; external 'coredll' name 'SizeofResource';
|
|
|
|
var
|
|
SysInstance : PtrUInt;external name '_FPC_SysInstance' ;
|
|
|
|
Function IntHINSTANCE: TFPResourceHMODULE;
|
|
begin
|
|
IntHINSTANCE:=sysinstance;
|
|
end;
|
|
|
|
Function IntEnumResourceTypes(ModuleHandle : TFPResourceHMODULE; EnumFunc : EnumResTypeProc; lParam : PtrInt) : LongBool;
|
|
begin
|
|
IntEnumResourceTypes:=False;
|
|
end;
|
|
|
|
Function IntEnumResourceNames(ModuleHandle : TFPResourceHMODULE; ResourceType : PAnsiChar; EnumFunc : EnumResNameProc; lParam : PtrInt) : LongBool;
|
|
begin
|
|
IntEnumResourceNames:=False;
|
|
end;
|
|
|
|
Function IntEnumResourceLanguages(ModuleHandle : TFPResourceHMODULE; ResourceType, ResourceName : PAnsiChar; EnumFunc : EnumResLangProc; lParam : PtrInt) : LongBool;
|
|
begin
|
|
IntEnumResourceLanguages:=False;
|
|
end;
|
|
|
|
Function IntFindResource(ModuleHandle: TFPResourceHMODULE; ResourceName, ResourceType: PAnsiChar): TFPResourceHandle;
|
|
var
|
|
ws1, ws2: PWideChar;
|
|
begin
|
|
if PtrUInt(ResourceName) shr 16 <> 0 then
|
|
ws1:=PCharToPWideChar(ResourceName)
|
|
else
|
|
ws1:=pointer(ResourceName);
|
|
if PtrUInt(ResourceType) shr 16 <> 0 then
|
|
ws2:=PCharToPWideChar(ResourceType)
|
|
else
|
|
ws2:=pointer(ResourceType);
|
|
IntFindResource:=SysFindResource(ModuleHandle, ws1, ws2);
|
|
if PtrUInt(ResourceType) shr 16 <> 0 then
|
|
FreeMem(ws2);
|
|
if PtrUInt(ResourceName) shr 16 <> 0 then
|
|
FreeMem(ws1);
|
|
end;
|
|
|
|
Function IntFindResourceEx(ModuleHandle: TFPResourceHMODULE; ResourceType, ResourceName: PAnsiChar; Language : word): TFPResourceHandle;
|
|
begin
|
|
IntFindResourceEx:=FindResource(ModuleHandle,ResourceName,ResourceType);
|
|
end;
|
|
|
|
Function IntLoadResource(ModuleHandle: TFPResourceHMODULE; ResHandle: TFPResourceHandle): TFPResourceHGLOBAL;
|
|
begin
|
|
IntLoadResource:=SysLoadresource(ModuleHandle,Reshandle);
|
|
end;
|
|
|
|
Function IntSizeofResource(ModuleHandle: TFPResourceHMODULE; ResHandle: TFPResourceHandle): LongWord;
|
|
begin
|
|
IntSizeofResource:=SysSizeofResource(ModuleHandle,Reshandle);
|
|
end;
|
|
|
|
Function IntLockResource(ResData: TFPResourceHGLOBAL): Pointer;
|
|
begin
|
|
IntLockResource:=pointer(ResData);
|
|
end;
|
|
|
|
Function IntUnlockResource(ResData: TFPResourceHGLOBAL): LongBool;
|
|
begin
|
|
IntUnlockResource:= True;
|
|
end;
|
|
|
|
Function IntFreeResource(ResData: TFPResourceHGLOBAL): LongBool;
|
|
begin
|
|
IntFreeResource:= True;
|
|
end;
|
|
|
|
const
|
|
InternalResourceManager : TResourceManager =
|
|
(
|
|
HINSTANCEFunc : @IntHINSTANCE;
|
|
EnumResourceTypesFunc : @IntEnumResourceTypes;
|
|
EnumResourceNamesFunc : @IntEnumResourceNames;
|
|
EnumResourceLanguagesFunc : @IntEnumResourceLanguages;
|
|
FindResourceFunc : @IntFindResource;
|
|
FindResourceExFunc : @IntFindResourceEx;
|
|
LoadResourceFunc : @IntLoadResource;
|
|
SizeofResourceFunc : @IntSizeofResource;
|
|
LockResourceFunc : @IntLockResource;
|
|
UnlockResourceFunc : @IntUnlockResource;
|
|
FreeResourceFunc : @IntFreeResource;
|
|
);
|