Leaderboard
Popular Content
Showing content with the highest reputation on 10/01/19 in all areas
-
Class methods and the effects of the static keyword
Stefan Glienke replied to Lars Fosdal's topic in RTL and Delphi Object Pascal
Don't tell me - but this the almighty excuse brought up by the decision makers almost every time some issue like this is brought up - "but what about existing code" - like for that dreaded "directly passing result of ctor call to interface parameter issue" - what about existing code? Well existing code is most likely suffering from a defect. The stupidity of the Delphi compiler in almost every aspect and the unwillingness to change anything significant on that is making me furious! -
Changes in Parallel Library
Remy Lebeau replied to hsvandrew's topic in RTL and Delphi Object Pascal
I have seen many people report many problems with the PPL over the years. And for that reason, I REFUSE to ever use the PPL at all. I don't trust it. It hasn't worked right since day 1, and Embarcadero just can't seem to get it right. I prefer to stay in control of my own threads. -
graphics32 is generally faster than gdi I believe
-
Or a pure Pascal library like graphics32
-
That leak report is suggesting that a UnicodeString allocated when the TCanvas.Font property creates its HFONT handle is being leaked. Why, who knows. The only UnicodeString I see allocated in TFont.GetHandle() is from a call to System.UTF8ToString(), and the compiler should be cleaning up that UnicodeString automatically when TFont.GetHandle() exits. That being said, do note that TBitmap and TCanvas ARE NOT THREAD SAFE. One thing I notice in your code is that you are unlocking the TBitmap canvases after drawing, but you said that the TBitmap objects are being "freed later". As soon as you unlock the canvases, the main UI thread is free to swoop in anytime and free the GDI resources behind the TBitmap objects' backs. That very well could cause race conditions that lead to problems. You have to keep the canvases locked for as long as you are using the TBitmap objects in a thread. Otherwise, don't use TBitmap in a thread at all, use straight Win32 API calls instead.
-
Thanks, I'm already aware of that implementation. I had discussions with the author about it, I just haven't had a chance to incorporate it directly into Indy yet: #49 Create an SSL IOHandler for Win32 that uses Microsoft CryptoAPI instead of OpenSSL
-
Integrating GIT into a Delphi Application?
dummzeuch replied to Steve Maughan's topic in Algorithms, Data Structures and Class Design
Given how many developers have got problems understanding how a distributed version control system works, I doubt that non technical people will understand it. And given how many times I personally had problems resolving git oddities (probably due to my own limited understanding of it), I doubt that you will do yourself a favor implementing this with git. This will most likely become a support nightmare, especially in my experience with the attitude of sales people towards IT and software developers. (They regard them lower than plumbers because in contrast to sales who earn the company lots of money IT only costs the company money and gets always into the way.) -
Integrating GIT into a Delphi Application?
David Heffernan replied to Steve Maughan's topic in Algorithms, Data Structures and Class Design
I would have imagined that you'd want some coordination, not everybody having their own copies, all different. Also, git in particular, and dvcs in general are very complex. You sure you want to throw that at your users. But hey, what do I know about your needs. Nothing. If you want to use git then go ahead. For instance with libgit2. -
Integrating GIT into a Delphi Application?
David Heffernan replied to Steve Maughan's topic in Algorithms, Data Structures and Class Design
Doesn't sound very much like dvcs is what you need. Sounds more like a central database is what you need. -
Well, how do you expect people to help you when you don't show everything you are doing? How do you know the resources are even being leaked at all? Do you have a leak report from somewhere?
-
How best to update from 10.3.1 to 10.3.2?
Sherlock replied to Incus J's topic in Delphi IDE and APIs
Well that's one of the drawbacks, when you switch from boring old monolithic to DLL/BPL/.net hell (preferebly a mix of all three, just to make sure). And no, @PeterPanettone I do not think a 12 year old developer should be confronted with this madness, it would scar the poor child for life. -
How best to update from 10.3.1 to 10.3.2?
PeterPanettone replied to Incus J's topic in Delphi IDE and APIs
A 12-year-old developer could do this in a few days. It is very simple: Do all the things programmatically the user does manually. I really don't see why this should be difficult. -
refactoring Is there a way to get the IDE to generate interface methods
jottkaerr replied to Larry Hengen's topic in RTL and Delphi Object Pascal
Inside the Code Explorer drag the interface onto the class name. MMX will open a dialog where you can see which methods will be implemented and which method sigatures might possibly get corrected because of changes in the interface definition. EDIT: MMX will show the implemented interfaces below the class name. You can repeat the drag operation to update the class definition whenever the interface definition changes.- 8 replies
-
- interfaces
- ide
-
(and 1 more)
Tagged with:
-
JSON as a way to save information in Firebird
Arnaud Bouchez replied to Alberto Fornés's topic in Databases
For a regular SQL DB, I would use a BLOB SUB_TYPE TEXT field, to store the JSON content. Then duplicate some JSON fields in a dedicated stand-alone SQL field (e.g. a "id" or "name" JSON field into regular table.id or table.name fields in addition to the table.json main field), for easy query - with an index if speed is mandatory. So, start with JSON only (and a key field), then maybe add some dedicated SQL fields for easier query, if necessary. side note: I would rather use SQLite3 or PostgreSQL for efficiently storing JSON content: both have efficient built-in support. Or a "JSON native" database like MongoDB. -
Thanks for all the replies. I think I used the web installer to install 10.3.1 - so I'll give that a try (backing up the VM first). Yes, I've found that some projects, especially those originating in older releases (e.g. Delphi 7 or 2010) and then dragged through later releases, start to behave in odd ways. For example the application version and build number settings don't stick - or when compiling, a different version number is assigned to the build than what is displayed in the project Options dialog. It trips up source control too. Perhaps there's an easy way to say 'start a new clean .dpr/.dproj file for this project'? It would be great if the Delphi Help menu included a Check For Updates item, as a quick foolproof way to update within the same series (e.g. 10.3.1 to 10.3.2 etc.)
-
How best to update from 10.3.1 to 10.3.2?
Lars Fosdal replied to Incus J's topic in Delphi IDE and APIs
If you installed 10.3.1 in your VM with the webinstaller, you can simply download the new webinstaller for 10.3.2 and run it. It will still automatically uninstall the previous version, but if you select to keep the configuration, it will remain configured for 10.3.2. If you installed 10.3.1 in your VM from the ISO image, I recommend uninstalling it before installing the 10.3.2 from either the new ISO image or the new webinstaller. Personally, I always use the webinstaller. /off-topic: Considering the number of new features in 10.3.2, I am a little miffed that you can't have both 10.3.1 and 10.3.2 installed at the same time. -
How best to update from 10.3.1 to 10.3.2?
Stefan Glienke replied to Incus J's topic in Delphi IDE and APIs
Updating a single application even if complex is not a hard task, almost every other major IDE out there can do it. Only Delphi developers have to manually apply hotfixes by unzipping some archive and unblock the contained binaries...