FredS
Members-
Content Count
408 -
Joined
-
Last visited
-
Days Won
4
Everything posted by FredS
-
Having fun with Delphi
FredS replied to Attila Kovacs's topic in Algorithms, Data Structures and Class Design
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); -
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..
-
Yup, this thinking suggests that all those usability, compile and stability issues where fine as long as Andy fixed 'em..
-
I guess the key point is that Embarcadero is just fine without the fix pack then.. move along..
-
How to operate a private field in other unit?
FredS replied to pcplayer99's topic in RTL and Delphi Object Pascal
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.. -
How to operate a private field in other unit?
FredS replied to pcplayer99's topic in RTL and Delphi Object Pascal
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. -
How to operate a private field in other unit?
FredS replied to pcplayer99's topic in RTL and Delphi Object Pascal
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. -
How to operate a private field in other unit?
FredS replied to pcplayer99's topic in RTL and Delphi Object Pascal
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()); -
How to operate a private field in other unit?
FredS replied to pcplayer99's topic in RTL and Delphi Object Pascal
Works here, must be Magic 🙂 -
How to operate a private field in other unit?
FredS replied to pcplayer99's topic in RTL and Delphi Object Pascal
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. -
How to operate a private field in other unit?
FredS replied to pcplayer99's topic in RTL and Delphi Object Pascal
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; -
See if this fits: Attribute-based Command Line Parsing
-
Never worked for me. A Reg backup and Beyond Compare work with a little effort..
-
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..
-
- 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)
-
To be clear, I use 'Bash on Ubuntu for Windows' and can access from the Host machine to my Hyper-Vm using that IP.
-
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.
-
Generic circular buffer library released
FredS replied to TurboMagic's topic in Algorithms, Data Structures and Class Design
Believe I did that years ago.. not sure if via email or Google.. -
Generic circular buffer library released
FredS replied to TurboMagic's topic in Algorithms, Data Structures and Class Design
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: -
See contents of variables at a breakpoint in 10.4
FredS replied to Jud's topic in Delphi IDE and APIs
This breaks at times, has for different releases depending on code and debugging for a long time. -
Boolean short-circuit with function calls
FredS replied to Mike Torrettinni's topic in Algorithms, Data Structures and Class Design
Priceless 🙂 -
Boolean short-circuit with function calls
FredS replied to Mike Torrettinni's topic in Algorithms, Data Structures and Class Design
Nothing, but in the past too many directives where bad for the health of Error/Code insight.. sure that's much improved now 🙂 -
Boolean short-circuit with function calls
FredS replied to Mike Torrettinni's topic in Algorithms, Data Structures and Class Design
function CompleteEval(const Values: array of Boolean): Boolean; -
What's the shortcut for 'double click to maximize the editor area'
FredS replied to Edwin Yip's topic in Delphi IDE and APIs
It won't work without DDevExtensions in a plain IDE, new feature I guess 🙂 -
What's the shortcut for 'double click to maximize the editor area'
FredS replied to Edwin Yip's topic in Delphi IDE and APIs
I know DDevExtensions has it with a double-click by adding a hidden registry key..