Jump to content

FredS

Members
  • Content Count

    408
  • Joined

  • Last visited

  • Days Won

    4

Everything posted by FredS

  1. Since we already have System.Net.URLClient.TURI I might simply add a record helper with a class function Combine. AUrl := TUri.Combine(Path1, Path2);
  2. FredS

    Delphi 10.4.1 and the IDE FIx Pack

    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..
  3. FredS

    Delphi 10.4.1 and the IDE FIx Pack

    Yup, this thinking suggests that all those usability, compile and stability issues where fine as long as Andy fixed 'em..
  4. FredS

    Delphi 10.4.1 and the IDE FIx Pack

    I guess the key point is that Embarcadero is just fine without the fix pack then.. move along..
  5. 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..
  6. FYI: This is your thread so you should get notification of all replies to it. But I only get notification when someone quotes, 'Likes' or adds me as a Tag. In short if someone didn't give my post a like I would have never seen your reply.
  7. Yes, and ignore all those other flaws never fixed in the compiler to fixate on WITH which at times is the ONLY way to bypass EMBT bugs without updating to an arguably less stable version of Delphi.
  8. You have to use the Helper, only it and the use of WITH get you access, see my test code above. Plus that's not enough code for anyone to help you.. // Your helper should have a method like SetPrivateVar which uses 'With Self do' SomeClass.SetPrivateVar(TMyClassA2.Create());
  9. Works here, must be Magic 🙂
  10. I have this test setup to let me know if this is ever changed in a new version of Delphi. Should be simple enough to replace TCustomTextFile with whatnot and run the test which I just ran in 10.4.1 and it passed: //MMWIN:CLASSCOPY unit _MM_Copy_Buffer_; interface implementation type TTestAccessToPrivateFieldHelper = class helper for TCustomTextFile function SetPrivateOwnsStream(AValue: boolean): boolean; end; { TTestAccessToPrivateFieldHelper } function TTestAccessToPrivateFieldHelper.SetPrivateOwnsStream(AValue: boolean): boolean; begin with Self do begin FOwnsStream := AValue; Result := FOwnsStream; end; end; end. //MMWIN:MEMBERSCOPY unit _MM_Copy_Buffer_; interface type THelperTests = class(TObject) public [Test(True)] procedure TestAccessToPrivateField; end; implementation procedure THelperTests.TestAccessToPrivateField; var F : TTextFile; begin F := TTextFile.Create('testing.txt', TEncoding.UTF8); try Assert.IsFalse(F.SetPrivateOwnsStream(False)); Assert.IsTrue(F.SetPrivateOwnsStream(True)); finally F.Free; end; end; end.
  11. How to call a private method of a class inside a Berlin+ class via Helper procedure TSomeClassHelper.CheckAccessToPrivate; begin With Self do begin // access via with works FInt :=1; SomeMethod; end; end; // Declared in another unit as: type TSomeClass = class private FInt : integer; procedure SomeMethod; end;
  12. FredS

    Non Delimited string parsing (registry entries)

    See if this fits: Attribute-based Command Line Parsing
  13. FredS

    10.4.1 Released today

    Never worked for me. A Reg backup and Beyond Compare work with a little effort..
  14. FredS

    10.4.1 Released today

    Anyone able to switch 'Configuration' and have that update in the 'Project Manager' , without using the 'Config Manager'? My 10.4.1 is still Sandboxed on Win7.. Also 'Build Groups' are using the wrong config, strangely changing that (Options) doesn't update the 'Project Manager' display but Barbie band-aids that issue..
  15. FredS

    ICS for Linux?

    - Quick installed Ubuntu 20.04 - ran: `sudo apt-get install openssh-server` - connected via WSL from Host: fred@PUTER:~$ sudo ssh fred@172.17.134.53 fred@172.17.134.53's password: Welcome to Ubuntu 20.04 LTS (GNU/Linux 5.4.0-26-generic x86_64)
  16. FredS

    ICS for Linux?

    To be clear, I use 'Bash on Ubuntu for Windows' and can access from the Host machine to my Hyper-Vm using that IP.
  17. FredS

    ICS for Linux?

    If your Host machine has a single NIC then you may need to get the IP from the Hyper-V virtual Ethernet adapter to reach your machine. If that is the case the bottom panel has three tabs, the networking tab will have the VMs IP after it has been started.
  18. Believe I did that years ago.. not sure if via email or Google..
  19. Think I tried that before and moving existing documentation failed. Just tried again and same.. It does appear to work when I add new documentation, however there are these caveats:
  20. This breaks at times, has for different releases depending on code and debugging for a long time.
  21. Nothing, but in the past too many directives where bad for the health of Error/Code insight.. sure that's much improved now 🙂
  22. function CompleteEval(const Values: array of Boolean): Boolean;
  23. It won't work without DDevExtensions in a plain IDE, new feature I guess 🙂
  24. I know DDevExtensions has it with a double-click by adding a hidden registry key..
×