-
Content Count
3701 -
Joined
-
Last visited
-
Days Won
185
Everything posted by David Heffernan
-
How to manage feature changes during release cycle?
David Heffernan replied to Mike Torrettinni's topic in General Help
Thus isn't how I do it. I have a development branch. New features and bug fixes go there first. Now, if they are anything other than completely trivial they will be developed on feature branches and then merged back to the development branch. Then whenever you do a release you branch off a release branch. And then you choose which commits from the development branch need to be merged on to the release branch or branches. You don't implement anything twice, it's just merges. Obviously sometimes there are conflicts to deal with. You can also buy books that go into this in detail. -
The former must be used to create the main form. Otherwise there's no need and you can just call the constructor. That's what I do. Use the Application method for the main form and call constructors directly otherwise. The other difference in these two snippets is the second one has no owner, but the former is owned by Application.
-
How to manage feature changes during release cycle?
David Heffernan replied to Mike Torrettinni's topic in General Help
These aren't sprints. Those are a term used in scrum. You can read about that to learn what they are. The simple answer is that you need to use branches. Every time you make a release, create a branch for that release. All bug fixes are made on trunk and then merged onto whichever release branches are supported. This is much simpler and much safer than your current approach. -
Why empty dynamic arrays = NIL?
David Heffernan replied to Mike Torrettinni's topic in Algorithms, Data Structures and Class Design
All I said, and you can go check, is that it is sometimes desirable to distinguish null from empty. -
Why empty dynamic arrays = NIL?
David Heffernan replied to Mike Torrettinni's topic in Algorithms, Data Structures and Class Design
Can't use the operators that we have in other languages -
Why empty dynamic arrays = NIL?
David Heffernan replied to Mike Torrettinni's topic in Algorithms, Data Structures and Class Design
No. Really not a good suggestion. Please don't tell me that you have nil checks every time you use an object. -
Why empty dynamic arrays = NIL?
David Heffernan replied to Mike Torrettinni's topic in Algorithms, Data Structures and Class Design
Generally you know that the list has been assigned. Usually they are created in the same function above the use, or passed in to the function and known to be assigned, or created in the constructor. So no its quite rare to see code like that. -
Why empty dynamic arrays = NIL?
David Heffernan replied to Mike Torrettinni's topic in Algorithms, Data Structures and Class Design
Only there's no language support for that. Why does C# code ever have those all over the place? Mine doesn't. Is sounds a bit like poorly designed code. Or am I missing something? -
Why empty dynamic arrays = NIL?
David Heffernan replied to Mike Torrettinni's topic in Algorithms, Data Structures and Class Design
Not sure I agree. It can be useful to distinguish between null and length 0 array. It can be useful to have these as different conceptual things. -
OLE structured storage library replacement for Plasmatech
David Heffernan replied to TonyB's topic in General Help
Well in the case of structured storage, it's an old legacy technology that won't change. So does it matter that your library isn't actively maintained? -
why shortstring in Delphi cannot used in our Programs using New IDE?
David Heffernan replied to bravesofts's topic in Algorithms, Data Structures and Class Design
It's Java. Very early on many C# programs were also valid Java programs. -
why shortstring in Delphi cannot used in our Programs using New IDE?
David Heffernan replied to bravesofts's topic in Algorithms, Data Structures and Class Design
That's not really why byte is useful. Byte is primarily useful to store binary data, typically as TArray<Byte>. It's rare to use Byte to store a count for example. -
delphi set max length for Argument of string in a method
David Heffernan replied to bravesofts's topic in Algorithms, Data Structures and Class Design
No there is not. However, you really should not be using short strings at all. These only exist for backwards compatibility with legacy code. -
delphi set max length for Argument of string in a method
David Heffernan replied to bravesofts's topic in Algorithms, Data Structures and Class Design
I don't understand the question. Obviously the code here is not valid. Can you describe what you want to achieve. -
OLE structured storage library replacement for Plasmatech
David Heffernan replied to TonyB's topic in General Help
I remember working with the ExpressSpreadsheet xls code which is based on BIFF records and COM structured storage. The developers had implemented a lot of code to handle the structured storage side of it all, and whilst it mostly worked, there were a couple of obscure bugs which were flushed out by writing huge files. After spending some time debugging it all, we threw away all of the third party code that implemented structured storage and replaced it with the system provided COM objects. So I guess what I am saying is that the approach outlined by @Alexander Elagin above seems likely to be good advice to me. -
Strange exception with "Write of address 00400000"
David Heffernan replied to Cristian Peța's topic in VCL
This has always been a total heap of crap -
10.4.1+ Custom Managed Records usable?
David Heffernan replied to Darian Miller's topic in RTL and Delphi Object Pascal
Ah, yes, I see now! Wise -
10.4.1+ Custom Managed Records usable?
David Heffernan replied to Darian Miller's topic in RTL and Delphi Object Pascal
It's Python. Perl's conditional operator is the same as C. That looks completely different. And has the condition first. Quote unlike how it is done in Python. -
10.4.1+ Custom Managed Records usable?
David Heffernan replied to Darian Miller's topic in RTL and Delphi Object Pascal
I don't think that rings true. I mean the Python if statement is the same as the Pascal if statement. The Python syntax is closer to natural language than what is done in Oxygene. I don't see either as being particularly in keeping with Pascal, one way or another. -
Is it possible to see Git current working branch in IDE?
David Heffernan replied to Mike Torrettinni's topic in Delphi IDE and APIs
He's already using SourceTree which displays the information...... -
Is it possible to see Git current working branch in IDE?
David Heffernan replied to Mike Torrettinni's topic in Delphi IDE and APIs
I don't understand most of the answers. Mike wants to see the information in the RAD Studio IDE. -
This entire thread is largely pointless because we don't have a clear idea what you are trying to do and what your code looks like.
-
Utility to import/convert simple Python code
David Heffernan replied to Prabhat's topic in Python4Delphi
So write it in Python. -
Utility to import/convert simple Python code
David Heffernan replied to Prabhat's topic in Python4Delphi
Why don't you write something yourself to do this? -
Delphi 11 Windows XP compatibility tweak
David Heffernan replied to mitzi's topic in RTL and Delphi Object Pascal
I watched the sneak peak webinar and Marco mentioned that apps would no longer run on XP and also described the workaround in the original post here. So yes, this is intentional, and submitting a QP report would be kind of pointless. However, if you want there to be one you could do it yourself, rather than ask somebody else to do it.