Leaderboard
Popular Content
Showing content with the highest reputation on 09/22/20 in all areas
-
https://github.com/Embarcadero/BoldForDelphi BoldForDelphi The original source code of the Bold library for Delphi Version 4.0.1.0 Bold for Delphi, Release 4.0 - 2004-04-23 Bold is a tool in the MDA (Model Driven Architecture) space, which allows you to start with an UML model of your application and a set of business rules written in a high level language and “execute” the model after creating a graphical user interface for it. Bold includes a sophisticated object-relational mapping layer, ability to map data to multiple formats, changes synchronization, and much more. It includes a large amount of IDE integrated tools and options to work with external UML modeling software. For more information see: https://delphi.fandom.com/wiki/Bold_for_Delphi http://boldfordelphi.blogspot.com/ The project source code has been made available by https://www.embarcadero.com/ and published under an MIT license.
-
Development of SynEdit at PyScripter has been moved to and merged with TurboPack SynEdit. The focus of the development is to modernize the code base and enhance the functionality (sometimes at the expense of backward compatibility). In addition to the earlier enhancements and fixes two more features have been recently added: Per-monitor DPI awareness Support for Font Ligatures (new option eoShowLigatures) Fonts like Cascadia Code and Fira Code contain ligatures relevant to programming. See this article for details. Are you using font ligatures? Do you like them? See sample. Thanks to vhanla for contributing the ligature support.
-
Many years ago Embarcadero/Codegear started restricting tech partner licenses to one year with no guarantee of renewal after that period. No vendor will develop commercial software using such a license when they may be stopped from supporting it after a few months, and the same applies to freeware that needs to be continually updated. There are now some older XE versions that are unusable because Embarcadero can no longer generate one year licences for them. Angus
-
Clearly, it is based on jokes alone.
-
Actually, I like this and make heavy use of it. begin if Value.StartsWith(Prefix, IgnoreCase) then Result := Value.Substring(Prefix.Length) else Result := Value; end; is just easier to read than var isPrefixed: Boolean; begin if IgnoreCase then isPrefixed := StartsText(Prefix, Value) else isPrefixed := StartsStr(Prefix, Value); if isPrefixed then Result := Copy(Value, Length(Prefix) + 1, Length(Value)) else Result := Value; end;
-
One of the first things I do after a fresh Delphi install is to mark the VCL source read-only. I don't know if that would have prevented it.
- 13 replies
-
- project magician
- line breaks
-
(and 1 more)
Tagged with:
-
Why we do not go another way ... and why does Embarcadero do not give Andreas free lifetime licenses or a lifetime subscription? We / Subscription owners pay a lot and sometimes we don't get anything within that subscription period + Andreas is doing / has done a lot for Delphi in the last years ... so this would be a very good roi for embarcadero IMO. I don't know if Andreas would accept this ... but if he can, it would be a big plus for delphi ...
-
What is the TApplication.MainFormOnTaskbar property set to? If MainFormOnTaskbar is True, then minimizing the MainForm will minimize the MainForm window to the Taskbar. In which case, checking TForm.WindowState or IsIconic(MainForm.Handle) should work. But if MainFormOnTaskbar is False, then minimizing the MainForm will hide the MainForm window and minimize the TApplication window to the Taskbar. In which case, checking IsIconic(Application.Handle) should work.
-
I find that 10.,4.1 needs three minutes to compile my project where 10.3.3 with IDE Fix Pack needs only 25 seconds. I've been lurking at the site but have seen no word yet on when an update with Sydney support will be out. I don't remember it ever taking this long before. Is anybody aware of any hold up in particular? The page I am monitoring is https://www.idefixpack.de/blog/ide-tools/ide-fix-pack/ I'd like to switch over to 10.4.1 but 3 minutes is just too long! Rob Crandall
-
string helpers question
Anders Melander replied to David Schwartz's topic in RTL and Delphi Object Pascal
The manual apparently There's a string.ToLowerInvariant for that purpose. The ancient Egyptians? I think they just used a larger chisel for emphasis That also makes it easier to write the feature specification: Just copy everything that .NET does. In some cases they even copied their documentation verbatim but failed to realize that it referenced stuff that they hadn't copied. I think a big problems with the string helpers is that they operate on zero based string indices. As if we didn't have enough opportunity off-by-one errors already. -
string helpers question
Fr0sT.Brutal replied to David Schwartz's topic in RTL and Delphi Object Pascal
In general, AFAIK, comparing lowercased versions <> case-insensitive comparing. It's the case for some languages. Moreover, in theory direct case-insensitive comparation should be faster than creating a new string + comparing because many languages do not have case at all. -
@Dany Marmur Just look it up:
-
Same here. Plus the tons of bots that just randomly like our posts.
-
tsslhttpcli TSslHttpCli Access violation at address or 404 error
Angus Robertson replied to Estefanie's topic in ICS - Internet Component Suite
The old class is not deprecated, the new component descends from the old one so is 100% compatible, but includes many optional addons such as SSL to make it easier to use. Angus -
Help needed. Re-raising exception gives AV.
Lars Fosdal replied to a topic in RTL and Delphi Object Pascal
Interestingly, the two following changes eliminates the AV on raise. Either, change LogException to a procedure procedure LogException(const E: Exception); begin Writeln('Log + ' + E.Message); //Logging('Blah blah' + Result, 'Exceptions'); FYI end; or assign the result to a variable: on E: Exception do begin lMessage := LogException(E); // AV in Sydney, OK i Berlin // LogExceptionEx(E, lMessage); // OK raise; end; It does look like a compiler problem. Is there a QP report? -
Yes, read-only files are out of bounds. The latest version also recovers from any write errors caused by insufficient access rights.
- 13 replies
-
- project magician
- line breaks
-
(and 1 more)
Tagged with:
-
AFAIK, Embarcadero offered a free one-year license (similar to what MVPs and Tech Partners get) to Andreas - probably more than once. Seems there is not much interest.
-
@Jim McKeeth should kick some shins to have a new roadmap produced.
-
Google doesn't have an API anymore and even if they did it wouldn't be advisable to use it. Microsoft Translator Service has a free tier with a limit of 2 million characters per month. So far I haven't hit their limit with my own personal use. Microsoft Terminology Service is free. I haven't tried DeepL but I have it on my TODO list. They don't have a free tier though so it doesn't have high priority. Of these, for "small application texts", I would recommend the Microsoft Terminology Service. I usually get very good results with it. You can try it out in my translation tool (and look at the source for inspiration): That reminds me that I need to get a new version of BTM uploaded as the current one, compiled with D10.3.3, fails to communicate with the Microsoft Terminology Service SOAP service because of a bug in Delphi's SOAP library. Should be fixed in 10.4.1 AFAIK.
-
We got an August 2020 Update from the GM: https://blogs.embarcadero.com/august-2020-gm-blog/ But unlike his August 2019 update, he failed to provide any plans this time. I really thought that a new roadmap would come out along with the 10.4.1 release, but it didn't happen. I can't imagine they'll wait too much longer....get some patches out for 10.4.1 and also release the updated roadmap. It should happen before the end of the month. We did get a separate update on C++ recently: https://blogs.embarcadero.com/c-gm-update-focus-on-c-quality-in-10-4-and-10-4-1/ but no long term plans there either.
-
Yeah, I'm +1 with David. With all the respects to all open-source developers, adding elementary line "What is this" helps much, adds friendliness to a project and teaches to structurize descriptions.
-
I've published an article about SVGIconImageList and IconFontsImageList:https://ethea.it/icons_in_delphi/
-
I know english is not your native language but to be honest just throwing around numbers and all kinds of different benchmarks it totally confusing for me - it would be very helpful if you could present your findings in a more structured way as I really find the topic interesting but it is very exhausting to follow you.
-
I want to personally thank Vincent Parrett and Kyriakos Vlahos for the great contribution to the project! The official 2.0 version will be released shortly and also published on GetIt. Meanwhile, you can download the project from Github and report any problems. I'm also working on IconFontsImageList to add similar funcionalities, like a IconFontsVirtualImageList and IconFontsImageCollection...
-
Deep Dive into Design Patterns
Primož Gabrijelčič posted a topic in Tips / Blogs / Tutorials / Videos
While writing Design Patterns with Delphi, I spent quite some time researching existing literature on design patterns implementation in Delphi, design patterns in other languages, other types of patterns, design principles and so on … In case you would like to dig deeper than the book takes you, here is my reading list. Design Patterns Essentials Software design pattern Computer Science Design Patterns The 23 patterns from the GoF Design Patterns with examples in different languages (including Delphi) Gang of Four Design Patterns Reference Sheet Programming principles Design principles and design patterns SOLID Don't Repeat Yourself (DRY) KISS YAGNI (You Ain't Gonna Need It) Software Design Patterns Are Not Goals, They Are Tools I'm Sick Of GoF Design Patterns Software Development AntiPatterns Big Ball of Mud Design Patterns for Humans Spring4D MMX Code Explorer Singleton https://en.wikipedia.org/wiki/Singleton_pattern https://en.wikibooks.org/wiki/Computer_Science_Design_Patterns/Singleton http://www.yanniel.info/2010/10/singleton-pattern-delphi.html https://ibeblog.com/2010/08/18/delphi-singleton-patterns/ https://stackoverflow.com/a/1409672/4997 https://github.com/jimmckeeth/DelphiPatterns/tree/master/Creational.Singleton https://stackoverflow.com/questions/1409593/creating-a-singleton-in-delphi-using-the-new-features-of-d2009-and-d2010 https://sourcemaking.com/design_patterns/singleton https://schellingerhout.github.io/design%20patterns/design-patterns-creational-delphi/ https://github.com/kamranahmedse/design-patterns-for-humans#-singleton Dependency injection https://en.wikipedia.org/wiki/Dependency_injection http://www.nickhodges.com/post/Service-Locator-is-Indeed-an-Anti-pattern.aspx https://softwareengineering.stackexchange.com/questions/135914/why-was-dependency-injection-pattern-not-included-in-the-gang-of-four/135982 https://stackoverflow.com/questions/4176520/what-is-the-difference-between-strategy-pattern-and-dependency-injection Lazy Initialization https://en.wikipedia.org/wiki/Lazy_initialization Object pool https://en.wikipedia.org/wiki/Object_pool_pattern https://sourcemaking.com/design_patterns/object_pool Factory method https://en.wikipedia.org/wiki/Factory_method_pattern https://en.wikibooks.org/wiki/Computer_Science_Design_Patterns/Factory_method https://github.com/jimmckeeth/DelphiPatterns/tree/master/Creational.FactoryMethod https://sourcemaking.com/design_patterns/factory_method https://schellingerhout.github.io/design%20patterns/design-patterns-creational-delphi/ https://github.com/kamranahmedse/design-patterns-for-humans#-factory-method Abstract factory https://en.wikipedia.org/wiki/Abstract_factory_pattern https://en.wikibooks.org/wiki/Computer_Science_Design_Patterns/Abstract_Factory http://www.felix-colibri.com/papers/design_patterns/factory_and_bridge_patterns/factory_and_bridge_patterns.html#abstract_factory_pattern https://github.com/jimmckeeth/DelphiPatterns/tree/master/Creational.AbstractFactory http://www.nickhodges.com/post/Delphi-and-the-Factory-Pattern-Simple-Factory.aspx https://sourcemaking.com/design_patterns/abstract_factory https://schellingerhout.github.io/design%20patterns/design-patterns-creational-delphi/ https://github.com/kamranahmedse/design-patterns-for-humans#-abstract-factory Prototype https://sourcemaking.com/design_patterns/prototype https://schellingerhout.github.io/design%20patterns/design-patterns-creational-delphi/ https://en.wikipedia.org/wiki/Object_copying#Deep_copy https://github.com/kamranahmedse/design-patterns-for-humans#-prototype Builder https://en.wikipedia.org/wiki/Builder_pattern https://github.com/jimmckeeth/DelphiPatterns/tree/master/Creational.Builder https://sourcemaking.com/design_patterns/builder https://schellingerhout.github.io/design%20patterns/design-patterns-creational-delphi/ https://github.com/kamranahmedse/design-patterns-for-humans#-builder Composite https://en.wikipedia.org/wiki/Composite_pattern https://en.wikibooks.org/wiki/Computer_Science_Design_Patterns/Composite https://github.com/jimmckeeth/DelphiPatterns/tree/master/Structural.Composite https://sourcemaking.com/design_patterns/composite https://github.com/kamranahmedse/design-patterns-for-humans#-composite Flyweight https://en.wikipedia.org/wiki/Flyweight_pattern https://en.wikibooks.org/wiki/Computer_Science_Design_Patterns/Flyweight https://sourcemaking.com/design_patterns/flyweight https://github.com/kamranahmedse/design-patterns-for-humans#-flyweight https://en.wikipedia.org/wiki/String_interning Marker interface https://en.wikipedia.org/wiki/Marker_interface_pattern Bridge https://stackoverflow.com/questions/350404/how-do-the-proxy-decorator-adapter-and-bridge-patterns-differ https://en.wikipedia.org/wiki/Bridge_pattern https://en.wikibooks.org/wiki/Computer_Science_Design_Patterns/Bridge https://github.com/jimmckeeth/DelphiPatterns/tree/master/Structural.Bridge https://sourcemaking.com/design_patterns/bridge http://www.felix-colibri.com/papers/design_patterns/factory_and_bridge_patterns/factory_and_bridge_patterns.html#the_bridge_design_pattern https://simpleprogrammer.com/design-patterns-simplified-the-bridge-pattern/ https://github.com/kamranahmedse/design-patterns-for-humans#-bridge https://stackoverflow.com/q/319728/4997 Adapter https://en.wikipedia.org/wiki/Adapter_pattern https://en.wikibooks.org/wiki/Computer_Science_Design_Patterns/Adapter https://github.com/jimmckeeth/DelphiPatterns/tree/master/Structural.Adapter https://sourcemaking.com/design_patterns/adapter https://github.com/kamranahmedse/design-patterns-for-humans#-adapter Proxy https://en.wikipedia.org/wiki/Proxy_pattern https://en.wikibooks.org/wiki/Computer_Science_Design_Patterns/Proxy https://github.com/jimmckeeth/DelphiPatterns/tree/master/Structural.Proxy https://sourcemaking.com/design_patterns/proxy https://github.com/kamranahmedse/design-patterns-for-humans#-proxy Decorator https://en.wikipedia.org/wiki/Decorator_pattern https://github.com/jimmckeeth/DelphiPatterns/tree/master/Structural.Decorator https://sourcemaking.com/design_patterns/decorator https://github.com/kamranahmedse/design-patterns-for-humans#-decorator Facade https://en.wikipedia.org/wiki/Facade_pattern https://en.wikibooks.org/wiki/Computer_Science_Design_Patterns/Facade https://github.com/jimmckeeth/DelphiPatterns/tree/master/Structural.Facade https://sourcemaking.com/design_patterns/facade https://github.com/kamranahmedse/design-patterns-for-humans#-facade Null object https://en.wikipedia.org/wiki/Null_object_pattern https://sourcemaking.com/design_patterns/null_object Template method https://en.wikipedia.org/wiki/Template_method_pattern https://github.com/jimmckeeth/DelphiPatterns/tree/master/Behavioral.TemplateMethod https://www.codeproject.com/Articles/516094/TemplateplusMethodplusDesignplusPatternplusinplusD https://sourcemaking.com/design_patterns/template_method https://github.com/kamranahmedse/design-patterns-for-humans#-template-method Command https://en.wikipedia.org/wiki/Command_pattern https://en.wikibooks.org/wiki/Computer_Science_Design_Patterns/Command https://github.com/jimmckeeth/DelphiPatterns/tree/master/Behavioral.Command https://sourcemaking.com/design_patterns/command https://github.com/kamranahmedse/design-patterns-for-humans#-command https://stackoverflow.com/q/6064116/4997 State https://en.wikipedia.org/wiki/State_pattern https://en.wikibooks.org/wiki/Computer_Science_Design_Patterns/State https://github.com/jimmckeeth/DelphiPatterns/tree/master/Behavioral.State https://sourcemaking.com/design_patterns/state https://sourcemaking.com/design_patterns/state/delphi https://github.com/kamranahmedse/design-patterns-for-humans#-state https://en.wikipedia.org/wiki/Finite-state_machine Iterator https://en.wikipedia.org/wiki/Iterator_pattern https://en.wikibooks.org/wiki/Computer_Science_Design_Patterns/Iterator https://github.com/jimmckeeth/DelphiPatterns/tree/master/Behavioral.Iterator https://sourcemaking.com/design_patterns/iterator https://github.com/kamranahmedse/design-patterns-for-humans#-iterator http://docwiki.embarcadero.com/RADStudio/Tokyo/en/Declarations_and_Statements_(Delphi)#For_Statements Visitor https://en.wikipedia.org/wiki/Visitor_pattern https://en.wikibooks.org/wiki/Computer_Science_Design_Patterns/Visitor https://github.com/jimmckeeth/DelphiPatterns/tree/master/Behavioral.Visitor https://sourcemaking.com/design_patterns/visitor https://sourcemaking.com/design_patterns/visitor/delphi https://github.com/kamranahmedse/design-patterns-for-humans#-visitor Observer https://en.wikipedia.org/wiki/Observer_pattern https://en.wikipedia.org/wiki/Publish–subscribe_pattern https://en.wikibooks.org/wiki/Computer_Science_Design_Patterns/Observer https://github.com/jimmckeeth/DelphiPatterns/tree/master/Behavioral.Observer https://github.com/spinettaro/delphi-event-bus https://sourcemaking.com/design_patterns/observer/delphi https://github.com/kamranahmedse/design-patterns-for-humans#-observer http://docwiki.embarcadero.com/Libraries/en/System.Messaging.TMessageManager http://docwiki.embarcadero.com/RADStudio/en/Using_the_RTL_Cross-Platform_Messaging_Solution http://docwiki.embarcadero.com/RADStudio/en/Sending_and_Receiving_Messages_Using_the_RTL http://docwiki.embarcadero.com/Libraries/en/System.Classes.TComponent.Observers Memento https://en.wikipedia.org/wiki/Memento_pattern https://en.wikibooks.org/wiki/Computer_Science_Design_Patterns/Memento https://github.com/jimmckeeth/DelphiPatterns/tree/master/Behavioral.Memento https://sourcemaking.com/design_patterns/memento https://github.com/kamranahmedse/design-patterns-for-humans#-memento Lock https://en.wikipedia.org/wiki/Lock_(computer_science) https://en.wikipedia.org/wiki/Spinlock Lock striping https://netjs.blogspot.si/2016/05/lock-striping-in-java-concurrency.html Double-checked locking https://en.wikipedia.org/wiki/Double-checked_locking https://en.wikipedia.org/wiki/Test_and_test-and-set Optimistic locking https://www.javaworld.com/article/2075406/java-web-development/optimistic-locking-pattern-for-ejbs.html https://martinfowler.com/eaaCatalog/optimisticOfflineLock.html https://en.wikipedia.org/wiki/Optimistic_concurrency_control Readers-writer lock https://en.wikipedia.org/wiki/Readers–writer_lock https://docs.microsoft.com/en-us/windows/desktop/sync/slim-reader-writer--srw--locks Thread pool https://en.wikipedia.org/wiki/Thread_pool https://stackoverflow.com/questions/47504201/delphi-ttask-and-tthreadpool Messaging https://en.wikipedia.org/wiki/Message_passing https://en.wikipedia.org/wiki/Message_queue Future https://en.wikipedia.org/wiki/Futures_and_promises Pipeline https://en.wikipedia.org/wiki/Staged_event-driven_architecture Designing Delphi programs https://en.wikipedia.org/wiki/Event-driven_programming http://blong.com/Articles/Actions/Actions.htm https://github.com/andrea-magni/TFrameStand https://martinfowler.com/eaaCatalog/tableModule.html https://stackoverflow.com/questions/433819/table-module-vs-domain-model http://docwiki.embarcadero.com/RADStudio/en/LiveBindings_in_RAD_Studio https://www.embarcadero.com/images/dm/technical-papers/understanding_rad_studio_livebindings.pdf Other kinds of patterns https://en.wikipedia.org/wiki/Exception_handling http://wiki.c2.com/?ExceptionPatterns http://docwiki.embarcadero.com/Libraries/en/System.TObject.Destroy http://www.heaventools.com/eurekalog-exception-logger.htm http://www.madshi.net/madExceptDescription.htm https://github.com/project-jedi/jvcl https://en.wikipedia.org/wiki/Debugging_patterns https://git-scm.com/docs/git-bisect http://www.washi.cs.waseda.ac.jp/wp-content/uploads/2017/03/Woei-Kae-Chen.pdf https://github.com/colinj/Functional https://fsharpforfunandprofit.com/fppatterns/ https://en.wikipedia.org/wiki/Comparison_of_programming_paradigms Books & papers Architectural Patterns, Pethuru Raj, Anupama Raman, Harihara Subramanian Coding in Delphi, Nick Hodges Concurrency with Modern C++, Rainer Grimm Concurrent Patterns and Best Practices, Atul S. Khot Dependency Injection in Delphi, Nick Hodges Design Patterns for Humans, Kamran Ahmed Design Patterns Past and Future, Aleksandar Bulajic Design Patterns - Elements of Reusable Object-Oriented Software, Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides Dive Into Design Patterns, Alexander Shvets Java Design Patterns, Devendra Singh More Coding in Delphi, Nick Hodges The Null Object Pattern, Bobby Woolf