Jump to content

Leaderboard


Popular Content

Showing content with the highest reputation on 03/06/25 in Posts

  1. Remy Lebeau

    Issues migrating away from Indy

    Just because modern OpenSSL is not directly in Indy itself yet does not mean there are no options for it at all. For example: https://github.com/JPeterMugaas/TaurusTLS Did you see this? https://www.indyproject.org/2024/10/20/sasl-oauth-support-finally-added-to-master/
  2. Timo Wilkens

    Best approach for using OpenSSL 3.0 in Indy

    We use Indy components in various places in our software, as well as components that use Indy. Unfortunately, we are currently encountering more and more requests to be able to use OpenSSL 3.0. However, as we are not seeing any progress in the official repository (which is a pity, but understandable given the overall situation), I wanted to turn to the community and ask what experiences you have had or what you think is the best approach for using OpenSSL 3.0 with Indy in Delphi 10.4? I've read through a lot of posts on the subject, so I think Mezen's approach (https://github.com/IndySockets/Indy/pull/299) is probably the best for our purposes. Has anyone tried this and can give me some feedback? Does anyone have any additional ideas on how I can avoid breaking Indy during the update so that external components (e.g. TMS) can still run after the changeover?
  3. Thanks, but that was already clear. The problem is, that simulators are not behaving exactly like devices, especially with sensors and hardware stuff, this is why I rarely use them.
  4. type TSendParameter = class private Fpayment_method: TArray<string>; Ftransaction_type: string; Ffull_name: string; Femail: string; public property email: string read Femail write Femail; property full_name: string read Ffull_name write Ffull_name; property payment_method: TArray<string> read Fpayment_method write Fpayment_method; property transaction_type: string read Ftransaction_type write Ftransaction_type; end; ... var par := TSendParameter.Create; try par.payment_method := TArray<string>.Create('credit-card', 'open-banking'); par.transaction_type := 'SALE'; par.full_name := 'Joe Blogs'; par.email := 'etc etc'; RestReq.AddBody<TSendParameter>(par); finally par.Free; end;
  5. PeterBelow

    Using external chemistry libraries with Delphi

    Well, well, has been some years since somebody asked about chemistry here 8-)... As it happens I am a (retired) organic chemist and have worked for more than 30 years for a german (later french) pharma company in research. I wrote a lot of software working with chemical information, mostly from chemical databases. While the core of my library depended on MDL (later Accelrys) ISIS (long dead) and their Oracle chemistry package I tried during my last year at the company to get rid of the ISIS dependency by creating a Delphi wrapper for the Indigo library. Unfortunately I did not have enough time to complete and test the wrapper, and it is based on the 2017 32-bit Indigo DLLs, but perhaps you can find something of use in the mess. I also included some other units related to chemistry in the attached archive without ISIS dependencies. Have fun ;). chemistry.zip
  6. Firstly, you need to know the nature of the exception. Do you use EurekaLog or MadExcept? If not, you are blind to the actual cause of the exceptions. Do you know what your code is doing when it stops processing requests or why it stops? Once you know what goes wrong, add checks to avoid execution when you have invalid data. It may be useful to have a try/except block to set return values that indicate a failure, instead of exiting by exception, but it is rarely useful to have "catch all" blocks simply to silence exceptions. Secure each piece of code that runs in a thread and uses shared resources with try/finally so that any resource you allocate can be returned to the shared pool, and any locks you grab can be unlocked.
  7. Lajos Juhász

    Argument out of range Exception

    q.SQL.Add('DECLARE @MinEffDate date = DATEADD(DAY, :dys, getdate())'); q.ParamByName('dys').AsInteger := -30; or q.SQL.Add('DECLARE @MinEffDate date = DATEADD(DAY, -1*dys, getdate())');
  8. This topic has nothing to do with Macos, FMX, Spring4D, Kastri or whatsever. This error was caused by a region, which was a leftover from Copy-Paste code from Windows, which I shouldn't do in the first place. The Region {$REGION 'Windows helper functions'} function SetThreadExecutionState(esFlags: EXECUTION_STATE): EXECUTION_STATE; stdcall; external 'kernel32.dll'; was hiding this Windows-Kernel related kernel reference, which was never used anywhere, but this one line never showed up as an error at this point. This tells me, that using regions to hide code, may also hide code to spot obvious failures sometimes.
  9. Dave Nottage

    How do I create an Android simulator under Delphi 11.3 ?

    Most likely. The only bearable way I have found of using an Android emulator is to have a Mac with a silicon chip (e.g. M1, M2 etc), and run Arm64 emulators on it. Delphi can communicate with them using the relevant adb commands, along with a secure shell client such as PuTTY, all of which I describe in this video.
  10. David Heffernan

    New Delphi job opportunity

    It just seems so weird to me that there is such a thing as a Delphi developer. Are companies really not prepared to teach people? How can it be harder to learn a new language than to learn a new code base? Nothing here computes to me.
×