FredS
-
Content Count
408 -
Joined
-
Last visited
-
Days Won
4
Posts posted by FredS
-
-
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..
-
16 hours ago, aehimself said:unless a significant amount of them will never be looked at
Yup, this thinking suggests that all those usability, compile and stability issues where fine as long as Andy fixed 'em..
-
2 hours ago, Uwe Raabe said:that version may be time limited
I guess the key point is that Embarcadero is just fine without the fix pack then.. move along..
-
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..
- 1
-
6 hours ago, pcplayer99 said:Thanks FredS
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. -
5 hours ago, dummzeuch said:But we digress...
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.
-
28 minutes ago, pcplayer99 said:The field "FMyClassA" is declared
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());
- 2
-
4 hours ago, Dany Marmur said:Then "berlin+" is not correct.
Works here, must be Magic 🙂
-
12 hours ago, pcplayer99 said:it can not access private field in original clas
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.
- 1
-
11 hours ago, pcplayer99 said:So, is there any way to do that?
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;
- 1
- 1
-
-
2 minutes ago, sjordi said:Migration Tool is useless.
Never worked for me.
A Reg backup and Beyond Compare work with a little effort..
- 1
-
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..
-
1 hour ago, Angus Robertson said:Quick Create don't support any other means of access
- 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)
-
15 minutes ago, Angus Robertson said:needed to allow incoming TCP access
To be clear, I use 'Bash on Ubuntu for Windows' and can access from the Host machine to my Hyper-Vm using that IP.
-
7 hours ago, Angus Robertson said:Windows 10 Hyper-V virtual Ethernet adapter
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.
-
2 hours ago, Anders Melander said:Report it
Believe I did that years ago.. not sure if via email or Google..
-
1 hour ago, Anders Melander said:Document Insight can use external XML files. Very useful when you don't want to make the source unreadable with XML DOC comments.
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:
QuoteWarning: Although separated XML documentation will make source code clean, the price is that neither built-in Help Insight nor Code Insight support this documentation style. In addition, you have to manually modify corresponding documentation file carefully when you changed a signature of an API.
-
15 hours ago, Jud said:Did they remove that feature
This breaks at times, has for different releases depending on code and debugging for a long time.
- 1
-
5 minutes ago, aehimself said:I'm sorry if I offended anyone by calling Earl a bug
Priceless 🙂
-
33 minutes ago, Stefan Glienke said:And what exactly is wrong or not understandable in a week with using {B+}
Nothing, but in the past too many directives where bad for the health of Error/Code insight.. sure that's much improved now 🙂
- 1
-
21 minutes ago, Mike Torrettinni said:always execute all functions
function CompleteEval(const Values: array of Boolean): Boolean;
- 1
- 1
-
3 hours ago, Edwin Yip said:I don't really remember
It won't work without DDevExtensions in a plain IDE, new feature I guess 🙂
-
11 hours ago, Edwin Yip said:I'm not sure since which version this feature was introduced
I know DDevExtensions has it with a double-click by adding a hidden registry key..
- 1
Having fun with Delphi
in Algorithms, Data Structures and Class Design
Posted
Since we already have System.Net.URLClient.TURI I might simply add a record helper with a class function Combine.