Jump to content

Davide Angeli

Members
  • Content Count

    116
  • Joined

  • Last visited

  • Days Won

    2

Posts posted by Davide Angeli


  1. I've installed 11.2 quite a few days ago upgraded from 11.1 (smooth upgrade without problems with web installer).

     

    Til now I have only recompiled/updated some of third party libriaries and do a little stuff for a couple of half days on the future release of my main app (in this moment I'm working heavily on the older project still on 10.4.2). 

     

    Til now I worked without IDE crashes and this is good news for me! On same project on 10.4.2 (but also with 11.0 and 11.1) the IDE crashes all time with various internal errors)! I'll stress the new IDE in the next days but in my way of use it seems definitly more stable.

    • Like 3

  2. On 9/14/2022 at 4:22 PM, Zoran Bonuš said:

    Should be fixed in 11.2 (I haven't tested yet)

    Hi, I've installed 11.2 quite a few days ago upgraded from 11.1 (smooth upgrade without problems with web installer).

     

    Til now I have only recompiled/updated some of third party libriaries and do a little stuff for a couple of half days on the future release of my main app (in this moment I'm working heavily on the older project still on 10.4.2). 

     

    I don't know if this issue is definitly solved but I worked without IDE crashes and this is good news for me (on same project on 10.4.2 the IDE crashes all time with this issue and other internal errors)! I know that it's not a complete/valide test. I'll stress the new IDE in the next days but it seems definitly more stable.


  3. Just update to 11.2 and also for me works as aspected.

    I experienced too this problem in some forms in the previous versions (very rare). When happen I cut/paste the event piece of source at the unit end, then save and the empty event disappear as aspected.


  4. 6 hours ago, Tom F said:

    What tools are you using to show the SVG files?

    As I wrote in the previous post, when I migrated to SVG there was no plenty of tools like now.

     

    I started with RiverSoftSVG component library and I based my internal libraries on that. In my applications, before SVG, I used PNG stored in resource files and loaded at runtime in TPngImageLists (it was all dinamic something like I'm doing now with SVG). To do a progressive migration I used RiverSoft to render SVG as PNG to mantain the same structure. RiverSoft was good enough to render material icons but has limitations on complex SVG so at the same time I used Delphi SVG (very good library it uses DirectX) to render complex logos and big SVG images. Now I've replaced Delphi SVG with Skia4Delphi and I'm planning to replace also RiverSoftSVG with it making Skia my internal reference for images and animations.

     

    Starting for scratch I think I will evaluate SVGIconImageList and maybe I will use it in the future because it has a similar approach to mine. When I started, I tested it but it was very crude and terrible in rendering certain icons. Now it has evolved exponentially and if I'm not mistaken now you can choose also Skia as SVG rendere engine. 

     

    Skia and SVGIconImageList are open source, RiverSoftSVG and DelphiSVG are commercial tools.

     

     

    • Like 1

  5. I solved these issues abandoning tradional icons (BMP,PNG) to SVG. I started too from Google Material Design SVG icons but with a different approach because I needed icons not present in these libraries (some I drew, others I took from other online free libraries). So now I've several SVG sprites (some Google MD some customized) all designed 24x24 with black as the main color and I pick images from these sprites (for buttons, imagelists etc). SVG are pure XML so it's not difficult to change on the fly size or color (you have just to change an xml attribute or xml node), so, when I need SVG for dark theme or I need to use the sysop accent color I just change black stuff in the desired color. For me now is easy to reach something like this:

     

    svgsamples.thumb.png.b1046cf4b5b758f2b9cda93e2dcae811.png

    I started these "revolution" on my apps about 4 years ago to approach both HIDPI monitors and dark mode and it was quite a lot of work; in that period SVG it wasn't as fashionable as now so I had to build some internal components myself to do this job. Now it seems that there are even opensource solutions that help to solve these problems.

     

    SVG is scalabale and is a text file. I don't like EMB approach of virtual image lists in which you have to provide several rastered icons for different sizes: Material desing base icons are 24x24 so if my app is 100% zoomed it uses this size, if the zoom is 150% ii switches to 36x36, if the zoom is 357% it uses 85x85 and so on, so the SVG images are rendered always of correct size for every zoom applied.

     

    I've categorized all my SVGs and each of them has a name like "confirm", "cancel", "exit", "print" etc. I've inerithed the components in which I need SVG stuff (buttons, images, ecc) adding a property in which I provide at design time just the SVG name and then all is solved at runtime as the program needs (style, size, zoom etc). In this way if I want to change/update an image  I just modify the SVG sprite.

     

    • Like 1

  6. I develop only VCL for Windows and my target are almost exclusively Win10 e Win11 (and Win2012 server+). Windows 7 practically disappeared from my customer PCs and Windows 8 never appeared.

     

    In my scenario I'm happily using styles: with latest Alexandria 11.x EMB provide at least 4 default VCL styles HIDPI compliant 2 for Win10 and 2 for Win11 (2 = light + dark). I decide in real time the style to use based on the SysOp and the user's choice to use the light or dark theme of Windows and I get an acceptable result and an UI compliant with that of the SysOp. Without styles in VCL its impossibile to create dark apps.

    • Like 4

  7. On 7/19/2022 at 7:35 AM, Davide Angeli said:

    Summurized in few words like Anders do it seems not really complicated. I will try it.

    Already using git for internal use, it is actually very easy to interface with github. In a few minutes, following the advice, I was able to create a pull request containing some corrections that I had made locally and I saw that they have also already been integrated into the master branch by obones :classic_smile:.


  8. 2 hours ago, Vincent Parrett said:

    Why is this too complicated for people?

    Summurized in few words like Anders do it seems not really complicated. I will try it.

     

    3 hours ago, Vincent Parrett said:

    Pull requests make a lot more sense for open source projects,

    I think you are right. In the specific case, the problem seems that there is no one who pulls the strings, so the risk is having dozens of pull requests that will never be integrated.

     

    3 hours ago, Vincent Parrett said:

    1) create an issue and discuss with the other contributors/owners - then when everyone is on the same page

    It is diffcult to do when you have the perception that no contributors has time to dedicate like in this case...

     


  9. On 7/15/2022 at 7:11 PM, dummzeuch said:

    I'm not an active JEDI  member either. I stopped contributing - as little as I did - when they switched do Github. Not sure how many active people are left in that project.

    I never used Github to contribute but it seems not so immediate to use... I want to create a pull request to post a couple of corrections on a jcl unit but I don't understand if I have to fork the project and then create the pull request from fork or if I could directly create a new branch on my local master and push it in same way (I m using SmartGit on local git repositories)...


  10. uhm... ok good to hear that issue tracker is abandoned... so issues would be better to post directly on github.

     

    JCL seems quite static also on github. Just an example, till last year I was using JclSysInfo to get Windows version and it was very quick on updates but now at all there is no Win 2022 server recognition so I switched on standard Delphi functions.

     


  11. IMHO it is always the same of this:  https://en.delphipraxis.net/topic/4628-several-f2084-internal-error-on-delphi-1042/

    It's not a D11.1 problem. This kind of problems (f2084 internal errors, av in dc32xxx.dll, ecc )  were introduced (or emphasized) at least in D10.4 if not in previuos versions.

    I'm now using 11.1 too and fighting with these issues every days. There are several reports on QC but they never solved the problem. 

     

    In my case these problems increase exponentially working on a big project group containing several BPLs, DLLs and EXEs (all VCL), when I compile one of the BPLs that are used (statically or dynamically) by the other projects. In these scenario the crash is almost at every compile. Closing the IDE and restarting all works fine.

     


  12. 16 minutes ago, Vandrovnik said:

    In 64bit app, pointer is 64 bit - if PrinterInfo is a pointer, it should be casted to NativeUInt or something like that...

    Infact I solved in that way. The legacy code is not mine. That project use old libraries just 64bit compiled. One is Rave library (the sample is about it) and the other is Fibplus that has also old hard casts on pointers not always considering 64 bit pointers.


  13. Hi all, I had some trouble in the last days after updating from D11 to D11.1 and I want to share if could help some one (maybe someone already wrote about this). 

     

    In a 64bit VCL program I'm using legacy code that before 11.1 worked without errors. In D11.1 Emb introduces new Windows PE security flags in linker options and in particular a couple of them related to ASLR (https://blog.marcocantu.com/blog/rad111_pe_security.html). These flags are enabled by default and in my case, on legacy code (bad written), leads to random access violations. For "bad" code I mean do hard cast on pointers for instance something like this: "pointer(integer(PrinterInfo) + SizeOf(TPrinterInfo4));". Disabling the new ASLR linker flags the win64 app works but I guess that should be better to refactor that kind of code.

     

    image.thumb.png.58e0dbaadf58a92d488d1e61892503d8.png 

    • Thanks 1

  14. 14 hours ago, Lars Fosdal said:

    It is often possible to reduce the problem to a small example - it just that it is sooo much work - and hey, we don't work in EMBT QA.
    Edit: ... or do we?

    You are completely right. I have done this successfully several times. As you say the problem is finding the time to devote considering that the problem occurs in a completely random way. 


  15. I could see that I'm not the only one... some one already reported these unresolved annoying problems also on 11.1:

     

    https://quality.embarcadero.com/browse/RSP-37648

     

    as you can read on the report this guy is available to remote debugging to solve the problem (it is not the only one...). I did same last year with 10.4.2 but no one contacts me so after 11.0 and 11.1 we're still here begging for some help.


  16. I'm using D11.1 in the last two days. This kind of problems seems not solved:

    image.thumb.png.ec8d312168a78e697c8c3436170dd4cf.png

    The error is now more beautiful to see colorful but it always remains unsolved ...

     

    It happens always working on a large projects compiling and debugging the pieces (DLLs, EXE, BPLs.. ) and swicthing from a project to another. I guess it is totally useless to open a new report in QC as it would be closed for the umpteenth time as "cannot reproduce".

     

    After the first exception, madexcept shows always this call stack trying to close IDE (note that on 10.4.2 e 11.0 was pratically the same). I don't know if could be useful...

    image.thumb.png.570b0d506db82c08bd1f248ecb4f3029.png


  17. 4 hours ago, KenR said:

    10.4.2 crashes several times a day on large projects for me. I have not yet been brave enough to try them in 11.1

    for me too... Some months ago I've updated to 11.0 hoping in a better life but crashes are exactly same of 10.4.2. In the next days, maybe tomorrow, I'll give a chance to 11.1. I hope it won't be worse than it is now. I am now used to restarting the IDE at least once every 10/15 minutes.

    • Sad 1

  18. We have been using this one from several years: https://www.certum.eu/en/code-signing-certificates/

     

    They give us an usb token containing the certificate. To apply the certificate to our exe, dll, bpl, installers etc I've created a small custom internal delphi tool using this library: SecureBlackBox, its not cheap but we are using it for other digital sign purposes and it works fine interacting with tokens and certificates.

×