mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-13 05:59:27 +02:00
* Implemented ReadComponentRes(ex) for bug #21785
git-svn-id: trunk@27777 -
This commit is contained in:
parent
490a8f9421
commit
ddf6de1b29
@ -1035,24 +1035,37 @@ end;
|
|||||||
function InitComponentRes(const ResName: String; Instance: TComponent): Boolean;
|
function InitComponentRes(const ResName: String; Instance: TComponent): Boolean;
|
||||||
|
|
||||||
begin
|
begin
|
||||||
{ !!!: Too Win32-specific }
|
Result:=ReadComponentRes(ResName,Instance)=Instance;
|
||||||
InitComponentRes := False;
|
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
function SysReadComponentRes(HInstance : THandle; const ResName: String; Instance: TComponent): TComponent;
|
||||||
|
|
||||||
|
Var
|
||||||
|
H : TFPResourceHandle;
|
||||||
|
|
||||||
|
begin
|
||||||
|
H:=FindResource(HInstance,ResName,RT_RCDATA);
|
||||||
|
if (PtrInt(H)=0) then
|
||||||
|
Result:=Nil
|
||||||
|
else
|
||||||
|
With TResourceStream.Create(HInstance,ResName,RT_RCDATA) do
|
||||||
|
try
|
||||||
|
Result:=ReadComponent(Instance);
|
||||||
|
Finally
|
||||||
|
Free;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
function ReadComponentRes(const ResName: String; Instance: TComponent): TComponent;
|
function ReadComponentRes(const ResName: String; Instance: TComponent): TComponent;
|
||||||
|
|
||||||
begin
|
begin
|
||||||
{ !!!: Too Win32-specific }
|
Result:=SysReadComponentRes(Hinstance,Resname,Instance);
|
||||||
ReadComponentRes := nil;
|
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
||||||
function ReadComponentResEx(HInstance: THandle; const ResName: String): TComponent;
|
function ReadComponentResEx(HInstance: THandle; const ResName: String): TComponent;
|
||||||
|
|
||||||
begin
|
begin
|
||||||
{ !!!: Too Win32-specific in VCL }
|
Result:=SysReadComponentRes(Hinstance,ResName,Nil);
|
||||||
ReadComponentResEx := nil;
|
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user