-
Content Count
3508 -
Joined
-
Last visited
-
Days Won
115
Everything posted by Lars Fosdal
-
SDTimes Industry Watch: The developer transformation
Lars Fosdal posted a topic in Project Planning and -Management
https://sdtimes.com/softwaredev/industry-watch-the-developer-transformation/ -
Very slow access to class parameters by properties
Lars Fosdal replied to ŁukaszDe's topic in Algorithms, Data Structures and Class Design
As David says - if the setter and getter don't do anything but assignments, you can eliminate them. property X: Integer read pX write pX; property Y: Integer read pY write pY; -
The joys of inherited problems. I am looking for a pattern or advice on how to best allocate a set of records to a specific requestor when there are multiple parallel requests, and there are multiple parallel request viewers. In practice: Allocate a set of deliveries to a user, when there can be multiple users requesting deliveries in parallel, and multiple users viewing the deliveries in parallel. The current SQL can give deadlocks both on allocations and on viewing, so something is definitively not right, and I need to improve on it. There is SO, where it all is an exercise in asking the question right... Are there other good discussion sites?
-
Work in progress. Looking at more retry resilience, rather than always once off. https://www.microsoftpressstore.com/store/exam-ref-70-762-developing-sql-databases-9781509304912
-
I use a cream colored background in the editor. I find that much calmer than looking at a black display.
-
https://jsonlint.com is very handy.
-
Increasing registration count not possible without active maintenance support
Lars Fosdal replied to Leif Uneus's topic in Delphi IDE and APIs
I like the MS VS way better than the EMBT BDS way. -
I have a couple of XK16, an XK-60, and the XK-3 pedal that I rarely use these days. I used them a lot back when I was a PC gamer. Amazing hardware. Quirky software.
-
Does any of you have experience with OPC over DCOM, using Delphi? We are looking for a library that is tried and known to work well, as there are a number to choose from at https://www.opcconnect.com/delphi.php
-
Thanks, Uwe. We did consider that our best option as well. Now we just need Tetrapak to set up their OPC server correctly 😛
-
Initialize local variables at declaration
Lars Fosdal replied to PeterPanettone's topic in Delphi IDE and APIs
They would be uninitialized per iteration. Ref. AllocMsg - what can I say other than old habits die hard 😛 TPQ and ArtSum are regular objects retrieved from global shared pools and life cycle management happens elsewhere. -
C# offtopic: Class of TSomeClass - Alternatives?
Lars Fosdal posted a topic in RTL and Delphi Object Pascal
I am quite fond of class variables of the Class of TSomeClass type. I use these for polymorph creation of class instance variables, typically handlers of some sort, but C# does AFAIK not have a similar construct, i.e. type as a variable. What are the best practice alternatives to using class variables? Am I limited to case / if then else factories or is there something more elegant around? -
I wonder if this was related to themes being disabled.
-
Initialize local variables at declaration
Lars Fosdal replied to PeterPanettone's topic in Delphi IDE and APIs
This works well in our 10.3 production code, so it is not entirely useless. The THardAllocList is a TList<T>, though - not a TArray<T>. Several typeless inline declarations with initialization, and a inline string var with initalization. procedure TPSDTask_ImportCustomerOrders.ProcessHardAllocations(const aDeliveryId: Integer; const HardAllocations: THardAllocList); begin for var Alloc in HardAllocations do begin var TPack := GlobalTPackList.FindByTPackNo(Alloc.TPackNo, True, True); if Assigned(TPack) then begin var TPQ := TPack.GetQuantityOfArticleOnTPack(Alloc.ArticleId); var ArtSum := GlobalArticleSummaryList.FindByArticleId(Alloc.ArticleId); if ArtSum.QuantitiesAreEqual(Alloc.Quantity, TPQ) then begin if TPack.AllocatedDeliveryId = 0 then begin // Allokér TPack til leveranse var AllocMsg: string := ''; if TPack.AllocateToDelivery(aDeliveryId, AllocMsg, True) = rOK -
I use extensive logging, so that does clarify most of my threading issues - but sometimes, you simply need to get into the structures to understand where shit happens. At that point, I'd like my debugger to be well behaved. Unfortunately, it is not.
- 29 replies
-
- delphi ide
- delphi
-
(and 2 more)
Tagged with:
-
Constructors + Destructors in class helpers?
Lars Fosdal replied to David Schwartz's topic in RTL and Delphi Object Pascal
Both class and record helpers could do with a real upgrade. The lack of inheritance and lack of support for Generics is crippling. -
Only us old-timers.
-
Since it often is the actual thread interaction in a multithreaded server that is the cause for debugging - freezing other threads would be undesirable. I'd settle for a way to have breakpoints thread context aware so that I can choose to have breakpoints active in specific threads. A way to easily enable/disable breakpoints per active thread context.
- 29 replies
-
- delphi ide
- delphi
-
(and 2 more)
Tagged with:
-
Autocompletion for TEdits revisited
Lars Fosdal replied to dummzeuch's topic in Tips / Blogs / Tutorials / Videos
He recently and briefly resurfaced in Teams. https://www.theverge.com/2019/3/22/18276923/microsoft-clippy-microsoft-teams-stickers-removal -
Totally agree on the lure of RAD UI design and how it causes newbies to write code that is both relying on states in the UI as well as in their business model, instead of the UI reflecting states from the internal model and delivering changes to that model. As far as possible, I try to write my code without a UI, and I try to make the interfacing between the internal business logic and the UI as simple as possible, with the UI as far as possible being oblivious about why its values and settings are what they are. I often have separate reusable classes as glue between the UI and the biz objects, so that they remain isolated. The debugger is not fine when you venture past 32-bit single UI thread. The 64-bit Delphi debugger leaves so much to be desired, that it is better to do the debugging in a 32-bit version of the app. Multi-threaded debugging - combined with anonymous methods - often causes also the 32-bit debugger to stop working - such as not resuming after a break, or no longer breaking where it was supposed to. Debugging code that runs multiple identical threads is a challenge as there is no simple way to specify that you only want to debug a specific thread instance.
- 29 replies
-
- delphi ide
- delphi
-
(and 2 more)
Tagged with:
-
New VCL Style from DelphiStyles.com
Lars Fosdal replied to DelphiStyles's topic in Delphi Third-Party
I may exaggerate the problem, but there is a lot of abuse of the Flat UI as the new mantra of UI design. Windows 10 is packed with crappy flat UI, and so are a lot of web UIs too. F.x. I really miss proper use of ellipsis in menus and on buttons. I really miss the use of actual buttons - i.e. something that clearly appears as clickable. IMO - Applications are running on an OS-specific platform and should adhere to the OS behavior - so that when I change my OS skin, the application will follow, and clickable elements look the same everywhere. It is called consistency and helps with guiding the user. The ideal UI is "invisible" - and that does not mean that the button element is not visible, but that the behavior is so natural, you don't have to think about it. The UI should not get in the way of what you are using it for but lead and guide you through it so that you only need to think about what you are doing, and not about how you are doing it. For me, the best kind of skinning is the type that is able to visually adapt to the OS UI settings. My least favorite skinning is elements that visually distract from the flow of a UI, or that interfere with the "normal" UI metaphor for a platform. The great thing about DelphiStyles is that if the developer using it does it right - I can select a style that is pretty close to the standard OS style. -
New VCL Style from DelphiStyles.com
Lars Fosdal replied to DelphiStyles's topic in Delphi Third-Party
We sure do, because this makes me cringe. Too much clutter. That said - I also hate the currently popular naked "flat UI" design philosophy which takes away most UI guidance and makes you guess if something is a link, a button, or just text - and you have to hover and/or click in the right places to find out. -
New VCL Style from DelphiStyles.com
Lars Fosdal replied to DelphiStyles's topic in Delphi Third-Party
I am at a loss for words. Do people actually use such styles? -
That said - there may be other NNTP servers out there that propagate content from the usenet/alternet groups that also are on Google Groups, but if the group was initially made on Google Groups, it is not necessarily so that it is propagated out of Google Groups. Anyways - NNTP appears to be a thing of the past and there are other federation protocols replacing it in some arenas. IMO, it would have been nice if they revamped it with the necessary security/authentication measures.
-
Afaik, that info is outdated. Browsing other results for "google groups nntp" indicates there is none.