Jump to content

pyscripter

Members
  • Content Count

    1003
  • Joined

  • Last visited

  • Days Won

    65

Everything posted by pyscripter

  1. pyscripter

    XML Parsing and Processing

    Where exactly do we disagree? I started by saying the features are great. But if xml processing is a performance bottleneck you can improve performance drastically (see below) by accessing the underlying implementation directly with minimal changes to your code, since implementations follow the standard DOM interfaces.
  2. Indeed: From https://docs.microsoft.com/en-us/windows/win32/api/wingdi/nf-wingdi-addfontmemresourceex
  3. pyscripter

    Why is TList freed in this code?

    dic.Items['aaa']:=l2; dic.Items['aaa'] already contains l2 and l2 is freed before it is readded, since you set doOwnsValues Also an issue would occur if you do dic.Items['bbb']:=l2; When the dictionary is destroyed the list will be freed twice.
  4. pyscripter

    silent phone mode

    See https://github.com/akramhussein/Mute
  5. Has this been released? Is that the develop branch?
  6. pyscripter

    PyScripter reached 1 million downloads from Sourceforge

    True, but it is kind of hard to keep track of them (count, geographic distribution etc.).
  7. pyscripter

    August 2020 GM Blog post

    It refers to the intention to promote Python4Delphi as a means of bringing Python and Delphi closer together: Python for Delphi (P4D) is a set of free components that wrap up the Python dll into Delphi and Lazarus (FPC). They let you easily execute Python scripts, create new Python modules and new Python types. You can create Python extensions as dlls and much more. P4D provides different levels of functionality: Low-level access to the python API High-level bi-directional interaction with Python Access to Python objects using Delphi custom variants (VarPyth.pas) Wrapping of Delphi objects for use in python scripts using RTTI (WrapDelphi.pas) Creating python extension modules with Delphi classes and functions P4D makes it very easy to use python as a scripting language for Delphi applications. It comes with an extensive range of demos and tutorials.
  8. pyscripter

    Delphi 10.4 compiler going senile

    Java terminology... https://www.programcreek.com/2011/12/monitors-java-synchronization-mechanism/
  9. @Attila KovacsThanks. Just replace D2D1_DRAW_TEXT_OPTIONS_ENABLE_COLOR_FONT with $00000004. And of course both LPCWSTR and LPWSTR are cast to PWideChar. But you are right! I would like to add that the purpose of Winapi.D2DMissing is not to provide for the missing D2D API, but to include just enough to serve the purpose of handling svg files. Warning: there are many translation errors in the the parts not used in this project. "TOSVersion.Build returns 0 on my system". Any idea why? Is this a Delphi bug? A more reliable way would be: if Supports(RenderTarget, ID2D1DeviceContext5) then //Supported But that would involve creating the Factory and the Render Target. Any other suggestions?
  10. The attached fixes both issues. Svg.zip
  11. Thanks. The aim is to integrate it with https://github.com/EtheaDev/SVGIconImageList
  12. pyscripter

    Check for Creators Update

    Is there a way to check whether the Windows version is 10 with the Creators Update or later installed, using the RTL? I know that Jcl provides support for that.
  13. pyscripter

    Check for Creators Update

    See
  14. pyscripter

    Check for Creators Update

    In Jcl there is something called Windows10ReleaseId (1703 for Creators Update). Is this same as the build number? (I think not)
  15. pyscripter

    Translation of C headers.

    If you do it on the Root it works as expected.
  16. pyscripter

    Translation of C headers.

    @Mahdi Safsafi You are my hero!
  17. pyscripter

    Translation of C headers.

    @Attila Kovacs RecolorSubtree(Root, D2D1ColorF(0.5, 80, 80, 80)); does not make sense The Values need to be between 0 and 1 for instance. D2D1ColorF(clRed) = D2D1ColorF(1,0,0,1) I will doing drawing in GrayScale. Does anyone know how to draw the svg with opacity say 0.5? Everything not just the fill color possibly using D2D primitives?
  18. pyscripter

    Translation of C headers.

    @Kas Ob.order which is the same as shown by IDA works here. I can recolor both ways: if Succeeded(Element.GetAttributeValue('fill', D2D1_SVG_ATTRIBUTE_POD_TYPE_COLOR, @OldColor, SizeOf(OldColor))) then begin if (OldColor.r <> 0) or (OldColor.g <> 0) or (OldColor.b <> 0) then Assert(Succeeded(Element.SetAttributeValue('fill', D2D1_SVG_ATTRIBUTE_POD_TYPE_COLOR, @NewColor, SizeOf(NewColor)))); end; and Assert(Succeeded(Element.GetAttributeValue('fill', IID_ID2D1SvgPaint, Pointer(Paint)))); if Assigned(Paint) then begin Paint._AddRef; if Paint.GetPaintType = D2D1_SVG_PAINT_TYPE_COLOR then begin Paint.GetColor(OldColor); if (OldColor.r <> 0) or (OldColor.g <> 0) or (OldColor.b <> 0) then Paint.SetColor(NewColor); end; end; end; The declaration of SetColor needs to be changed: function SetColor(Const color: D2D1_COLOR_F): HResult; stdcall;
  19. pyscripter

    Translation of C headers.

    The functions seem to work now (Succeeded) but still no recoloring though). What is strange is that the order of the overloads in the VTable is the reverse than that in the include file. What is the tool you are using to inspect the Vtables?
  20. pyscripter

    Translation of C headers.

    It does not recolor here. Could you please post your project.
  21. pyscripter

    Translation of C headers.

    This is the one I was getting before at $78 I think. Also when I call it using the commented code it does not succeed. Assert(Succeeded( Element.GetAttributeValue('fill', IID_ID2D1SvgPaint, Pointer(Paint)) )) fails. It does not appear to be in the right order now. Do you get the recoloring to work.
  22. pyscripter

    Translation of C headers.

    @Mahdi Safsafi Amazing stuff. Questions: There are many more overloads in the include file implemented as inline functions. Do those interfere with the above? After the first set of Set/GetAttributeValue there is a GetAttributeValueLength function. Does this comes last? It was just by accident that my GetAttributeCall was picking the correct overload!! That really confused me.
  23. pyscripter

    Translation of C headers.

    Thanks for your efforts...
  24. pyscripter

    Translation of C headers.

    Impressive guess work!
  25. pyscripter

    Translation of C headers.

    Thanks, but this is puzzling. at $7C is the GetAttributeValue, which I know it works and at $78 should be the one before. (right?). In the include file the function before the GetAttributeValue is the relevant SetAttributeValue. How can I find the correct order?
×