-
Content Count
3740 -
Joined
-
Last visited
-
Days Won
188
Everything posted by David Heffernan
-
Most efficient way to delete multiple items from a TList<T>...
David Heffernan replied to Steve Maughan's topic in Algorithms, Data Structures and Class Design
We are all given a finite time here. Why would we spend it optimising something that wasn't a bottleneck. Imagine measuring, identifying the bottleneck, optimising, and the observing real discernible performance benefits? How great does that feel? Conversely, imagine expending time on work that yields no benefit. And worse, you likely end up with code that is harder to read and maintain. Usually this just results in bugs. Think of it, you spend valuable time making your program worse. You may as well just go to the pub and leave the code alone. You have a good time, and your program is better. Win win. -
Most efficient way to delete multiple items from a TList<T>...
David Heffernan replied to Steve Maughan's topic in Algorithms, Data Structures and Class Design
What evidence do you have that this task is a bottleneck? -
Blogged : Introducing DPM - a Package Manager for Delphi
David Heffernan replied to Vincent Parrett's topic in Delphi Third-Party
In my world I need to build against multiple different versions of the same library. This is not an obscure requirement. It happens pretty much anytime you maintain development and release branches. When you maintain legacy versions. This is a mainstream scenario in any professional programming setup. Global settings are simply incompatible with that. -
Actually, I think that might be right, there is a section in the map file that lists the units in the order they are initialized. Also, there are tons of questions on this topic on SO.
-
Overload methods or use unique names?
David Heffernan replied to Mike Torrettinni's topic in Algorithms, Data Structures and Class Design
I do, sometimes, use overloaded methods. You are simply not going to learn anything by asking people to tell you how the decisions to make when they don't have the necessary information to make them. You need to understand concepts but you just seem to ask us to tell you what to do in a specific case. -
Overload methods or use unique names?
David Heffernan replied to Mike Torrettinni's topic in Algorithms, Data Structures and Class Design
I don't think an answer to that question will help you. -
Parsing the detailed map file is probably the easiest way to do this is a large project. If you know you have dependencies on initialization order, I'd solve the problem by removing those dependencies.
-
Overload methods or use unique names?
David Heffernan replied to Mike Torrettinni's topic in Algorithms, Data Structures and Class Design
It's not an effective way to learn. A really good book is what you need. In my opinion. -
Overload methods or use unique names?
David Heffernan replied to Mike Torrettinni's topic in Algorithms, Data Structures and Class Design
No. The caller has to tell the callee what to do. The callee needs to get the information from somewhere. I wonder, do you have any good books on software design? I really don't think this sort of question has proved fruitful. -
Window text is simple an attribute owned by the window. Programs can do what they want with it. Top level windows typically display it in the caption. Edit controls display it as the text to be edited.
-
It not the caption. Its the window text. By default the system uses that text as the caption, but it is possible to have windows with no caption, that do have window text.
-
Read the documentation. It's the text of the window. Documentation is always the first port of call. Don't guess. You talk about the name of the application. Well, an application name isn't something well defined in programing terms. There may be conventions that the executable file has a name that matches what you think of the application name. But nothing enforces that. You need to decide on the right way to identify your process. If you try to kill windows with the class name TMainForm then there will be collateral damage. You'll kill my program's main window! So, try to work out how to robustly identify your process.
-
Overload methods or use unique names?
David Heffernan replied to Mike Torrettinni's topic in Algorithms, Data Structures and Class Design
If the methods perform the same task, use overloads. What you have here looks like it should definitely use overloads. -
This would suggest that there is no to level window whose text is MyTestApp
-
Combining several applications into one
David Heffernan replied to Gary Mugford's topic in General Help
Actually it's a really bad idea. Cross process window parenting relationships just don't work out. Don't even think about it. -
The error message tells you that you are supplying more arguments to a function call than expected. Look at the declaration of the function in question. Look at the list of parameters. Look at the arguments you pass. Where is the mismatch?
- 12 replies
-
Well, it easily could if it would use runtime type testing, the is operator. My framework does it this way.
-
It's a shame you don't have enough time to do this.
-
The version without the owner leaks. Potentially there could be issues with popup parent also. Which form do you want to be the popup parent? Although I could be wrong on that one. I'm not sure that the framework looks at the component owner to determine the popup parent in auto mode.
-
AddIn express is superb
-
I wouldn't feel very confident about my chances of making this design work. Personally I'd be looking for a different solution.
-
can anything else but a variable be declared as 'absolute'?
David Heffernan replied to dummzeuch's topic in RTL and Delphi Object Pascal
No. -
THttpServer port number...
David Heffernan replied to Mark-'s topic in ICS - Internet Component Suite
This is certainly a thing that is routinely done. https://en.m.wikipedia.org/wiki/Ephemeral_port The system has support for generating such ports, I've used it with an Indy server listening on loopback for a client in the same process. I do this to implement an application help browser using an embedded Web browser control. I don't want to use a fixed port number because I don't want to risk clashing with other services. And since I control both server and client an ephemeral port is perfect. -
It's explained in the documentation http://docwiki.embarcadero.com/RADStudio/Rio/en/Activating_and_Configuring_the_Target_Platform
-
1GB SVN repo free from Perforce... and Git Sucks.
David Heffernan replied to Darian Miller's topic in Tips / Blogs / Tutorials / Videos
You have to maintain the Linux box. You have to maintain the svn server. If you have it hosted then somebody else does it all.