Leaderboard
Popular Content
Showing content with the highest reputation on 09/16/21 in all areas
-
Image32 - 2D graphics library (open source freeware)
angusj replied to angusj's topic in I made this
Just updated to version 3.2 https://sourceforge.net/projects/image32/- 42 replies
-
- graphics
- cross-platform
-
(and 2 more)
Tagged with:
-
As you likely noticed, Delphi 11 officially does not support Windows XP anymore. You can make your application compatible with XP again by simple set. In Project Options|Building|Delphi Compiler|Linking set "Set OS Version fields in PE Headers" and "Set SubSystem Version fields in PE Headers" to "5.1". Unless your application uses System.Threading.pas (TTask etc) you should run it under Windows XP with no problems. But if so, then you have to tweak this unit. Threading objects actually use in their internals new TThread.GetTickCount64 method, which is hardwired to Windows API GetTickCount64 which is not available in Windows XP API. Take this unit from "source\rtl\common" folder in Delphi 11 installation. Declare new local function in the beginning of implementation section of this unit like this: function _GetTickCount64: UInt64; begin if TOSVersion.Major<6 then Result := TThread.GetTickCount else Result := TThread.GetTickCount64; end; and replace all occurrences of TThread.GetTickCount64 calls with _GetTickCount64. For Win32 applications then copy this modified unit to \lib\win32\debug and \lib\win32\release folders in Delphi 11 installation and rename original System.Threading.dcu to e.g. _System.Threading.dcu. Then build your project which uses System.Threading with Debug and Release configuration. New System.Threading.dcu should be created in mentioned folders. After this you should remove modified System.Threading.pas from these folders to prevent its recurrent compilation. Now your Delphi 11 Win32 applications should run under Windows XP with no External Exception crash.
-
ICS V8.67 has packages for Delphi and C++ 11.0, currently only available from SVN and the overnight zip, with a final release due next week. http://wiki.overbyte.eu/wiki/index.php/ICS_Download There was a major new OpenSSL 3.0 release this week, just finishing testing and integration with V8.67. Currently, many older ICS icons appeared incorrectly with a magenta background in Delphi 11.0 due to transparency being ignored, these will be fixed for the final release. Angus
-
Hi there, I want to wave goodbye to Delphi 10.4.2. This was for me one of the most stable versions in the past, maybe only XE8 was similar stable and less critical for me. Yes, it had its hickups here and there, but nothing too annoying at all. It accompanied me in the last 12 months as true friend, so I wish you luck in the afterlife. Looking forward to see Rx11 as stable as its older brother, and to give me another 12 months cycle of convenient Life. The start looks very promising, lets see ...
-
Two new zips for Win32 and Win64 versions of OpenSSL 3.0.0 can now be downloadable from the Wiki at: http://wiki.overbyte.eu/wiki/index.php/ICS_Download or https://www.magsys.co.uk/delphi/ma?g?ics.asp . ICS V8.67 from SVN or the overnight zip is required to use 3.0 and later, due for final release in a few days. The ICS distribution will continue to include OpenSSL 1.1.1 for a while until 3.0 becomes better tested. Beware the ICS Jose unit currently gives errors with the Win64 platform, being investigated, Win32 plafform is ok. OpenSSL 3.0 is a major new release, primarily a lot of internal changes to ease long term support. There is an optional FIPS module with 3.0 but not available here since our DLLs are not built to standards required for certification. The old engines for special extensions are replaced by new more versatile providers of which the FIPS module is one, a provider legacy.dll contained in the distribution has obsolete ciphers and hash digests that most applications no longer need and which needs to loaded by the application. For details of the changes in 3.0.0, see the release notes at: https://www.openssl.org/news/openssl-3.0-notes.html Highlights are: * Implemented support for fully "pluggable" TLSv1.3 groups * Added support for Kernel TLS (KTLS), Linux only * Changed the license to the Apache License v2.0. * Moved all variations of the EVP ciphers CAST5, BF, IDEA, SEED, RC2, RC4, RC5, and DES to the legacy provider. * Moved the EVP digests MD2, MD4, MDC2, WHIRLPOOL and RIPEMD-160 to the legacy provider. * Added convenience functions for generating asymmetric key pairs. * X509 certificates signed using SHA1 are no longer allowed at security level 1 or higher. * Added a Certificate Management Protocol (CMP, RFC 4210) implementation. * Added a proper HTTP client. * Changed our version number scheme, major, minor, patch, so 3.0.0 (no patch letter) * SSL 3, TLS 1.0, TLS 1.1, and DTLS 1.0 only work at security level 0. * TLS 1.3 FFDHE key exchange support added Angus
-
This should explain it: if (ParentMenu <> nil) and (ParentMenu.OwnerDraw or (ImageList <> nil)) and (Assigned(FOnAdvancedDrawItem) or Assigned(FOnDrawItem)) then
-
Is it possible to see Git current working branch in IDE?
Fr0sT.Brutal replied to Mike Torrettinni's topic in Delphi IDE and APIs
Probably if you use CVS features of the IDE itself. I've never used it so can't say more precisely -
Is it possible to see Git current working branch in IDE?
Lars Fosdal replied to Mike Torrettinni's topic in Delphi IDE and APIs
Not really well versed in SourceTree, but GitKraken is very explicit about it. Otherwise, git rev-parse --abbrev-ref HEAD in your working folder, according to https://stackoverflow.com/questions/6245570/how-to-get-the-current-branch-name-in-git -
Edit attributes (for classes or methods)?
Uwe Raabe replied to Ralf Kaiser's topic in MMX Code Explorer
@Stano No, that's the Parameter Wizard. Attributes can be added with this button: or alternatively with the Explorer or Editor context menu Tools - Insert Attibutes -
-
First there is the Lock Controls feature of the IDE, which prohibits any position or size changes during design for all controls. If we are talking about some specific controls made by yourself and registered in some design time package, you can override CanResize and return False when in design mode. function CanResize(var NewWidth, NewHeight: Integer): Boolean; override; ... function TMyControl.CanResize(var NewWidth, NewHeight: Integer): Boolean; begin if csDesigning in CompontentState then Result := False else Result := inherited CanResize(NewWidth, NewHeight); end;
-
@Darian Miller Thanks for such list, that is very helpful. Such a general "Can-I-Use" list would be a big step to more quality, but I'm afraid this will end as fulltime job. I'm not sure if preparing such useful lists could be done with Github or other tools on-the-fly, maybe so. Anyway, I think this would be a perfect community work, to prepare especially something like Delphi polyfills, to add certain "workaround" to each issue. If anybody knows how such work could be "automated", that would be great, maybe this could be even a side-project within DP ? Anyway, my recipe to avoid most issues are the following: - don't use the latest features immediately, just observe and test, but let them "stabilize" - avoid using the latest fancy hot components, like TNumberBox, just take the time to build your own from more basic components ( I highly recommend frames for this ) - try to use only minimal, absolute necessary external components, to avoid too much external bindings - modularize your libraries, so that they can be easier be managed and replaced (if needed ), single responsibility principle is also very much true for units IMHO, so I try to decouple functions into separate spaces. - tweak the Delphi core units, whereever needed, to workaround issues and to receive the desired behaviour you want to have ( record helper or interposer) - UnitTest most of your work, to be able to spot sudden changes early
-
Delphi 11 - Customize Toolbar works very badly
y2nd66 replied to Reinier Sterkenburg's topic in Delphi IDE and APIs
With shortcut "Delphi 11 (DPI Unaware)" works normal, here more details and here command line switches I've been using an export of the registry entry since a few versions ago, at least for Toolbars. For example, from 10.4.2 to 11 Export to file .reg the entry HKEY_CURRENT_USER\Software\Embarcadero\BDS\21.0\Toolbars I modify the file .reg with \21.0\ to \22.0\ Delete entry HKEY_CURRENT_USER\Software\Embarcadero\BDS\22.0\Toolbars Then import .reg and "voila"... Delphi 11 with the same Toolbar configuration. -
Will getit work for C++ Builder
Remy Lebeau replied to alank2's topic in ICS - Internet Component Suite
Most likely, either Int8 or CSIDL_DESKTOP has already been #define'd to a value earlier, and that define is then interfering with these declarations. -
Once you get it installed, it does seem very nice. The non-dockable floating form designer is a bit funky but I do not resort to using that very often. There are reported compatibility issues with TNumberBox and TScrollBox. Also watch for possible unintentional image resizing iin VirtualImageList if using the HighDPI designer. I started a list of things to look out for: https://github.com/ideasawakened/DelphiKB/wiki/D28.ALEXANDRIA.11.0.0.0