* fixed resources support for all windows targets.

git-svn-id: trunk@5287 -
This commit is contained in:
yury 2006-11-08 16:44:19 +00:00
parent f1f8d119f8
commit f0960c6bb0
2 changed files with 17 additions and 9 deletions

View File

@ -1,9 +1,9 @@
function SysFindResource(hModule:HMODULE; lpName:Pchar; lpType:Pchar):TResourceHandle; external 'kernel32' name 'FindResourceA';
function SysLoadResource(hModule:HMODULE; hResInfo:TResourceHandle):HGLOBAL; external 'kernel32' name 'LoadResource';
function SysSizeofResource(hModule:HMODULE; hResInfo:TResourceHandle):DWORD; external 'kernel32' name 'SizeofResource';
function SysLockResource(hResData:HGLOBAL):Pointer; external 'kernel32' name 'LockResource';
function SysFreeResource(hResData:HGLOBAL):Longbool; external 'kernel32' name 'FreeResource';
function SysFindResource(hModule:HMODULE; lpName:Pchar; lpType:Pchar):TResourceHandle; stdcall; external 'kernel32' name 'FindResourceA';
function SysLoadResource(hModule:HMODULE; hResInfo:TResourceHandle):HGLOBAL; stdcall; external 'kernel32' name 'LoadResource';
function SysSizeofResource(hModule:HMODULE; hResInfo:TResourceHandle):DWORD; stdcall; external 'kernel32' name 'SizeofResource';
function SysLockResource(hResData:HGLOBAL):Pointer; stdcall; external 'kernel32' name 'LockResource';
function SysFreeResource(hResData:HGLOBAL):Longbool; stdcall; external 'kernel32' name 'FreeResource';
Function HINSTANCE : HMODULE;

View File

@ -12,11 +12,19 @@ Function FindResource(ModuleHandle: HMODULE; ResourceName, ResourceType: PChar):
var
ws1, ws2: PWideChar;
begin
ws1:=PCharToPWideChar(ResourceName);
ws2:=PCharToPWideChar(ResourceType);
if cardinal(ResourceName) shr 16 <> 0 then
ws1:=PCharToPWideChar(ResourceName)
else
ws1:=pointer(ResourceName);
if cardinal(ResourceType) shr 16 <> 0 then
ws2:=PCharToPWideChar(ResourceType)
else
ws2:=pointer(ResourceType);
Result:=SysFindResource(ModuleHandle, ws1, ws2);
FreeMem(ws2);
FreeMem(ws1);
if cardinal(ResourceType) shr 16 <> 0 then
FreeMem(ws2);
if cardinal(ResourceName) shr 16 <> 0 then
FreeMem(ws1);
end;
Function LoadResource(ModuleHandle: HMODULE; ResHandle: TResourceHandle): HGLOBAL;