Jump to content

Leaderboard


Popular Content

Showing content with the highest reputation on 01/16/21 in Posts

  1. Remy Lebeau

    How to .Free a non-modal form?

    No. You have to reset it manually. Unless the parent form needs to reset its FNonModalForm variable, in which case you would need to move the OnClose handler to the parent form instead, eg: procedure TForm1.Button1Click(Sender: TObject); begin if FNonModalForm = nil then begin FNonModalForm := TForm2.Create(Self); FNonModalForm.OnClose := NonModalFormClosed; end; FNonModalForm.Show; end; procedure TForm1.NonModalFormClosed(Sender: TObject; var Action; TCloseAction); begin FNonModalForm := nil; Action := caFree; end;
  2. Why do you think this information is stored in two different places?
  3. https://mega.nz/file/qQlnXIYK#MTbOfXxBrCT_2KF8MhTwqCwR8Ewbj5PdwcaS4aHu6ME Delphi's FMX header unit, platform binaries, detailed guide with demo for BASS audio library (No add-on). Hope to have contributed. BASS rocks!
  4. Making it available to everyone who want a thread safe, asynchronous, cross-platform and simplistic messaging system for communication between classes / layers in delphi applications. https://github.com/viniciusfbb/ipub-messaging
  5. OPUS decoding is OK in my case :)-
  6. David Heffernan

    Delphi 64bit compiler RTL speedup

    OMG, if somebody could make a tool to convert detailed map files into PDB files that would be incredibly useful.
  7. Well, I have managed to sort out a work-around for my own situation. It won’t make my App acceptable for the App Store (as it can’t handle network connection issues properly on Big Sur), but it means I can get things working pretty reliably. My problem mainly seems to be that Delphi 10.3.3's TRestRequest can't handle network connection problems on Big Sur. So to make sure the internet is available, it is possible to use Kastri’s straightforward TConnectivity.IsConnectedtoInternet (DW.Connectivity), and I by letting the user choose how the connection is made initially, I can try to maximize the availability of the server. If they try to access a server that isn’t available, it will still close the App without warning, but I’ve worked on the defaults and it's the best I can do for now. (Pre-Big Sur and on other platforms, it can automatically try another server as the network exceptions can be handled). Through the process, I’ve learnt a bit about how to call Mac API, and some of the great things Kastri has to offer. If anyone does know how I can do a MacOS / iOS quick connection to see if a specific server is available (something quick and easy like the terminal’s “nc -G 2 -Z myhost.address.com 443”), that would really help me until Delphi Community gets a new release. Not being able to debug directly on a Big Sur machine, makes it rather tricky!
  8. Arnaud Bouchez

    Delphi 64bit compiler RTL speedup

    No, it was not just "reserved", there was a lot more of dirty pages with Intel TBB. We tried it on production on Linux, on high-end servers with heavy multi-thread process, and the resident size (RES) was much bigger - not only the virtual/shared memory (VIRT/SHR). Also the guys from https://unitybase.info - which have very high demanding services - evaluated and rejected the Intel TBB use. Either the glibc MM https://sourceware.org/glibc/wiki/MallocInternals or our https://github.com/synopse/mORMot2/blob/master/src/core/mormot.core.fpcx64mm.pas give good results on Linux, with low memory consumption. Anyway, I wouldn't use Windows to host demanding services. So if you have a Windows server with a lot of memory, you are free to use Intel TBB if you prefer.
  9. Attila Kovacs

    Cross-platform messaging system

    @Andrea Raimondi Interesting. One would think it would be a debugging horror and one could easily break a lot of things without compiler errors, but if you and your team are successful with that, then it must be ok. Anyway, I was really happy when I saw this post. Thread-safe and async, I'll add an UDP gateway to it and will try to set up some communication between client apps / services and between brokers on the LAN. Sounds fun!
  10. Dalija Prasnikar

    Cross-platform messaging system

    That is fine. Point is that System.Messaging is not thread safe. If you are writing multi-threaded application and you need to communicate using some messaging system, then System.Messaging will simply not work in such conditions. You can still use it to send messages to the main thread, but you need to synchronize messaging code, which is not always viable solution. In multithreaded applications, you will need thread safe messaging system that is also capable of posting messages to some message queue.
  11. Lajos Juhász

    Filter on InternalCalc field

    Calculated fields are working in FireDAC and you can use them to display data. However, in order to filter data instead of filter property you can use the OnFilterRecord event. For Example: myQuery.Filter:='cTaxYear = ' + QuotedStr( '2008-09' ); myQuery.Filtered:=true; You can use: For query myquery and form myFormFRM you can write: myQuery.OnFilterRecord:=FilterTaxYear; myQuery.Filtered:=true; procedure myFormFRM.FilterTaxYear(DataSet: TDataSet; var Accept: Boolean); begin Accpet:=VarToStr(DataSet['cTaxYear'])='2008-09'; end;
  12. Lars Fosdal

    Customizing source editor

    SourceCode Pro - No italics BG = Cream Current line = light greenish numbers = red comments = dark gray as I want the code to stand out and keep the comments low key - after all, they should only be necessary as a last effort read 😛
  13. Stepping back here, are piecemeal comments from numerous different authors in a forum the best way to design the security for your software? I'd want to be reading a book written with a train of thought. Covering a variety of issues, with explanation of why they matter. And a book that has been well reviewed. It seems to me that standalone tips are the kind of thing that lead to insecure software. Security is an end to end, entire process thing, where the interactions matter. Using a couple parts of best practise doesn't make your software secure. It only needs one part to be missing.
  14. And if the remote server is in <random country> then the hacker has to fight the dragon in <random country> first. It's stunning how many fairy tales are invented about hacking and security.
  15. Angus Robertson

    Best components for creating windows service apps

    I've completed a new release of DDService Application Framework from the late Arno Garrels, it now supports Delphi 5, 7 and 2006 to XE8, 10 Seattle, 10.1 Berlin, 10.2 Tokyo and 10.3 Rio, as well as C++ Builder 2006 to XE5. Note that bugs fixed in these new releases had already been done in DDService. Also added new unit to control, install and remove Windows Service applications. The new and old versions may be downloaded from https://www.magsys.co.uk/delphi/ddservice.asp or from an SVN repository at: http://svn.magsys.co.uk:8443/svn/ddservice/ , use username = ics and password = ics for read access. Angus
  16. Stefan Glienke

    Delphi 64bit compiler RTL speedup

    Just pointing this out so you don't get yourself into trouble: IANAL but the fact that the IPP is under a commercial license or a free license if you qualify (time limited if I read it correctly - but I just quickly skimmed through it) might make it arguable to actually distribute any parts of it. If you know more about it I would be glad to be wrong. And as said before - even though your intentions are surely to make it easy for users - putting the source for those projects with an explanation how to build them would get you on the safe side.
×