Jump to content

Vandrovnik

Members
  • Content Count

    522
  • Joined

  • Last visited

  • Days Won

    6

Posts posted by Vandrovnik


  1. 10 hours ago, Vincent Parrett said:

    One thing I would point out is do not get a certificate that is issued on a Yubikey - there is absolutely zero way to automate signing - the yubikey uses the windows smart card api and absolutely prompts on every file you sign!

     

    Where do you have to enter the password - on your computer, or directly on the device? On the computer, we could use AutoHotKey, which would enter the password instead of us 🙂


  2. 4 minutes ago, David Schwartz said:

    This was a holdover from CD-ROMs. It's actually a really hairy securitiy risk. You had to go into the ROM-BIOS of the machine and enable a setting to run it, but I'm not sure that even exists any more.

     

    At one point, I was looking at something that did that predictably and found a company in Japan or S. Korea that made thumb drives that registered themselves with Windows as CD-ROM drives, thereby enabling the autorun.inf to be called. I got some demo devices for testing and they worked as advertised, but that project ended up not proceeding. A year or so later I happened to check back with the company and they were no longer selling those devices.

     

    I've been in many places where their IT Dept literally disables the ability to mount any sort of external memory device via USB to their computers. That does not keep you from transferring files, it just makes it a bit more convoluted. (This is where being a Windows programmer comes in handy!)

    In my opinion, Autorun.inf is just the ability of Windows to automatically start something from CD, DVD, USB etc.

    In BIOS, you can enable booting from CD, DVD or USB drive etc., but it has nothing to do with Autorun.inf.


  3. 17 hours ago, aleber said:

    Hello everyone,
    we are having problems with Delphi 11.2 on Windows 10. The IDE doesn't crash, but in fact doesn't respond to commands (save, compile, close windows, ...) In the Windows event log we see quite incomprehensible / unhandled .NET errors. We also restored a backup of the entire machine, without success. The only thing that intervenes is the automatic setup (by Windows Update) of "Microsoft 365 Apps for enterprise", "Microsoft Edge", and especially "Microsoft Edge WebView2 Runtime".

    Has anyone else experienced this problem? Any suggestions on how to solve it (possibly without reinstalling the IDE)?

    Thank you,

    AB

    Hello, after update to Delphi 11.2, it has happened to me a few times (IDE did not respond, so I killed it from Task Manager). Last time it happened when I tried to edit lines between $IFDEF ... $ENDIF.


  4. 3 hours ago, Attila Kovacs said:
    
    Unit1.pas.20: begin
    0041A868 55               push ebp
    0041A869 8BEC             mov ebp,esp
    0041A86B 6A00             push $00
    0041A86D 6A00             push $00
    0041A86F 6A00             push $00
    0041A871 53               push ebx
    0041A872 8B5D08           mov ebx,[ebp+$08]
    0041A875 8B5B0C           mov ebx,[ebx+$0c]

     

    ebx is very well initialized

     

    You have probably changed the unit; in my environment, access violation occurs, too.

     

    image.thumb.png.f4e718e2bb8ee4884067216a574b0138.png


  5. 40 minutes ago, Fabian1648 said:

    When the user clicks on the object to be edited, I call an input screen consisting of a display area and keyboard keys. Advantages of the approach: 100% compatible with any Android device and keys big enough to avoid taking a magnifying glass to write something.

     

    But then you should support national keyboards, too? (ie. Czech keyboard has different layout than US keyboard, contains letters like "č" etc.) And what about users, which do prefer their Android virtual keyboard?


  6. 4 hours ago, Fabian1648 said:

    Here is my problem:

     

    Why the default TFormatSettings.ShortDateformat displays the year with 4 characters under Windows, but only with 2 characters under Android?

     

    Isn't there a way to notify Android that you want the year with 4 characters instead of 2 without changing the regional settings?

     

    You can still use:
     

     var MyFormat: TFormatSettings;
     MyFormat:=TFormatSettings.Create; // obtains default settings
    
     if pos('yyyy', MyFormat.ShortDateFormat)<=0
      then MyFormat.ShortDateFormat:=StringReplace(MyFormat.ShortDateFormat, 'yy', 'yyyy', []);
    
     ... DateToStr(now, MyFormat);

     

     

    • Like 1

  7. On 3/8/2022 at 5:47 PM, Vandrovnik said:

    Hello,

     

    I am not able to start 1 Android app of 3 apps since migration to Delphi 11.

    I did the "Revert system files to default" on Libraries.

     

     

    I have upgraded to Delphi 11.1. I have deleted folders Android\Debug, Android\Release, Android64\Debug, Android64\Release. Now it works 🙂

    • Like 1

  8. Hello,

     

    Please is it possible to use Android 12 emulator with Delphi 11.1? When I create and try to run it, I get this message in idea.log: "PANIC: Avd's CPU Architecture 'arm64' is not supported by the QEMU2 emulator on x86_64 host."

    Or is there a better way of testing the application with Android 12, but without physical Android 12 device?

     

    Kind regards,

     

    Karel

     


  9. 11 minutes ago, Lajos Juhász said:

     

    I never saw this kind of code, I saw:

     

    if Assigned(obj) then

      obj.free;

    Most of the time I only saw that a "developer" refuses to use free instead of FreeAndNil.

     

     

    I also use FreeAndNil - if I ever forget that an object was already freed with .Free, app might be working fine or give an AV "sometimes". When I use FreeAndNil and by mistake try to use freed object later, I am sure it always gives AV. I would not use FreeAndNil in time-critical parts, but there are almost none in my apps.

    • Like 1

  10. 13 hours ago, Anders Melander said:

    Nice. I believe you can just use the FindDragTarget VCL function to find the control under the cursor.

     

    The current algorithm looks for an exact match on the control name and then iterates backward (i.e. negative row index increment) from the least property until it finds a visible property. It does not consider the Status of the property since it doesn't know what you're doing or why you want to select the item. I'd like to keep it that way.
    If you filter the Status column to exclude "Don't translate" then these properties will not be selected and it will behave like you want. Since you're not interested in the "Don't translate" items anyway there's no point in displaying them.

    Thank you, I did not realize that it is possible to use a filter 🙂 That will be enough.


  11. On 3/6/2022 at 10:10 PM, Anders Melander said:

    Now there are 🙂 Do something like this:

    
    // Via TApplicationEvents component:
    procedure TMainForm.ApplicationEventsActionExecute(Action: TBasicAction; var Handled: Boolean);
    begin
    {$ifdef DEBUG}
      TranslationManagerIntegration.TrackControl(Action);
    {$endif DEBUG}
    end;
    ...

    Note: Remove the DEVEXPRESS define in Horizon.IntegrationTest.API if you're not using that library.

    As you can see the above only uses the integration in DEBUG builds but since I'm just using WM_COPYDATA for communication it's pretty harmless if the integration is also active in RELEASE builds.

     

    It works, that is really great!

     

    I have also add a Ctrl + right-mouse-click to find labels etc.:

    procedure TdmMain.ApplicationEvents1Message(var Msg: tagMSG; var Handled: Boolean);
     var PointClient: tPoint;
         Control: tControl;
         Form: tWinControl;
     begin
     {$IFDEF PrekladyBTM}
      if (msg.message=WM_RBUTTONDOWN) and ((msg.wParam and MK_CONTROL) <> 0) then begin
       Handled:=true;
       Form:=Screen.ActiveCustomForm;
       if Form<>nil then begin
        PointClient:=Form.ScreenToClient(Mouse.CursorPos);
        Control:=Form.ControlAtPos(PointClient, true, true, true);
        if Control<>nil then TranslationManagerIntegration.TrackControl(Control);
       end;
      end;
     {$ENDIF}
    end;

     

    Just a small notice: when I need to find a control and there are more properties in BTM, BTM often selects a property with "Don't translate". Please could you change it, so that BTM tries to select a property which should be translated?

    image.thumb.png.a512a446a40961d1eb947ed392299f28.png

     

×