Leaderboard
Popular Content
Showing content with the highest reputation on 01/27/22 in all areas
-
Parnassus Bookmarks for Delphi 11 Alexandria?
Brandon Staggs replied to PeterPanettone's topic in Delphi IDE and APIs
I loved Parnassus plug-ins, but the delayed updates, combined with odd DLL issues I was having when trying to manage multiple versions of Delphi while using the plug-ins and having to use Get-It forced me to un-learn my reliance on them. Usable navigation, a minimap, and improved bookmarks should all be native in the IDE at this point, IMO. As someone else mentioned, I am glad that their high-dpi updates broke these plug-ins, finally someone at Emba actually has to USE the mess that is Delphi high-DPI support. That's the only way it will ever be truly fixed. -
The Curiously Recurring Generic Pattern
Erik@Grijjy posted a topic in Tips / Blogs / Tutorials / Videos
In the category Fun with Generics: https://blog.grijjy.com/2022/01/25/crgp/ -
-
The Curiously Recurring Generic Pattern
Joseph MItzen replied to Erik@Grijjy's topic in Tips / Blogs / Tutorials / Videos
Doesn't using classes, abstract classes, generics, hidden properties, class constructors, and of course a typecast of sorts anyway for such a simple problem make you want to throw up your hands in despair and swear to never use static typing again? -
Solved. It wasn't an fdbatchmove parser problem but it it happens because the analyzesamples was setted to 100 and the csv file line was at the near the end. So the target field length was to small to contain the whole field. setting it to 100000 works good
-
The Curiously Recurring Generic Pattern
Stefan Glienke replied to Erik@Grijjy's topic in Tips / Blogs / Tutorials / Videos
The issue is not static typing but the ridiculous amount of ceremony required. -
Class methods Polyformism
Dalija Prasnikar replied to Sam Witse's topic in Algorithms, Data Structures and Class Design
procedure TForm2.Button1Click(Sender: TObject); begin Edit1.Text := inttostr(TChild.id) { <= Calling the Child's property} end; When you use the above call, TChild.id calls static GetMasterID method. Because that method is static it does not have Self parameter passed, which in context of class methods represents class itself. So when you are inside GetMasterID method, compiler no longer knows from which class you have called that method. It only knows the class where the method is implemented, in this case TMaster. And calling GetChildID will be interpreted as calling TMaster.GetChildID. If you remove abstract on TMaster.GetChildID and implement that function as regular virtual method, which returns different integer than TChild.GetChildID you will no longer have abstract exception, but you will get wrong results.- 8 replies
-
- class method
- polyformism
-
(and 1 more)
Tagged with:
-
Class methods Polyformism
Uwe Raabe replied to Sam Witse's topic in Algorithms, Data Structures and Class Design
This is exactly what I'm trying to do: You missed to quote my suggestion to the end: procedure TForm2.Button1Click(Sender: TObject); begin Edit1.Text := inttostr(TChild.GetChildId) { <= Calling the Child's class function} end;- 8 replies
-
- class method
- polyformism
-
(and 1 more)
Tagged with:
-
A quick google tells me that VTV 5 dropped support for Delphi 5 and 6, and that the last VTV 4 was 4.8.7, but I have no idea whether this is accurate I have downloads only back to VTV 6.3.
-
Github repo Most likely - double free when VTV's OnFreeNode disposes linked object and it also gets freed somewhere else
-
A better way to share global data structures than as global variables?
Uwe Raabe replied to DavidJr.'s topic in Algorithms, Data Structures and Class Design
A datamodule has its advantage when component properties are loaded from the DFM - that includes wiring of components and event handlers. (I am aware that some see that as a disadvantage) Another point is that, if you don't actively prohibit that, ist is registered in Screen.DataModules and can be found without that dreaded global instance variable. -
The docs are pretty clear: https://docwiki.embarcadero.com/RADStudio/Alexandria/en/Installation_Notes#Windows_10_SDK
-
Which option to use for a large batch of REST queries?
Dalija Prasnikar replied to David Schwartz's topic in OmniThreadLibrary
Testing is one things, calling something that serves no purpose is another. If the system is over stressed then pumping messages from UpdateLV will not make it run any faster. If the system is not stressed it will pump messages even without you forcing it, literally as soon as you exit UpdateLV method. If you have too many items on list view and UpdateLV is killing your overal performance, then you should modify that logic and instead of updating the whole list all the time update only item that is modified. Yes, you could see some differences in behavior with Application.ProcessMessages, but none that really matter. Just remove those. -
Hi, this "bug" is corrected in version 11 (and perhaps 10.4, I don't check that)
-
The Curiously Recurring Generic Pattern
David Schwartz replied to Erik@Grijjy's topic in Tips / Blogs / Tutorials / Videos
Ok, after reading the article, it makes more sense. It will take some pondering to come up with legitimate use cases. The article ends with: A while back, I was trying to translate a Swagger spec into some Delphi code, and I ran into some issues that this might solve. The Swagger spec is read at run-time and the program generates Dephi code that gets compiled later on. The problem is that the typing isn't really known at run-time when you're reading the Swagger spec. But emitting code that resolves it at a subsequent compile time without having to know it when it's emitted might solve the problem... -
The version after next will have custom logical project groups inside MRU Project Manager.
-
Parnassus Bookmarks for Delphi 11 Alexandria?
dummzeuch replied to PeterPanettone's topic in Delphi IDE and APIs
Your definition of clumsy is somebody else's definition of efficient. Ctrl+K Ctrl+G to drop a bookmark, Ctrl+Q Ctrl+G pick up the topmost bookmark, and Ctrl+Alt+Q Ctrl+Alt+G to replace the topmost bookmark is as difficult to remember as any other key combination. I actually appreciate that they did not take away yet another simple keyboard shortcut from us plug-in developers. Talking about WordStar: Ctrl+K N and Ctrl+Q N is yet another key combination to access the Toggle Bookmarks, so these Stack Bookmarks shortcuts fit right in.