-
Content Count
3586 -
Joined
-
Last visited
-
Days Won
176
Everything posted by David Heffernan
-
Why do you call FileExists? A single call to CreateFile can tell you what you need. The code as it stands won't tell you whether or not the file is in use. What is hdl? Use THandle as stated above. As for the problem, debug it! Use GetLastError if CreateFile fails. If CreateFile succeeds then there's presumably something wrong with your logic.
-
Not Delphi!
-
Do you design each form for separate case, or use common forms for similar design?
David Heffernan replied to Mike Torrettinni's topic in VCL
Task dialog is not suitable for that. However, the form you described, which led me to suggest task dialog, is a very different beast from these forms. The forms you described did not have an edit control or 7 check boxes!!!! Very hard to give advice when you don't describe the actual problem. -
Do you design each form for separate case, or use common forms for similar design?
David Heffernan replied to Mike Torrettinni's topic in VCL
That's an odd comment. For dialogs with a message, and couple of checkboxes or buttons then they are perfectly flexible. If you want to customise every individual form then what are you even asking? Just design each one in the designer. -
Very slow access to class parameters by properties
David Heffernan replied to ŁukaszDe's topic in Algorithms, Data Structures and Class Design
Kinda pointless to measure a getter that just returns or sets the field. Try measuring one that does some work. -
Do you design each form for separate case, or use common forms for similar design?
David Heffernan replied to Mike Torrettinni's topic in VCL
No. I'm not even sure what such a framework would look like. Sounds like massive overkill. -
Do you design each form for separate case, or use common forms for similar design?
David Heffernan replied to Mike Torrettinni's topic in VCL
I wouldn't consider using the designer for such a thing. I would build the form dynamically in code. Your example of a dialog with a handful of checkboxes and buttons is just the Vista task dialog. -
Jumping to methods via procedure list does not expand region
David Heffernan replied to Stefan Glienke's topic in GExperts
Any developer or organisation that cares about quality should be flexible enough to accept bug reports from a variety of channels. Clearly if the reporter can enter a high quality report in the project bug tracker, then that is the ideal. But in reality that is not always possible. Sometimes these reports are unclear and imprecise and the project owner has to edit the report. And sometimes the reporter just won't take the required steps. Sometimes the reporter is stubborn and for inexplicable reasons refuses to give their email address and a password to sourceforge 😉 But what developer would here of a bug in their software and not want to fix it? Any developer that is prepared to let bugs pass if they aren't in the tracker should just give up. Incidentally, it grinds my gears that Emba killed QC without transferring open reports to the replacement. On numerous occasions I have been asked by Emba staff to resubmit to QP the litany of open floating point related bugs that I submitted to QC. It makes no sense to me at all that any developers that care about quality would do that. -
I'm sure you are right. It just seems weird that any git program could have performance issues when all they are doing is wrapping git.
-
Memory leak in UnicodeString to string conversion
David Heffernan replied to dkprojektai's topic in OmniThreadLibrary
Before knowing how to fix it, you need to know what causes the leak. That's where the minimal reproduction comes in. -
Memory leak in UnicodeString to string conversion
David Heffernan replied to dkprojektai's topic in OmniThreadLibrary
A complete reproduction is surely needed here. As an aside, can't you use a read lock here? -
We can help you but we need you to provide clear information. If you want to continue posting random scraps of information that mean nothing to us (we don't have your code, or a minimal reproduction), the posts in this thread are not actionable. As somebody who has experience debugging memory I can assure you that you are going about it the wrong way. We can for sure help, but it requires you to provide clear information and take a more structured approach. If you don't want to do that, and wish to continue with trial and error, that's fine. But please don't consume bandwidth here by posting scraps of information that means nothing to us. Remember that this is a public forum. Every post you make is broadcast. We don't to spend our time sifting through posts looking for the useful actionable content.
-
Dude, you've got a memory corruption somewhere, and the behaviour of such bugs is often not repeatable. Change something in one place, and the bug is hidden, only to pop up somewhere else. I suggest that you stop posting here unless you have something concrete to share, and ask for help. Why are you posting you trial and error debugging in a public forum? Do you know what valgrind is?
-
We are doing just that. These continued postings are just noise for us. Clearly you have a problem but unless you can provide a clear reproducible case then your latest piece of guesswork doesn't warrant an update here. These bugs can be hard to track down. That's why we use tools like valgrind. They track them down instantly.
-
Hard to see how source tree could be slow to pull when all it is doing is shelling out to git......
-
Public service announcement: If you don't reply to a comment that is leading nowhere, the thread just ends.
-
Can't you debug the code on windows. Might be easier there and now possible because the memory model is the same. On Linux you can of course use valgrind.
-
Constructors + Destructors in class helpers?
David Heffernan replied to David Schwartz's topic in RTL and Delphi Object Pascal
C# has had this cracked for more than 10 years now. Why can't Delphi get it done? -
The Android 64bit deadline warnings have started
David Heffernan replied to Yaron's topic in Cross-platform
Again I don't think that's true. Certainly in conversations with folks at Emba they do recognise many issues with their current product on Windows. -
The Android 64bit deadline warnings have started
David Heffernan replied to Yaron's topic in Cross-platform
Sometimes it takes strength to say no to some customers. -
The Android 64bit deadline warnings have started
David Heffernan replied to Yaron's topic in Cross-platform
I dispute that. I don't see anything wrong with a business model that concentrates on enhancing and developing their core market. Imagine what could have been achieved on Windows if all the resource that was used on the new platforms had been spent on Win32 and Win64? Remember also that the vast majority of the income is still from the Windows tools. -
The Android 64bit deadline warnings have started
David Heffernan replied to Yaron's topic in Cross-platform
Sure it's down to a lack of resources. But that's a consequence of expanding to new platforms. Each additional platform comes with a maintenance cost. That cost is paid for out of revenue. The bulk of the revenue comes from customers that are using the legacy platforms. If Emba continue to neglect their core business (Windows development tools) then eventually customers will look elsewhere. -
The Android 64bit deadline warnings have started
David Heffernan replied to Yaron's topic in Cross-platform
Kinda galling to realise the effort Emba is putting in for 64 bit mobile and Mac desktop platform support (all minority user bases) and at the same time the Windows compilers (overwhelming majority user base) receive no attention at all. What kind of business model is it to take money of your customers and then spend it on developing functionality that is not useful to the majority of your customers? -
Stepping through execution in an interactive debugger is fine for some debugging tasks, but it's just one form of debugging. It's hopeless for debugging threading specific issues. It's the wrong tool. Lots more to debugging than interactive debugger step through.
- 29 replies
-
- delphi ide
- delphi
-
(and 2 more)
Tagged with:
-
Linux Support on Pro Edition
David Heffernan replied to Alexander Elagin's topic in Delphi IDE and APIs
It's not obscure if you realise that Longint and Longword map to the corresponding C++ types long int and unsigned long int whose size is determined by the platform ABI.