Jump to content

Uwe Raabe

Members
  • Content Count

    2542
  • Joined

  • Last visited

  • Days Won

    147

Posts posted by Uwe Raabe


  1. 15 minutes ago, al17nichols said:

    Can somebody advise the best approach to retrieve the desired results.

    Every task is different. Describe your task in detail and one can give some hints how to use these components for this task.

     

    You don't need a separate set of components for each part. The same components can be used in sequence with changed properties.


  2. 1 hour ago, Lainkes said:

    I linked all the components to the same event. Maybe that's not the correct way to handle.

    Actually that is exactly the way to do it. It just seems that setting the Checked property of TDBCheckBox is not propagated to the underlying field. I need to investigate that and file a bug report as soon as time allows.

     

    As a workaround don't set the Checked property but the field value directly:

            chk.Field.AsBoolean := chk = Sender;

     


  3. Oh, now I understand what you want to achieve.

     

    One solution would be to wire this event handler to each TDBCheckBox inside the TGroupBox:

    var
      DisableEvent: Boolean = False;
    
    procedure TForm747.DBCheckBoxClick(Sender: TObject);
    begin
      if DisableEvent then Exit;
    
      DisableEvent := True;
      try
        var grp := (Sender as TControl).Parent as TGroupBox;
        for var I := 0 to grp.ControlCount - 1 do
          if grp.Controls[I] is TDBCheckBox then begin
            var chk := TDBCheckBox(grp.Controls[I]);
            chk.Checked := chk = Sender;
          end;
      finally
        DisableEvent := False;
      end;
    end;

     


  4. 1 minute ago, Lainkes said:

    I want to link each of them to a DBCheckbox component (in a TGroupbox). But only one can be checked.

    I cannot reproduce that. If I have several TDBCheckBox inside a TGroupBox each can be switched independently.


  5. The FieldName is always taken from the database, so you cannot force that.

     

    You can change the Name and DisplayLabel after the fields are created. For static fields that is not a problem, but dynamic fields simply don't exist before Open. Therefore AfterOpen is a good place to do.

     

    The data type is derived from the type in the database and you have only limited influence on that.

     

    At the end, what you are doing is rather unusual, so I assume you are trying to solve another problem using a wrong approach.


  6. I urge to create a bug report with detailed steps to reproduce. It should be verified that the patch is the real cause and that it doesn't happen without it. That allows others to confirm this or give hints what configuration is necessary to make it happen or not.

     

    The changes incorporated in this patch are probably pretty small, so the cause should be easy to find.

    • Like 2

  7. As far as I understand, the dongle is for the system that does the signing, not the one checking the signed exe.

     

    The problem I see is that this completely counterfeits the idea of virtualization when the dongle (or HSM) is hardware bound. I can move around my build server and agents, which are all realized as VM. If my build machine breaks, I can easily set up a new one and continue. In case of a dongle I may be able to move it too, as long as it did survive the fire, flood, earth  quake or bomb attack that destroyed the old machine. It creates a new hardware dependency and a single point of failure.


  8. I wonder how the option 

    Quote

    There is flexibility where the code signing certificate subscriber may use a hardware crypto module which is operated by:

    ...

    • A cloud service, such as AWS or Azure

    ...

    is going to work. Do we all have to send our dongles to Amazon or Microsoft so they can plug them into their servers?

     

    There must be a system that allows to deploy the certificate to these services in some way. As they mention a "such as" for AWS or Azure, there should exist something like an API or guide to implement this for other cloud services, too.

×