Jump to content

Leaderboard


Popular Content

Showing content with the highest reputation on 07/20/19 in all areas

  1. Uwe Raabe

    GExperts and Delphi 10.3.2

    Yes, that's it. You have to refresh your hosted license from inside the ELC server, download the slip file and import that at each Delphi installation with LicenseManager. This has to be done each time the license changes, f.i. when a new major version is released or your subscription is renewed. Well, strictly it has to be done only on those systems where you plan to use the new version.
  2. Remy Lebeau

    Restart the same App?

    You definitely don't want to use those kind of functions in this situation. You don't need that. A process knows its own ID, you can query it directly. You need something like this: uses ..., Windows; function RestartApp: Boolean; var si: STARTUPINFO; pi: PROCESS_INFORMATION; CmdLine: string; begin CmdLine := Format('"%s" /pid:%d', [ParamStr(0), GetCurrentProcessID()]); ZeroMemory(@si, sizeof(si)); GetStartupInfo(@si); Result := CreateProcess(nil, PChar(CmdLine), nil, nil, False, 0, nil, nil, si, pi); if Result then begin CloseHandle(pi.hThread); CloseHandle(pi.hProcess); Application.Terminate; end; end; Then in your app's startup code, such as in your main DPR file, you can do this before initializing your UI or anything else: uses ..., Windows; var pid: string; h: THandle; begin if FindCmdLineSwitch('pid', pid) then begin h := OpenProcess(SYNCHRONIZE, FALSE, StrToInt(pid)); if h <> 0 then begin WaitForSingleObject(h, INFINITE); CloseHandle(h); end; end; ... continue starting up normally ... end;
  3. Uwe Raabe

    MMX 15 (Beta) Available

    There is a new beta available. Changing the version number to 15 resembles not only the completely different new look due to theme support and new icons, but also the internal changes necessary to make all this work. Hopefully I didn’t break too much.
  4. Interesting reading: http://www.fmxexpress.com/learn-how-to-deploy-delphi-10-3-rio-android-apps-to-google-play-with-android-64-bit-requirements/
  5. The new Update 2 is available. You can read about the news here: http://docwiki.embarcadero.com/RADStudio/Rio/en/10.3_Rio_-_Release_2 Changelog: http://docwiki.embarcadero.com/RADStudio/Rio/en/New_features_and_customer_reported_issues_fixed_in_RAD_Studio_10.3.2 Download: https://cc.embarcadero.com/Item/30880 (Webinstaller) https://cc.embarcadero.com/Item/30882 (ISO-image)
  6. Darian Miller

    Delphi 10.3 Update 2 available

    Agreed - but you replied to my message about the side topic of requiring to be on an active subscription to get a bump. It truly doesn't matter...moving on as we could do this all day! : )
  7. FredS

    Delphi 10.3 Update 2 available

    I've set this up following your instructions on both a Windows 7 VM and a Windows 10 machine with IDE fix 6.4.2: On both it works!
  8. Dalija Prasnikar

    Delphi 10.3 Update 2 available

    No, it is not fixed, yet. Permanent solution that will solve all those issues is Delphi LSP (Language Server Protocol) support and is scheduled for 10.4.
  9. timfrost

    Delphi 10.3 Update 2 available

    @Ian Branch Please read it again. It says name without, value with; and in the picture both without. I referred to the value. But it is immaterial because neither had any effect for me.
  10. Markus Kinzler

    Delphi 10.3 Update 2 available

    Unfortunately there' ll be no futher versions.
  11. FPiette

    Ics Multithreading exceptions

    There are at least two important rules to write a multithread program which make use of ICS: 1) All ICS components must be created in the context of the thread. This is done for example in the start of thread's Execute method. 2) The thread must have a message pump also called message loop. There is one prebuilt in TWSocket. Have a look at OverbyteIcsThrdSrv1. pas (A unit in one of the ICS samples) and look at TClientThread.Execute. As Angus said, ICS is able to handle hundreds of connections in a single thread as far as ICS is concerned. Of course you may have heavy processing requiring a thread to not block the system. ICS is asynchronous, non-blocking and event-driven. It has all the required features to avoid multi-threading. And if you need multithreading, you should probably consider having tens or hundreds of ICS component in a single thread (For example, if you need 1000 component working simultaneously, use 5 threads each handling 200 components. Or if you have not that much simultaneous components, another design is to have a single thread for all ICS component and then a thread for each lengthy (computation or blocking operation) process. A good multithreading application is hard to write and hard to debug.
  12. I want to say a big Thank You to Daniel for providing a dedicated place for the MMX Code Explorer Community. This is much more that I would have been able to create by myself. Besides the website https://www.mmx-delphi.de/ this will be the most prominent place to announce new versions, answer questions and discuss new features.
  13. Baron Software

    Welcome to the MMX Code Explorer Community

    Thank you Uwe for taking the thankless job of updating software products thrown away. I have taken over TrackPro to keep it viable for future growth.
×