RadStudio 10.4 è una release che promette grandi cose in tutte le aree di questo fantastico ambiente di sviluppo. Facendo un primo giro di test abbiamo notato: Nelle applicazioni FMX abbiamo notato un notevole miglioramento del render dei caratteri Il nuovo sistema LSP (language server protocol) sembra aver reso l’IDE ancora più fluido e produttivo…
Leggi tutto
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 |
TThreadedMsgEvent = class( TThread ) private FLock : TCriticalSection; FStr : TQueue<String>; FMemo : TMemo; function GetEvent : String; protected procedure Execute; override; public procedure AddEvent( aMsg : String ); constructor Create( AMemo: TMemo ); destructor Destroy; override; end; implementation { TThreadedMsgEvent } procedure TThreadedMsgEvent.AddEvent(aMsg: String); begin FLock.Acquire; FStr.Enqueue( FormatDateTime('DD/MM/YY HH:NN:SS.ZZZ',Now)+ ' : '+ aMsg ); FLock.Release; end; constructor TThreadedMsgEvent.Create(aMemo: TMemo); begin inherited Create(True); FreeOnTerminate := False; FOnMessage := ACallBack; FStr := TQueue<String>.Create(); FLock := TCriticalSection.Create; FMemo := aMemo; Resume; end; destructor TThreadedMsgEvent.Destroy; override; begin FreeAndNil( FStr ); FreeAndNil( FLock ); end; procedure TThreadedMsgEvent.Execute; begin while not Terminated do begin try if (FStr.Count > 0) then begin if Assigned( aMemo ) then begin TThread.synchronize( procedure begin FMemo.Lines.Add( GetEvent ); end; ); end; end; except end; TThread.Sleep(1); end; end; function TThreadedMsgEvent.GetEvent: String; begin FLock.Acquire; result := FStr.Dequeue; FLock.Release; end; |
From post found at: https://stackoverflow.com/questions/17506615/how-to-handle-log-in-a-threaded-manner-in-delphi
Delphi Linux … create a background process… daemon service stay tuned https://chapmanworld.com/2017/04/05/creating-a-linux-daemon-service-in-delphi/ http://blog.paolorossi.net/2017/07/11/building-a-real-linux-daemon-with-delphi-part-1-2/ http://blog.paolorossi.net/2017/09/04/building-a-real-linux-daemon-with-delphi-part-2/
WebSocket è una tecnologia che permette un interazione bidirezionale tra server e client, mi direte, nulla di nuovo con una connessione socket degli anni 90 facevamo la stessa cosa. Vero!!! La cosa che però rende questa tecnologia molto vantaggiosa è che per prima cosa, implementa degli standard nei protocolli di trasmissione e fruizione dei dati…
Leggi tutto
Easy HTML editor with instant preview into TWebBrowser Component to use: – TSynedit – TSynHTMLSyn – TWebBrowser – TTimer (set Interval 1000) – TSplitter (set Align alLeft) Here the code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
procedure TForm1.SynEdit1KeyPress(Sender: TObject; var Key: Char); begin Timer1.Enabled := True; end; procedure TForm1.Timer1Timer(Sender: TObject); var Doc: Variant; begin Timer1.Enabled := False; if not Assigned(WebBrowser1.Document) then WebBrowser1.Navigate('about:blank'); Doc := WebBrowser1.Document; Doc.Clear; Doc.Write(SynEdit1.Lines.Text); Doc.Close; end; |
What is FMX for Linux? FireMonkey for Linux, also known as FMXLinux, is an add-on component provided to Delphi and RAD Studio Enterprise and Architect edition customers via an exclusive OEM agreement with FMXLinux. FMXLinux provides capabilities for building GUI applications for Linux, extending RAD Studio’s (Delphi Edition) FireMonkey cross-platform framework. Starting with 10.3.1, the FireMonkey…
Leggi tutto