Browse Source

Global loading classes implementation.

Henrique Gottardi Werlang 3 years ago
parent
commit
54014abb5c
1 changed files with 24 additions and 0 deletions
  1. 24 0
      packages/rtl/classes.pas

+ 24 - 0
packages/rtl/classes.pas

@@ -1448,6 +1448,10 @@ Function StringToBuffer(aString : String; aLen : Integer) : TJSArrayBuffer;
 // Create buffer from string. aPos,aLen are in bytes, not in characters.
 // Create buffer from string. aPos,aLen are in bytes, not in characters.
 Function BufferToString(aBuffer : TJSArrayBuffer; aPos,aLen : Integer) : String;
 Function BufferToString(aBuffer : TJSArrayBuffer; aPos,aLen : Integer) : String;
 
 
+procedure BeginGlobalLoading;
+procedure NotifyGlobalLoading;
+procedure EndGlobalLoading;
+
 Const
 Const
   // Some aliases
   // Some aliases
   vaSingle = vaDouble;
   vaSingle = vaDouble;
@@ -1469,6 +1473,26 @@ var
   IntConstList: TFPList;
   IntConstList: TFPList;
   GlobalLoadHelper : TLoadHelperClass;
   GlobalLoadHelper : TLoadHelperClass;
 
 
+procedure BeginGlobalLoading;
+begin
+  GlobalLoaded := TFPList.Create;
+end;
+
+procedure NotifyGlobalLoading;
+var
+  I: Integer;
+  G: TFPList;
+begin
+  G := GlobalLoaded;
+  for I := 0 to G.Count - 1 do
+    TComponent(G[I]).Loaded;
+end;
+
+procedure EndGlobalLoading;
+begin
+  GlobalLoaded.Free;
+end;
+
 Function SetLoadHelperClass(aClass : TLoadHelperClass) : TLoadHelperClass;
 Function SetLoadHelperClass(aClass : TLoadHelperClass) : TLoadHelperClass;
 
 
 begin
 begin