Jump to content

Edwin Yip

Members
  • Content Count

    430
  • Joined

  • Last visited

  • Days Won

    3

Everything posted by Edwin Yip

  1. Edwin Yip

    OrangeUI

    Just to be clear, it's an extension library for FireMonkey, but not a replacement of it. Let me show you another great library also from my fellow Chinese folks, but for VCL. http://www.pngui.com/screenshot Check the screenshot, it's very nice, especially at the time (quite few years ago) when it was introduced. The website doesn't even have a buy page linking from the homepage, I don't know why. They don't try to ignore the non-Chinese market but I guess they don't have the necessary English skill level. I've seen so many excellent projects written in Delphi only available in China. PS, Just in case anyone needs some help in communicating with the vendor, let me know.
  2. Edwin Yip

    OrangeUI

    No, the source code edition costs 480 Euro. And the non-commercial, personal version is free.
  3. Good job Thomas! I can't believe this package is not very popular, it makes it so easy to make a component visually!
  4. If you don't have it already, I know Dave is another expert in the Delphi IDE extension dev area, read this blog: https://www.davidghoyle.co.uk/WordPress/?page_id=667
  5. Edwin Yip

    SQLite - FireDAC or ?

    PS, I've never used any db components from DevArt, but I own another product of them, and I believe they provide good quality products. I also own a license of DiSqlite3, it's very fast and full-featured, I must say. And the support from Ralf the developer is great - he usually don't say anything unrelated, but just gives you detailed answers and suggestions of the technical issue you have. But don't forget as a free, open source project, the support of mORMot is also responsive and quick to fix issues - don't just listen to me, look at their forums :)
  6. Edwin Yip

    SQLite - FireDAC or ?

    An alternative is mORMot, its core is based on SQLITE3, you don't even need the external sqlite3.dll - you statically link the .obj file into your executable. note: you can use the sqlite db functions alone, without using its excellent ORM layer or the http/rest server modules. But I suggest take advantage of it's ORM for CURD - it'll save a lot of your time! https://synopse.info/files/html/Synopse mORMot Framework SAD 1.18.html#TITLE_142
  7. Edwin Yip

    Marshmellow

    At least it's better than non-existence.
  8. Edwin Yip

    Anon methods passed as event handlers?

    The same SO question I discovered several days ago, David Heffernan's solution is quite neat: Button1.OnClick := AnonProc2NotifyEvent( Button1, procedure(Sender: TObject) begin (Sender as TButton).Caption := 'Clicked'; end );
  9. Edwin Yip

    Marshmellow

    I'm a mORMot fan. not just because I've successfully building several application (in production) basing on it, not just because it's fully cross-platform and cross-compiler, not just because it's fully documented (the PDF manual has near 2500 pages), not just because the author @Arnaud Bouchez is full of passion, fast to respond, fast to fix issues and have a tendency to always optimizing for speed - just search their github commit logs (309 results for the word 'optimize', 'speed' and 'performance'). But also because mORMot has a good balance between a full-ORM and raw SQL. With raw SQL, CRUD become tedious and repetitive. With full-ORM (which means thing data reading/manipulation has to go through the ORM framework), you'll find everything to be limited and hard to optimize beyond CURD and simple query. With mORMot, CURD is easy (just define a class inheriting from TSQLRecord). Want to do more flexible things? Just utilize the power of SQL!
  10. Good job. Bergsoft also has a TNxAutoCompletion which is very useful: http://dn.bergsoft.net/nxautocompletion-tutorial.htm BTW, I really love their NextGrid component - fast, quite feature-rich but the code is simple and very easy to tweak. But too bad they are not enhancing the V5 but instead re-writing completely the new V6 without backward compatibility.
  11. Edwin Yip

    New VCL Style from DelphiStyles.com

    You are not alone.
  12. Edwin Yip

    Please vote - SonarCube support

    I had to google and read a little bit before knowing that is it. How is the current version of FixInsight comparing to it? Does FixInsight have the potential to be on par with it?
  13. Edwin Yip

    What does "G" in GExperts mean?

    Does anyone know what does "G" in GExperts mean?
  14. Edwin Yip

    What does "G" in GExperts mean?

    GExperts is such a great tool and itt seems that Gerald Nunn no longer does Delphi: http://gexperts.com/
  15. Edwin Yip

    What does "G" in GExperts mean?

    I see now. Not sure if he's still using Delphi. Thomas is the active GExperts maintainer now, and previously I guess it's Erik.
  16. Same feeling here. I thought they would build something like IntraWeb or UniGUI after buying Sencha.
  17. Oops, typo, I meant Northern Ireland :P But it's still not a good comparison. OK, let's stop at this point.
  18. Sorry, posted the wrong link, it should be https://github.com/FMXExpress/swig-delphi as AlekXL has found out.
  19. Sorry, I will, and all of us should stop it. Sorry, but I couldn't resist to clarify misinformation about my beloved country in this forum which is all about my beloved Delphi (which is obvious not suitable for political topics).
  20. This is definitely off-topic, but Joseph Mitzen's reply contains a lot of inaccurate information that needs to be clarified. And a note to the administrators - if you'd delete my reply, please also delete Joseph's misinformed previous reply. After clarifying things I'll back to the topic. There is nothing in my reply were to against Joseph, he's just misinformed by the mainstream western media, just like many of my fellow Chinese people are misinformed by the local media. I'll clarify it one by one. Do you know the history of Taiwan? If you don't I'm afraid you have to read little about it before you can seriously discuss this topic. It's one part of the China, it's closer to the China mainland than Northern Ireland is to the UK. Either the Taiwan government to unify the mainland or the other way around. Just for the record - I wish there will be no war involved. I'm one of those who suffer from this evil operation by the local gov. I hate it more than you can imagine. I don't know too much about the Globalization thing, but I am honestly not sure if it's more or less moral than the wall street capital to greatly benefit from low paying workers around the world, including China Those Canadians violate local laws in here, so it's an international convention to arrest them. On the other hand, it's ironic that the Canada government arrest a Chinese industrialist because the US thinks she violated the US sanctions - not the UN's sanctions, so that they can use that to negotiate with China in the trade war. Who's holding a hostage if you read more and think carefully? I think it's much more reasonable than the US is sending young lives to kill lives and die in the Middle East for the sand (or for the oil?) It's designed to punish those who borrow other's money and intentionally not to repay, so it's a protection to innocent people. US is the key to this and history will tell. But "enslaving" is a wrong wording for China who is bringing infrastructure enhancements, instead of wars like the West has done in the pas centries, to other countries. Read the world history, note which country actually enslaving other populaces (one of the key words - indian). I hate this, on the other hand, the upside is that we innocent people is safer here. True, that's a bad thing and I wish it will not lead to very bad situation here. For other points I have no information so not commenting on them. And thanks for wasted hours of my time. Back to the topic === Now back to the topic - as opposed to hoping Delphi (only the compiler doesn't make to much sense) to be open sourced, I guess the following things will be more practical to achieve the goal of being safe just in case EMBT drop Delphi: Use only FPC-compatible language features. Pursue 3rd party library/component vendors to support FPC. TMS and Synopse (mORMot) is doing very well in this regard. Contribute to FPC to make it more compatible with Delphi.
  21. wrongly pressed Ctrl + Enter, will be posted as a new reply.
  22. There is a modified version of SWIG that includes support for Delphi & Object Pascal - https://github.com/FMXExpress/swig-delphi But I've never used it. Another excellent tool which utilize CLang to convert C (not C++) header files to Delphi: https://github.com/neslib/Chet Another tool that does source to source conversion: https://github.com/WouterVanNifterick/C-To-Delphi
  23. I'm no expert in the crypto field, how's the SynECC unit? https://github.com/synopse/mORMot/blob/master/SynEcc.pas
  24. I'm not sure how many of you are like me, use implementation (class) inheritance (not interface inheritance, this one is OK) without too much thinking, with the intention of primarily for code reuse. Inheritance for extension is Ok, but for code reuse? Maybe not that good. Although I have achieved code reuse with class inheritance, but from time to time I feel unwanted class coupling were introduced too. It doesn't sound right and today I have spend many hours reading through aquite amount of discussions through stackoverflow, StackExchance, wikipedia, and so on, many articles seem to prove my feeling, for example: https://codeburst.io/inheritance-is-evil-stop-using-it-6c4f1caf5117 (especially this one) https://www.artima.com/lejava/articles/designprinciples4.html https://softwareengineering.stackexchange.com/a/65180/37358 Update 1: Let me quote from StackExchange user Stephen Bailey which is really well said: My conclusion === If it's only about code resue, most of the case we should consider use composition instead of implementation inheritance, like assembling a car with various more fine-grained, more manageable components. What do you think?
  25. Edwin Yip

    Tool to convert form components to run-time and vice-versa

    GExperts. Once installed you'll see the Component to Code menu item when you right click on any components on a form at design time.
×