

dwrbudr
Members-
Content Count
77 -
Joined
-
Last visited
Everything posted by dwrbudr
-
Which library for "Small" Graphics Application, GR32, GDI+, Skia, ...
dwrbudr replied to cltom's topic in VCL
Probably ImageEN should do the job, but it is not free. It has a lot of demos you can check. -
Install package option don't show
dwrbudr replied to Zazhir's topic in Algorithms, Data Structures and Class Design
It is a Runtime-only package, so it cannot be installed. The packages you can install are the Design-time packages, in your case the ones starting with "dcl". -
Delphi (11.2) IDE stops after "All design time packages loaded", but works in admin mode
dwrbudr replied to rudy999's topic in Delphi IDE and APIs
Try to export the settings using the Migration Tool from the user account that Delphi runs OK and import them to the other account. -
asmprofiler - Freeware Profiler for Delphi saved my day - Thanks
dwrbudr replied to microtronx's topic in Tips / Blogs / Tutorials / Videos
The instrumenting profiler doesn't work with Delphi 11.2 or at least with some CPUs, so it is useless at its current state. Crashes everywhere or shows empty results. It seems the profiler is not maintained at all. -
How can i add a custom font to a windows fmx application
dwrbudr replied to Linuxuser1234's topic in FMX
I'm not familiar with FMX internals, but won't that work? AddFontResourceEx(AFileName, FR_PRIVATE, nil); -
You should put an effort to make your application DPI-aware. Here's a PDF that could help you understand the basics: https://www.helpandmanual.com/downloads_delphi.html
-
Try SetProcessDpiAwareness(DPI_AWARENESS_CONTEXT_UNAWARE);
-
Do you mean OS themes or VCL styles?
-
They can be styled using VCL Styles Utils project. It uses DDetours to intercept WinAPI calls and set the colors/glyphs/etc. according to the current style. https://github.com/RRUZ/vcl-styles-utils
-
They say "Operating System Requirements", if it is not a requirement then why bother to write it at all.
-
Those notes actually mention 11.1, so I'm wondering how I'm able to run 11.1 on Windows 8.1 64bit though....
-
Yest, VCL Styles Utils package is outdated a lot, but still works with D11.1. It is probably based on code found in XE4, but the package still helps especially on styling system dialogs.
-
If you're going to use simple SVG files, probably most of these libraries will do the job. Personally I prefer librsvg + cairo wrappers. It is the fastest one at least by the benchmarks I did using different SVG libraries loading about 1000 SVG files. And it supports filters. How the above listed libraries deal with the attached SVG file. Could they open it? filters.svg
-
function Find_Debugger_Window(): Boolean; var whWnd: DWORD; begin result := True; //ollydbg v1.1 whWnd := FindWindow('icu_dbg', nil); if whWnd <> 0 then Exit; //ollyice pe--diy whWnd := FindWindow('pe--diy', nil); if whWnd <> 0 then Exit; //ollydbg ?- whWnd := FindWindow('ollydbg', nil); if whWnd <> 0 then Exit; //windbg whWnd := FindWindow('WinDbgFrameClass', nil); if whWnd <> 0 then Exit; //dede3.50 whWnd := FindWindow('TDeDeMainForm', nil); if whWnd <> 0 then Exit; //IDA5.20 whWnd := FindWindow('TIdaWindow', nil); if whWnd <> 0 then Exit; result := False; end; You can add more captions if you use Spy++ to obtain the caption of tools you want to check for.
-
procedure TMyGrame.MouseWheelHandler(var Msg: TMessage); var Control: TWinControl; pt: TPoint; begin Pt.X := SmallInt(Msg.lParam); Pt.Y := SmallInt(HiWord(Msg.lParam)); Control := FindVCLWindow(Pt); if Assigned(Control) then begin if (Control is TGrid) then begin Msg.Result := 1; end else begin Control.DefaultHandler(Msg); end; end else begin inherited MouseWheelHandler(Msg); end; end; Does it help if you override MouseWheelHandler as the code snippet above?
-
Checking Vcl.Forms.pas, it registers both TCustomForm and TForm to the style engine. Does it help if you call TStyleManager.Engine.RegisterStyleHook(TSynEdit, TScrollingStyleHook);
-
ImageEn had PDF support. One DLL about 4MB is required for that. I've tested it and it works well. https://www.imageen.com/info/history.html
-
I've build the sources, but now when I open the options, e.g. menu - GExperts -> Configuration an exception is raised. The error is there for both Debug and Release builds. [77684598]{KERNELBASE.dll} RaiseException + $48 [500666C4]{rtl280.bpl } System.DynArraySetLength (Line 36417, "System.pas" + 98) + $13 [16601F94]{GExpertsRS110.dll} __dbk_fcall_wrapper + $3D4 [500604D5]{rtl280.bpl } System.@AfterConstruction (Line 19330, "System.pas" + 2) + $5 [5005A388]{rtl280.bpl } System.@FreeMem (Line 4976, "System.pas" + 20) + $0 [500668E7]{rtl280.bpl } System.@DynArrayClear (Line 36682, "System.pas" + 49) + $0 [500647C0]{rtl280.bpl } System.@FinalizeRecord (Line 32825, "System.pas" + 86) + $4 [5005A388]{rtl280.bpl } System.@FreeMem (Line 4976, "System.pas" + 20) + $0 [500668E7]{rtl280.bpl } System.@DynArrayClear (Line 36682, "System.pas" + 49) + $0 [500664F4]{rtl280.bpl } System.DynArraySetLength (Line 36328, "System.pas" + 9) + $6 [16601FDD]{GExpertsRS110.dll} __dbk_fcall_wrapper + $41D [523D8019]{exceptiondiag280.bpl} JclHookExcept.TNotifierItem.DoNotify (Line 223, "JclHookExcept.pas" + 5) + $E [500606FC]{rtl280.bpl } System.TMonitor.CheckOwningThread (Line 19536, "System.pas" + 2) + $0 [50060A22]{rtl280.bpl } System.TMonitor.Exit (Line 19726, "System.pas" + 1) + $2 [16602C51]{GExpertsRS110.dll} Unknown function at __dbk_fcall_wrapper + $1091 [1662097B]{GExpertsRS110.dll} Unknown function at __dbk_fcall_wrapper + $1EDBB [5006049E]{rtl280.bpl } System.@ClassCreate (Line 19311, "System.pas" + 35) + $0 [50E08EDA]{vcl280.bpl } Vcl.Forms.TraverseClients3 (Line 8157, "Vcl.Forms.pas" + 5) + $38 [16601F94]{GExpertsRS110.dll} __dbk_fcall_wrapper + $3D4 [16601FDD]{GExpertsRS110.dll} __dbk_fcall_wrapper + $41D [16602C51]{GExpertsRS110.dll} Unknown function at __dbk_fcall_wrapper + $1091 [16620947]{GExpertsRS110.dll} Unknown function at __dbk_fcall_wrapper + $1ED87 [166209A6]{GExpertsRS110.dll} Unknown function at __dbk_fcall_wrapper + $1EDE6 [1670CF5E]{GExpertsRS110.dll} Unknown function at __dbk_fcall_wrapper + $10B39E [166F343F]{GExpertsRS110.dll} Unknown function at __dbk_fcall_wrapper + $F187F [1665AFD8]{GExpertsRS110.dll} Unknown function at __dbk_fcall_wrapper + $59418 [501733CF]{rtl280.bpl } System.Classes.TBasicAction.Execute (Line 17813, "System.Classes.pas" + 3) + $7 [50CAF9B2]{vcl280.bpl } Vcl.ActnList.TCustomAction.Execute (Line 284, "Vcl.ActnList.pas" + 19) + $35 [50173223]{rtl280.bpl } System.Classes.TBasicActionLink.Execute (Line 17724, "System.Classes.pas" + 2) + $7 [217C663D]{vclactnband280.bpl} Vcl.ActnMenus.TCustomActionMenuBar.ExecAction (Line 1099, "Vcl.ActnMenus.pas" + 6) + $D [217C7EF8]{vclactnband280.bpl} Vcl.ActnMenus.TCustomActionMenuBar.TrackMenu (Line 1869, "Vcl.ActnMenus.pas" + 19) + $15 [217CBA3E]{vclactnband280.bpl} Vcl.ActnMenus.TCustomActionMainMenuBar.TrackMenu (Line 3736, "Vcl.ActnMenus.pas" + 5) + $3 [217C61BC]{vclactnband280.bpl} Vcl.ActnMenus.TCustomActionMenuBar.CMItemClicked (Line 969, "Vcl.ActnMenus.pas" + 2) + $11 [217C61C5]{vclactnband280.bpl} Vcl.ActnMenus.TCustomActionMenuBar.CMItemClicked (Line 970, "Vcl.ActnMenus.pas" + 3) + $4 [50CC7CCA]{vcl280.bpl } Vcl.Controls.TControl.WndProc (Line 7544, "Vcl.Controls.pas" + 91) + $6 [50CCC435]{vcl280.bpl } Vcl.Controls.GetControlAtPos (Line 10291, "Vcl.Controls.pas" + 2) + $78 [50CCC506]{vcl280.bpl } Vcl.Controls.InternalControlAtPos (Line 10315, "Vcl.Controls.pas" + 15) + $E [50CCCC49]{vcl280.bpl } Vcl.Controls.TWinControl.WndProc (Line 10527, "Vcl.Controls.pas" + 118) + $1D [50CCCDBD]{vcl280.bpl } Vcl.Controls.TWinControl.WndProc (Line 10579, "Vcl.Controls.pas" + 170) + $6 [50060D74]{rtl280.bpl } System.TMonitor.TryEnter (Line 19961, "System.pas" + 10) + $0 [50060894]{rtl280.bpl } System.TMonitor.Enter (Line 19622, "System.pas" + 4) + $2 [500606FC]{rtl280.bpl } System.TMonitor.CheckOwningThread (Line 19536, "System.pas" + 2) + $0 [50060A22]{rtl280.bpl } System.TMonitor.Exit (Line 19726, "System.pas" + 1) + $2 [217C802B]{vclactnband280.bpl} Vcl.ActnMenus.TCustomActionMenuBar.WndProc (Line 1913, "Vcl.ActnMenus.pas" + 25) + $4 [50CCC338]{vcl280.bpl } Vcl.Controls.TWinControl.MainWndProc (Line 10267, "Vcl.Controls.pas" + 3) + $6 [50174200]{rtl280.bpl } System.Classes.StdWndProc (Line 18318, "System.Classes.pas" + 8) + $0 [50E0D68F]{vcl280.bpl } Vcl.Forms.TApplication.ProcessMessage (Line 11317, "Vcl.Forms.pas" + 23) + $1 [50E0D6D2]{vcl280.bpl } Vcl.Forms.TApplication.HandleMessage (Line 11347, "Vcl.Forms.pas" + 1) + $4 [50E0DA11]{vcl280.bpl } Vcl.Forms.TApplication.Run (Line 11486, "Vcl.Forms.pas" + 27) + $3 [004F6F82]{bds.exe } bds.bds (Line 227, "" + 16) + $2
-
I've downloaded and installed the DLL from this thread, but how can I remove the debug window icon from showing in the tray?
-
Didn't work either. I've removed all licenses using 10.4.2 License Manager, started Delphi 11 setup, added the serial - Alexandria is now in the list. Then I press Register, enter the login information - License Error, etc. EMB created a great mess!
-
I also couldn't install Delphi 11, the Advanced -> Update trick didn't work - Alexandria is not being added to the list, although I have active subscription.
-
The skottie player demo using check.json doesn't correctly draw the image. See the black rugged edge border when the circle is being painted. Instead of using TWICBitmap, I've switched to 32bit TBitmap and created the TSKSurface like this: LSurface := TSKSurface.MakeRasterDirect(TSKImageInfo.Create( fBitmap.Width, fBitmap.Height, TSKColorType.BGRA8888), fBitmap.ScanLine[fBitmap.Height - 1], BytesPerScanLine(fBitmap.Width, 32, 32)); LSurface.Canvas.Clear(TAlphaColors.Null); FAnimation.Render(LSurface.Canvas, fDestRect); //flip the image since the DIB is bottom-up orientaded StretchBlt(fBitmap.Canvas.Handle, 0, 0, fBitmap.Width, fBitmap.Height, fBitmap.Canvas.Handle, 0, fBitmap.Height - 1, fBitmap.Width, -fBitmap.Height, SRCCOPY); Now all seem OK and the border is not rugged, not sure whtat's wrong with TWICBitmap. Check the border of the images below.
-
I could provide resvg bindings if you like and a compiled DLL files (32 and 64bit)
-
I've tried to convert SVG to PNG with this library without luck. What's wrong with this code? The SVG file is in the EXE folder as well as sk4d.dll On other pretty simple SVG files, LDOM is nil, probably TSKSVGDOM is too strict. var LDOM: ISKSVGDOM; LSize: TSizeF; LSVGStream: ISKStream; LSurface: ISKSurface; LImage: ISKImage; begin LSurface := TSKSurface.MakeRaster(256, 256); LSVGStream := TSKFileStream.Create(ExtractFilePath(Application.ExeName) + 'porsche.svg'); LDOM := TSKSVGDOM.Make(LSVGStream); (LDOM as TSkiaObject).DebugMessageProc := procedure(const AMessage: string) begin Caption := AMessage; end; LSize := LDOM.Root.GetIntrinsicSize(TSizeF.Create(0, 0)); // <== LSize is (0, 0) ?! LDOM.Render(LSurface.Canvas); // DebugMessageProc called with "can''t render image: load image failed" LImage := LSurface.MakeImageSnapshot; LImage.EncodeToFile(ExtractFilePath(Application.ExeName) + 'output.png', TSKEncodedImageFormat.PNG); end;
-
Could you please add the source of the Skia Demo to the repository?