瀏覽代碼

Global loading classes implementation.

Henrique Gottardi Werlang 3 年之前
父節點
當前提交
54014abb5c
共有 1 個文件被更改,包括 24 次插入0 次删除
  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.
 Function BufferToString(aBuffer : TJSArrayBuffer; aPos,aLen : Integer) : String;
 
+procedure BeginGlobalLoading;
+procedure NotifyGlobalLoading;
+procedure EndGlobalLoading;
+
 Const
   // Some aliases
   vaSingle = vaDouble;
@@ -1469,6 +1473,26 @@ var
   IntConstList: TFPList;
   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;
 
 begin