Jump to content
uniGUI Discussion Forums
Sistema Fenix

Screen Mask (long process solution) with 8 themes.

Recommended Posts

Hi guys!
 
A long time I'm trying to create a screen lock (long process), today I managed with callback and share with all the component.
 
I hope it helps you, is helping here. :D
 
Install the package and then make test with sample.
In this component I use:
 
With 8 themes:
  1. sk-rect
  2. sk-bounce
  3. sk-folding-cube
  4. sk-circle
  5. sk-dot
  6. sk-cube
  7. sk-falding-circle
  8. sk-cube-grid
  • Random (I created this option to change theme every Hold.MaskShow)

Do not forget to place the files (HoldOn.min.js and HoldOn.min.css) in the files folder of your program and refer in servermodule->CustomFiles.

 

post-1507-0-76394600-1455809164.jpg

post-1507-0-94935300-1455808937.jpg

  Hold.MaskShow('Please wait... (3 seconds)',
  procedure(const Mask:Boolean)
  begin
    if Mask then
    begin
      sleep(3000);
       Hold.MaskHide;
    end;
  end
  );
update:
0.0.2 - 2016-07-06
 
 
Best regards

post-1507-0-65841800-1455801054_thumb.jpg

post-1507-0-19248200-1455801056_thumb.jpg

post-1507-0-63359100-1455801057_thumb.jpg

post-1507-0-15611100-1455801059_thumb.jpg

post-1507-0-64099500-1455801060_thumb.jpg

post-1507-0-09943300-1455801062_thumb.jpg

post-1507-0-55651100-1455801063_thumb.jpg

post-1507-0-04575100-1455801065_thumb.jpg

SFUni.zip

  • Upvote 3

Share this post


Link to post
Share on other sites

 Hi Fenix,

 
 It is possible to use this component in place of the screen mask current in cases where i do not explicitly call Hold.MaskShow ()?
 For example, in components that use the property Screen Mask in the object inspector.
 
 Thanks.

Share this post


Link to post
Share on other sites

Hi Cristiano

 

The primary use this component is call manual of the hold, where do not is possible to use screen mask default unigui.

But to work is necessary the Hold.MaskShow and to close in callback with hold.maskhide.

Example:

Procedure TFMainForm.doDeleteAll;
begin
 cds.first;
 while not cds.eof do
 begin
  cds.delete;
 end;
end;

procedure TFMainForm.eEditKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
begin
 if (Key = VK_F9) then
 begin
  Hold.MaskShow('Please wait..',
   procedure(const Mask:Boolean)
   begin
    if Mask then
    begin
       doDeleteAll;
       Hold.MaskHide;
    end;
   end
   );
  end;
end;

You could even replace using this method but do not know if there is a way to make automatic.

I use on others component that use jquery and I needed one method the hold screen, this was the solution.

I still have a lot to learn in the world web application. :)

 

Best regards.

Share this post


Link to post
Share on other sites

Dear Fenix,

Thank you for the solution.

Could you help me.

I am trying to reproduce your example but something is wrong.

the Mask is showing behind the main form.

So the main form is enabled while mask showing.

Share this post


Link to post
Share on other sites

Hi Alexm123,

 

In your servermodule->MainFormDisplayMode is mfPage or mfWindow?

If mfwindow really is happing this, I have not yet discovered how to solve it.

I will do some tests and when I discovered return.

 

Best regards.

Share this post


Link to post
Share on other sites

i could not install the component.

delphi xe10 seatle

sfuni\source\sfunihold.pas(65,37) : error 2010 : e2010 incopatible types : 'Tunistring' and 'Tstrings' 

Share this post


Link to post
Share on other sites

Hi guys!

 

Update

  0.0.2 - Compatible version 0.99.95.1308 unigui
        - fix mask in mode windows
 
Best regards

Share this post


Link to post
Share on other sites

Hi, Rinaldo.

 

You can.

This version is old, the updates only in version commercial.

Best regards.

Share this post


Link to post
Share on other sites

×