Просмотр исходного кода

* Overloads for TResourcestream.Create

Michaël Van Canneyt 1 год назад
Родитель
Сommit
055740e2b3
2 измененных файлов с 14 добавлено и 0 удалено
  1. 2 0
      rtl/objpas/classes/classesh.inc
  2. 12 0
      rtl/objpas/classes/streams.inc

+ 2 - 0
rtl/objpas/classes/classesh.inc

@@ -1599,6 +1599,8 @@ type
   public
     constructor Create(Instance: TFPResourceHMODULE; const ResName: string; ResType: PAnsiChar);
     constructor CreateFromID(Instance: TFPResourceHMODULE; ResID: Integer; ResType: PAnsiChar);
+    constructor Create(Instance: TFPResourceHMODULE; const ResName: string; ResType: PWideChar);
+    constructor CreateFromID(Instance: TFPResourceHMODULE; ResID: Integer; ResType: PWideChar);
     destructor Destroy; override;
   end;
 {$endif FPC_OS_UNICODE}

+ 12 - 0
rtl/objpas/classes/streams.inc

@@ -1880,6 +1880,12 @@ procedure TResourceStream.Initialize(Instance: TFPResourceHMODULE; Name, ResType
     SetPointer(LockResource(Handle),SizeOfResource(Instance,Res));
   end;
 
+constructor TResourceStream.Create(Instance: TFPResourceHMODULE; const ResName: string; ResType: PWideChar);
+
+begin
+  Create(Instance,ResName,PAnsichar(ResType));
+end;
+
 constructor TResourceStream.Create(Instance: TFPResourceHMODULE; const ResName: string; ResType: PAnsiChar);
 
 Var
@@ -1891,11 +1897,17 @@ begin
   {$IF SIZEOF(CHAR)=2}S:=ResName;{$endif}
   Initialize(Instance,PAnsiChar(S),ResType,False);
 end;
+
 constructor TResourceStream.CreateFromID(Instance: TFPResourceHMODULE; ResID: Integer; ResType: PAnsiChar);
   begin
     inherited create;
     Initialize(Instance,PAnsiChar(PtrInt(ResID)),ResType,True);
   end;
+
+constructor TResourceStream.CreateFromID(Instance: TFPResourceHMODULE; ResID: Integer; ResType: PWideChar);
+  begin
+    CreateFromID(Instance,ResID,PAnsiChar(ResType));
+  end;
 {$endif FPC_OS_UNICODE}