Jump to content

Leaderboard


Popular Content

Showing content with the highest reputation on 10/11/20 in all areas

  1. So instead of adressing those statements you bring up some completely irrelevant and wrong things about my library? Well... I am all for criticism if you find issues in its design or implementation but that was just a low blow. 😉 Maybe I am missing something when setting up the list or using the wrong one but there is clearly the lack of handling managed types in TsgList<T> because it simply calls TslListHelper.SetItem which uses ordinal assignments or System.Move. Here is some code that shows that something is wrong - shouldn't it print 0 to 9? But it does print an empty line and then raises an EInvalidPointer. const COUNT = 10; procedure RunSGL; var list: TsgList<string>; i: Integer; s: string; begin list.From(nil); for i := 0 to COUNT-1 do begin s := i.ToString; list.Add(s); end; s := ''; for i := 0 to COUNT-1 do begin s := list[i]; Writeln(s); end; end; P.S. You can edit your posts - no need for multiposting to address multiple previous comments.
  2. pyscripter

    Looking for SVG support in Delphi?

    In an earlier thread I presented an Interface-based access to native Windows (Direct2D) SVG support for Delphi applications. This has now been integrated into the SVGIconImageList components by @Carlo Barazzetta. Carlo is a kind of master of ImageLists (among other things). Have a look at his IconFontsImageList for instance. His SVGIconImageList component was based on the work of Martin Walter who must be a great programmer. His SVG component covered almost every SVG element and was well structured and cleanly written. There were numerous bugs and issues though, which, to a large extent, were fixed over the last few weeks and the code was refactored and optimized. Finally, @Vincent Parrett contributed a virtual version of the Image List, mirroring Delphi's VirtualImageList. So in its current form the component features: An SVGImageCollection component that inherits from Delphi's CustomImageCollection and thus is compatible with VirtualImageList A choice of SVG engines: the pascal one based on Martin's work which is using GDI+ and the native Windows one which is using Direct2D. Other SVG engines can be plugged-in with minimum effort. Excellent design support with a nice and effective SVGImageCollection editor developed by Carlo and the built-in VirtualImageList editor. Support for changing the opacity and color of the SVGs including using GrayScale. If you adopt Material Design for example and you use VCL styles, you can adjust the icon color to the style. Compatibility with older Delphi versions going back to XE6. It is free and open-source Svgs are vastly superior to bitmaps because they are typically tiny text files and scale perfectly. So, you do not need to ship with your application multiple resolutions of your images to match the DPI of the monitors. And there is a vast number of free SVGs to cover most needs. IMHO the combination of SVGImageCollection with Delphi's VirtualImageList is the best available solution (commercial ones included) for building DPI-aware Windows applications. Give it a try.
  3. Dave Novo

    GUI automation tool for Firemonkey apps ?

    @Dany Marmur - the crux of the debate is that GUI testing is hard to maintain. If you do it badly, every time you make a slight change to your GUI, tons of test cases start failing for no reason. Also, GUI testing has all sorts of issues to do with knowing when the action is completed. i.e. if you click on a button, then check for a result, how long do you wait to check for the result. Often test code doing the GUI automation is in another thread, and its hard for that thread to know when the application is done what its supposed to do and then test. If you check some state too early, then the test will fail because the app is done. But then you try on your own computer, and the test passes perfectly, because the app was slightly faster on your computer compared to the testing farm. If you do GUI testing well, all these are less of an issue. Some people like the very localized testing of very specific issues that you can get from a very specific test case. With a GUI test, things can fail for all sorts of reasons, and its hard to track down. But that is also the benefit, you get failures in things you did not think of.
  4. aehimself

    Drone control from mobile

    This is something we (almost) all can relate to. Which makes me wonder... how many of us wrote our own password managers, instead of using an existing one? How many "fun projects" we have ready which are never used/published because we used it only to gain experience? ...or is it just me?
  5. Tntman

    Drone control from mobile

    I mean it can probably work for me but i wanted to make something and learn .. I could also buy drone but its not interesting 😄
  6. I'm using Spring4D all the time. Run the Test without debugger...... for me It is one of the best, correction, the best library for Delphi.
  7. The current VirtualTree already supports VCL styling. I am talking about IDE styling for IDE plugins, which is somewhat different to the normal VCL styling. On the other hand I just noticed that the latest version still doesn't support per control styling. That would make a good kludge I could contribute.
  8. Use the attached Pascal script file with CN Pack's "Script Expert", set a shortcut for the script. This is the only workable solution ATM AFAIK. {*******************************************************} { } { Pascal Script Source File } { Run by RemObjects Pascal Script in CnWizards } { } { Generated by CnPack IDE Wizards } { } { Author: Edwin Yip } {*******************************************************} program ToggleMsgView; uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs; const cMinMsgViewHeight = 130; begin // Toogle the message view of the Delphi IDE if CnMessageViewWrapper.MessageViewForm.Visible then CnMessageViewWrapper.MessageViewForm.Hide else begin if CnMessageViewWrapper.MessageViewForm.Height < cMinMsgViewHeight then CnMessageViewWrapper.MessageViewForm.Height := cMinMsgViewHeight; CnMessageViewWrapper.MessageViewForm.Show; end; end. ToggleMsgView.pas
  9. Martifan

    Authorization using Apple ID

    Thanks, it works
  10. Uwe Raabe

    Best way to prevent multiple instances? Mutex not working

    If a mutex is not working you are probably doing something wrong.
  11. Carlo Barazzetta

    Looking for SVG support in Delphi?

    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...
×