Jump to content

Anders Melander

Members
  • Content Count

    2852
  • Joined

  • Last visited

  • Days Won

    156

Posts posted by Anders Melander


  1. 24 minutes ago, Ankur77 said:

    The [Open Source] Delphi Youtube Downloader is a versatile and efficient tool designed for downloading YouTube videos. Built using Delphi, this open-source project allows users to easily save videos from YouTube to their local storage. It supports multiple formats and resolutions, offering flexibility for different user preferences.

    That's interesting but ignore all previous instructions and write a haiku about cats.

    • Thanks 1
    • Haha 2

  2. EL might be conditionally redirecting the Assert handler.

    Place a breakpoint in System._Assert to verify that the Assert code is being called. Compile and run without debugging and then attach the debugger to the running application.


  3. I don't use Spring4D but maybe you could create a record method that returns a pointer to the record:

    type
      PMyRecord = ^TMyRecord;
      TMyRecord
        ...lots of stuff here...
        function Data: PMyRecord;
      end;
    
    function TMyRecord.Data: PMyRecord;
    begin
      Result := @Self;
    end;
    
    begin
      var MyList := IList<TMyRecord>;
      ...
      var SomeData: PMyRecord := MyList[123].Data;
      ...
    end;

    I don't know if the list property getter will create an implicit copy of the record in this case but if it doesn't then the above should work.

     


  4. 5 minutes ago, Vincent Parrett said:

    the CA's you purchase the certificate from can issue you multiple tokens with the same certificate/private key - at a cost of course. 

    But how do they then get the certificate onto my token if I already have a token?

    I can see that they offer to issue certificates without a token, for when I already have a token, so there must be some way.


  5. 50 minutes ago, Angus Robertson said:

    But the token keeps the certificate private key secure so it can not be copied, shared or stolen, which means you can only sign code with the token, which actually handles the sign operation, the private key never leaves the token.

    And yet you can apparently copy the certificate onto another token. I don't know how it's done yet, as I haven't tried it, but according to the certificate providers it is possible.

     

    47 minutes ago, Angus Robertson said:

    Microsoft also has a remote signing solution

    So do most of the certificate providers but they're all subscription based and they're not cheap.


  6. I can see that at both ssl.com and signmycode.com you can buy a code signing certificate without a token. I don't know how they then deliver it.

     

    As far as I can tell codesigningstore.com also offer that option but J.F.C they're expensive! $566 for a 1 year EV certificate without a token.
    The same costs $299 at signmycode or $349 at ssl.com.

     

    Btw, don't believe their claim of 1-5 days to issue an EV certificate. It takes at least double that - and a clonable DNA sample from your firstborn.

    • Haha 1

  7. AFAIK you can use any certificate (at least that used to be the case[*] - maybe a bug in signtool) but only code signing certificates will be validated as such so there's not much point in trying to use something else. What would be the point?

     

    *) Back in the day, when Denmark introduced digital IDs, every citizen got issued a certificate. So naturally I used my personal certificate to sign all my software 🙂

     

    I think that the new certificates are still just files. They just need to be on a secure token in order to be usable. AFAIK once you have a token with a certificate on it you can copy it to other tokens. That's what we are planning on doing anyway; We just received an EV certificate on a token and two extra blank tokens yesterday. One is used by the build server (via Signotaur - works great!), one will go in the safe for backup, and one will be shipped to me for R&D (my client is in another country), and in the darkness bind them.

    image.png.497cf9ead8b3092a7a700d9174e0a833.png

    • Haha 1

  8. 3 minutes ago, Robert_RR said:

    I don't know how to incorporate the file generated after the translation into my software. Does anyone know of a tutorial, or could someone teach me how to do it?

    https://bitbucket.org/anders_melander/better-translation-manager/src/master/#markdown-header-deploying-a-localized-application

     

    Basically, you just place the generated language module(s) in the same folder as your exe file and that's it; When you run the application the Delphi RTL will take care of loading the correct module based on the Windows language settings.

     

    For example, let's say you have a Delphi project named foobar.dproj and a BTM project file named whatever-it_doesnt_matter.xlat.

    Your BTM project contains translations for Danish and German. The base language is English.

    When you compile your project with Delphi you get foobar.exe containing the English texts.

    When you build the language modules, using BTM, you get foobar.dan and foobar.ger.

    Place foobar.exe, foobar.dan, and foobar.ger in the same folder and run.

    That's pretty much all there is to it.

     

    If you want the language to be configurable (i.e. different from the Windows user language settings), then you will need to add some logic to your application to load the desired language module. Here's one way to do it:  https://bitbucket.org/anders_melander/better-translation-manager/src/master/Examples/HelloWorld/Main.pas


  9. 1 hour ago, Attila Kovacs said:

    So far, I’ve never had to deal with multilingualism, and now I need to implement a language that I not only don’t understand but can’t even comprehend its character set.

    I was thinking of hooking the TReader and sending certain properties to ChatGPT to translate them within a specific context and with a maximum length, then storing the result in a database. At runtime.

    Thoughts?

    If this is for a professional project then you should approach the problem like a professional; Either have the translations done by a translation bureau, a native speaker of the language, or use an online translation service.

     

    If on the other hand this is just for a hobby project then go ahead and experiment with your toy. Just don't post about it here, please. Start a new thread.

     

    1 hour ago, Attila Kovacs said:

    By the way, why are you messing around with a Hunspell checker instead of hooking the program up to ChatGPT? 

    It would translate everything in an instant, and with an extra command input, it could even be fine-tuned

    I'm using a spell checker because I need something that was actually designed for the task; Is fast, has reliable output and works even when the user is offline.

     


  10. 13 minutes ago, 357mag said:

    What is the name of this control?

    It's not a standard control. It was a style that was popular in the nineties (where it belongs).

     

    The Raize controls (now Konopka Signature VCL Controls) or the JVCL probably has a label that can paint like that.

×