Jump to content

FredS

Members
  • Content Count

    430
  • Joined

  • Last visited

  • Days Won

    4

Posts posted by FredS


  1. 10 hours ago, Vandrovnik said:

    In Windows 7, TLS 1.2 must be enabled

    Yes, that was done a couple of months ago when I had GetIt issues..

     

    But that was an RDP mapped drive not a standard one which with a 6 Gig file could be the issue.
     

    So far all testing looks pretty good, an exception of API not found during startup (Windows 7) but compile speed is down to Rio speed again and CodeInsight seems to be working... including.. gulp.. ErrorInsight 🙂


  2. 11 minutes ago, David Hoyle said:

    its BDS.exe that runs the installation proces

    Same here just now using the Off-line installer on Windows 10.
    The only AV is the M$ one.. and definitions where updated less than an hour ago.

    ---------------------------
    Setup
    ---------------------------
    Unable to execute file:
    
    C:\Program Files (x86)\Embarcadero\Studio\21.0\bin\bds.exe
    
    
    
    CreateProcess failed; code 2.
    
    The system cannot find the file specified.
    ---------------------------
    OK   
    ---------------------------
    

     


  3. 11 hours ago, KodeZwerg said:

    I did thought such

     

    Remembered I added this for a self updater. But I can't say its fully tested yet the remark sounds correct:

     

    class function TDirectoryHelper.HaveControlledFolderAccess(const Path: string): Boolean;
    {$REGION 'History'}
    //  04-Jan-2019 - 'Controlled Folder Access' won't return an error nor an Invalid Handle
    //                those checks are here in case the path is bad or doesn't exist.
    //                The only indication is that the file is not created
    {$ENDREGION}
    var
      LFile: string;
      h: THandle;
    begin
      LFile := TPath.Combine(Path, TGuid.NewGuid.ToString + PERIOD + TGuid.NewGuid.ToString);
      h := CreateFile(LFile.ToPchar, GENERIC_READ or GENERIC_WRITE, 0, nil, CREATE_NEW,
          FILE_ATTRIBUTE_HIDDEN or FILE_FLAG_DELETE_ON_CLOSE, 0);
      if (h = INVALID_HANDLE_VALUE) then Exit(False);
      Result := FileExists(LFile, False); 
      CloseHandle(h);
    end;

     


  4. 1 hour ago, KodeZwerg said:

    Now I run out of Ideas.

    For protected folders you are fighting the builtin security system.. it's like a builtin Firewall, you only know your call didn't work and most likely froze you never get an explanation why..

     


  5. 1 hour ago, BlueOrange said:

    Give me some hint

    I just ran the compiled demo for InjectAPI and that still worked on a freshly installed Windoze 20H2.

    But you can't have a DLL with forms only Kernel32 and User32 API. This means you will need to hack some communication with an app.
    But let me warn you, I was surprised that it worked especially since the Binaries where not signed.

    This is oodles more restrictive today than it was 20 years ago 🙂

     

     

    Quote

     

    Inject API

    Injects the DLL into a process using its PID, where a DDetours call essentially redirects an API.
    This method could use a Hook process specific to a single process to lessen the load on the system.
    Easiest Way to Test:

    • Run two instances (same bitness)
    • Copy the PID from the first to the second instances
    • Attach to the first from the second instances
    • Try to terminate the first instance

     

    • hope that helps

     


  6. 1 hour ago, bazzer747 said:

    All my projects used Firedac quite intensively so to move away from Enterprise now would be a major step.

    Besides cost once your projects are fine tuned it can take a long time of frustrated user input to iron out differences..
     

    Back when I looked at FireDAC it was around $900 plus subscription fees while UniDAC was ~$400.. now that initial investment is null and that includes time spent..


  7. 56 minutes ago, Jud said:

     

    I don't know how to do that - I haven't found good documentation on FastMM5.  It didn't make a difference on the memory-intensive program on a single-i7 machine.

    • Checkout the NUMA Support Branch
    • Add to DPR Uses:  FastMM5 in '<path>\FastMM5\FastMM5.pas',
    • Call  `FastMM_ConfigureAllArenasForNUMA` in the DPR after BEGIN

  8. 24 minutes ago, Stéphane Wierzbicki said:

    the more directories in the search path the worse the IDE react

     

    For sure. Executing a cmd which deletes DCUs that may have been compiled using different config seems to have helped a lot.

     

    I didn't come back until XE7 (D6->XE7) at which point there where huge issues with or without fix pack. The interesting part is that some of those got better with one minor release then came back in the next..

     

     


  9. 5 minutes ago, Stefan Glienke said:

    but people that want to write bad code would still have plenty of opportunities to do so

     

    Please, don't inject common sense into the Anti-With argument 🙂

     

    That said, I used to write WITH six even eight levels deep. Thought nothing of it, surely everyone knew the classes referenced within that and it was clear which one the property belonged to..

    Returning to that code ten years later was less fun..

    • Haha 1
×