Jump to content

weabow

Members
  • Content Count

    79
  • Joined

  • Last visited

Posts posted by weabow


  1. Hello,

     

    Runs fine for me on a very new project...

     

    procedure TForm1.FormResize(Sender: TObject);
    begin
        TThread.ForceQueue(TThread.CurrentThread,
                procedure
            begin

                if ord(self.WindowState) = 2 then
                    Label1.visible := false
                else
                    Label1.visible := true;

            end);
    end;

    end.

     

     


  2. Put this in Resize event :

     

        TThread.ForceQueue(TThread.CurrentThread,
            procedure
            begin

                if ord(self.WindowState) = 2 then
                    showmessage('wsMaximized ');
            end);

     

    Runs fine under Windows, not tested on MacOs or Linux.

     

    Hope this helps


  3. About the prcessmessages, here's my own proc (tx for toolbox) :

     

    class procedure Tx.DoEvents;
    begin
        if MainThreadId = TThread.Current.ThreadId then
            Application.ProcessMessages;
    end;

     

    Using this, I no longer have problem with processmessages.

     

    To refresh, espacially under Android, I had to run the loop in a thread, and inside this thread, call a thread.synchronize in which I put the code I want to be executed to display something somewhere.

     

    The method runs fine crossplatform.

     

    Hope this helps


  4. I think too it's a pb with manifest. Personnaly, to solve this pb, I built an app multi-platform form scratch, and then "study" its manifest.

     

    Than I had to update the manifest of my app, which has specific attributes, to update it.

     

    It runs fine now.


  5. I've an app that runs under Windows, OSX, IOs, Android and Linux, and it runs fine everywhere, from years. I do not know vcl at all, but one of my mentors that have written a book on Delphi, lets me think that FMX needs a specific strategy, and it's a little bit different from vcl.

     

    The advantage I have is that I do not know vcl at all. So my strategy is 100% FMX.

     

    Obviously, FMX in cross platform needs to master properly things, that are easier to do on vcl. Also, developping under Windows is easy : it always (almost) runs fine. Problems occur on OSX, IOs and Android. And espacially under Android with threads.

     

    That is my own point of view and my experience.

     

    Hope this helps.


  6. Hi there,

     

    Closing myapp, I save in the ini the current screen with :

    Screen.DisplayFromForm(self).Index (self is mainform).

     

    It runs fine.

     

    I'd like on boot to display the app on the same screen, using my Screen.DisplayFromForm(self).Index saved.

     

    I can't see anywhere how to do that.


    An idea ?

     


  7. I make it run :

     

    fs := TFormatSettings.Create(SysLocale.DefaultLCID);

    //fs.DecimalSeparator := '.';

    System.SysUtils.FormatSettings := fs;

     

    Now it compiles, but no change under MacOs.

     

    If I set hardly decimalpoint it runs fine.


    But my need is to detect the OS parameter. I think there's a bug.


  8. I have this piece of code :

     

    showmessage(formatfloat('###,###.00', 1234.25));

     

    It runs fine under Windows, and if I change the decimal separator in the OS, it's taken into account.

     

    On Mac, I always have the , (I'm french), even if I change it in the parameters of the OS.

     

    An idea ?

×