Dalija Prasnikar
Anonymous threads are simple to use and are highly appealing when you need to quickly put and execute some small piece of code in a background thread. They work great when they run and complete,… … Read more
2 years ago in Delphi, multithreading0
Dalija Prasnikar
Delphi Thread Safety Patterns Bookhttps://dalija.prasnikar.info/delphitspatt/While the thread safety of a particular piece of code depends on the surrounding context and how it is used, some data types are inherently unsafe, and for some of them,… … Read more
3 years ago in book, Delphi, multithreading0
Dalija Prasnikar
Productivity is a highly subjective topic. What makes one person productive might not work for another. However, that doesn’t mean that sharing your own experience is not useful for other people. If some of the… … Read more
3 years ago in Productivity, programming0
Dalija Prasnikar
In the TCoffeeAndCode session about “Code Profiling, Optimization, Performance, and Memory Leaks”, it has been mentioned that generics are slow. However, no specific details were given, and this topic deserves to be explained in more… … Read more
3 years ago in Delphi, generics, Optimization0
Dalija Prasnikar
Virtual methods enable subtype polymorphism – in other words, they allow implementing different behavior in descendant classes.That means if you have a base TShape class with a virtual Paint method, and several descendant classes like… … Read more
3 years ago in Delphi, Virtual, vmt0
Dalija Prasnikar
The “When in Rome, do as the Romans do” blog post series used serialization as an example of what happens when applying inappropriate coding patterns for some language. It demonstrated how field-based serialization does not… … Read more
3 years ago in Serialization0
Dalija Prasnikar
In Delphi, properties can be backed by simple fields, but they can also have getter and setter functions that can be vital to the proper functioning of a class. They can contain additional initialization code,… … Read more
4 years ago in Delphi, Serialization0
Dalija Prasnikar
Did you miss the TCoffeeAndCode session on “All about threading and concurrency”? The webinar replay is now available! Hosted by Jim McKeeth and his guests: Frank Lauter, Primož Gabrijelčič, Olaf Monien, Kelver Merlotti and Dalija Prasnikar.&… … Read more
4 years ago 0
Dalija Prasnikar
In case you missed the live session, webinar replay Mastering Delphi Memory Management where I am answering your questions about memory management is available on YouTube. Book intro by Neven Prasnikar Jr. followed by a recording… … Read more
4 years ago in book, Delphi, memory management, Webinar0
Dalija Prasnikar
In the previous article, we learned that native Delphi serialization is based around published properties, and that other kinds of serialization, like field-based serialization, don’t fit well with the Delphi model. Photo: Gary Todd from… … Read more
4 years ago in Delphi, Serialization0
Dalija Prasnikar
Join me this Thursday, Apr 22, 2021 5:00 PM – 6:00 PM CEST for a live Q/A session about Delphi memory management. See you! Register for webinar:https://register.gotowebinar.com/register/474961949731996432Book information:https://dalija.prasnikar.i… … Read more
4 years ago in Delphi, memory management, Webinar0
Dalija Prasnikar
While different OOP languages share some common principles and many coding patterns will be the same or at least fairly similar, there are also some significant differences that can make some commonly used patterns from… … Read more
4 years ago in Delphi, Serialization0
Dalija Prasnikar
This is a continuation of a previous blog post, Are const parameters dangerous?Basically, adding an out parameter into the mix does not change anything that has been said in the previous post about using const… … Read more
4 years ago in Delphi0
Dalija Prasnikar
“Embarcadero Technologies – Conversation with Dalija Prasnikar, Embarcadero MVP, on covering her new book on Delphi Event-based and Asynchronous Programming.” Book intro by Neven Prasnikar Jr. and a recording of live Q&A chat hosted by Jim… … Read more
4 years ago in Asynchronous programming, Delphi, Webinar0
Dalija Prasnikar
Running long tasks in a background thread to keep the UI responsive is one of the main purposes of multithreading. A common code pattern for doing so would look like:procedure TMainForm.BtnClick(Sender: TObject);begin TThread.CreateAnonymousThread( … … Read more
4 years ago in Delphi, multithreading, synchronize0