Leaderboard
Popular Content
Showing content with the highest reputation on 09/16/20 in all areas
-
I've published an article about SVGIconImageList and IconFontsImageList:https://ethea.it/icons_in_delphi/
-
New feature request: Open dfm as Text if malformed (vote if care)
Tommi Prami posted a topic in Delphi IDE and APIs
Vote if you care : https://quality.embarcadero.com/browse/RSP-30991 IDE Could/Should open dfm in text form, if it/RLINK will find some problem with it. (and show the position in way or other) -Tee- -
In this situation, it is best not to block the main thread at all. Disable the UI if you need to, but let the worker thread and main message queue run in parallel normally, and have the worker thread notify the main thread when it is finished, eg: procedure TForm2.Button1Click(Sender: TObject); var Thrd : TThread; begin Thrd := TThread.CreateAnonymousThread( procedure begin Sleep(10000); end ); Thrd.OnTerminate := ThreadFinished; Thrd.Start; // disable UI as needed ... end; procedure TForm2.ThreadFinished(Sender: TObject); begin Memo1.Lines.Add('Thread finished'); // enable UI as needed ... end;
-
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.
-
imagelist Looking for Icon Fonts support in Delphi for High-DPI and Themed app?
Carlo Barazzetta posted a topic in VCL
IconFontsImageList components by @Carlo Barazzetta could be the answer: you can explorer the complete wiki to see how it works. Summary of library: An IconFontsImageCollection component that inherits from Delphi's CustomImageCollection and is compatible with VirtualImageList A IconFontsVirtualImageList, to use with Delphi version older than 10.3 A rendering engine of Icon-fonts using GDI+ (from Delphi XE4) A complete backward compatibility with older Delphi versions (from Delphi 7) A useful Collection and Component editor, with support for Category of Icons A custom CharMap viewer, to easily select icons contained in any Font Support for changing the Color based on the active VCL Style. High performance of drawing engine Support for FMX (also for mobile platforms) It's free and open-source Icons based on Fonts are a good alternative to bitmaps because they need only the Font installed in the system to obtain thousands of images (like the "Material Design Font Desktop.ttf" font: https://github.com/Templarian/MaterialDesign-Font). The icons scales perfectly, so, you don't need to multiple resolutions of your images to match the DPI of the monitors and multiple colors for Theme used. The Collection of Icons can be rendered by a single Font/Color defined at collection level, or by different Fonts/Color defined at Icon level, so you can mix different icons from different Fonts in a single collection. The library is quite stable, but any contribution is welcome! -
Open File expert and Uses Clause Manager don't understand environment variables
dummzeuch replied to merijnb's topic in GExperts
https://gexperts.dummzeuch.de -
Open File expert and Uses Clause Manager don't understand environment variables
dummzeuch replied to merijnb's topic in GExperts
Thanks, I was just about to ask you to do that. I'm sure there are other places where support for environment variables would be convenient. I'll have a look when I find the time. -
New feature request: Open dfm as Text if malformed (vote if care)
Uwe Raabe replied to Tommi Prami's topic in Delphi IDE and APIs
Perhaps a simple "Open as text" in the context menu of a DFM in the project manager may be sufficient. -
New feature request: Open dfm as Text if malformed (vote if care)
David Heffernan replied to Tommi Prami's topic in Delphi IDE and APIs
Not sure the IDE should do that. There are tools to convert. If you want to convert, then use those tools. If the IDE did this automatically then that would be painful for people who wanted to use binary. -
New feature request: Open dfm as Text if malformed (vote if care)
David Heffernan replied to Tommi Prami's topic in Delphi IDE and APIs
If it is in binary form then presumably there would be no need because there would be no problem in it -
To put something in a thread and hold the main UI thread until its finished , that makes not much sense IMHO. Then you can also proceed everything in the main UI, its the same effect. A task should be running in parallel.
-
Oh no, you didn't!
-
I would assume your system has been compromised.
-
sgcWebSockets is a complete package providing access to HTML5 WebSockets API (WebSocket is a web technology providing for bi-directional, full-duplex communications channels, over a single Transmission Control Protocol (TCP) socket) allowing to create WebSocket Servers, and WebSocket clients in VCL, Lazarus and Firemonkey Applications. What's new 4.2.2 - New HTTP/2 Client component: multiplexed streams, server push, partial streams, heartbeat... and more. - HTTP/2 vs HTTP1 Performance - HTTP/2 Client Tests - HTTP/2 Latency - HTTP/2 Tests from HTTPBIN.ORG - Demo can be downloaded from: http://www.esegece.com/download/protocols/sgcHTTP2Client.zip - New Binance Futures API Client component. - Improved Telegram Client, now supports iOS64 (Windows, MacOSX, Android and Linux were already supported). - Fixed some bugs using OpenSSL 1.1.1 and TLS 1.3 - Several improvements about performance and stability. Main Features: - WebSocket and HTTP Support: sgcWebSockets includes client and server-side implementations of the WebSocket protocol (RFC 6455). HTTP/s is also full supported. Support for plain TCP is also included. - SSL/TLS for Security: Your messages are secure using our SSL/TLS implementation. Widest compatibility via support for modern TLS 1.3, TLS 1.2, TLS 1.1 and TLS 1.0 - Protocols and APIs: Several protocols are supported: MQTT (3.1.1 and 5.0), STOMP, WEBRTC, SIGNALR CORE, WAMP... Built-in protocols support Transactions, Datasets, QoS, big file transfers and more. APIs supported for third-parties like Pusher, Bitfinex, Huobi, CEX... - Cross-platform: Share your code using our WebSockets library for your Delphi VCL, Firemonkey, Intraweb, Javascript and C# projects. Includes Server, Clients and several protocols for building and connecting to WebSocket applications. - High Performance WebSocket Server based on Microsoft HTTP Framework and IOCP. - HTTP/2 protocol is supported on client component. Trial Version: https://www.esegece.com/websockets/download Compiled Demos: http://www.esegece.com/download/sgcWebSockets_bin.zip More Info: https://www.esegece.com/websockets
-
Blocking the Windows Screen Saver in Delphi
HolgerX replied to dummzeuch's topic in Tips / Blogs / Tutorials / Videos
Hmm.. and starting with W7 you have to use the function PowerCreateRequest(REASON_CONTEXT: TREASON_CONTEXT): THandle; stdcall; external 'kernel32.dll' name 'PowerCreateRequest'; function PowerSetRequest(PowerRequestHandle: THandle; PowerRequestType : TPowerRequestType): BOOL; stdcall; external 'kernel32.dll' name 'PowerSetRequest'; function PowerClearRequest(PowerRequestHandle: THandle; PowerRequestType : TPowerRequestType): BOOL; stdcall; external 'kernel32.dll' name 'PowerClearRequest';