Tag: firemonkey

ICS V8.67 adds Delphi 11 and OpenSSL 3 support

ICS V8.67 has been released at: http://wiki.overbyte.eu/wiki/index.php/ICS_Download ICS is a free internet component library for Delphi 7, 2006 to 2010, XE to XE8, 10 Seattle, 10.1 Berlin, 10.2 Tokyo, 10.3 Rio, 10.4 Sydney and 11.0 and C++ Builder 2006 to XE3, 10.2 Tokyo, 10.3 Rio, 10.4 Sydney and 11.0. ICS supports VCL and FMX, Win32, Win64 and MacOS 32-bit targets. The distribution zip
Read More

Unveiling of Expansion Outlook of Security Consulting Services Market for Software Development over the period 2021-2026

Global Security Consulting Services for Software Development Market reports are an in-depth analysis of market characteristics, size and growth, segmentation, regional and country analysis, competitive landscape, market shares, trends and strategies for that market. Track historical and forecast market growth of the market by region. To position the market within the context of a larger Software Development Security Consulting Services market and compare it with other markets, market definitions, regional market opportunities, sales and revenue by region, manufacturing cost analysis , industry chains, market effect factor analysis, software development security Market Business Intelligence Consulting Services For Size Forecast, Market Data, Charts & Statistics, Tables, Charts To bars and sectors and more. The research report on Security Consulting Services for Software Development Market includes vital insights on key drivers and opportunities that will contribute to the growth matrix of this field between 2021-2026. In addition, it highlights solutions to existing and upcoming threats and challenges that are about to negatively impact the profitability graph of the business sphere. The scientific literature includes verifiable projections for variables such as demand share, revenue, market growth rate, and submarkets. To go further, it fragments this vertical into several segments based on product line, application scope and region to identify and elucidate the main sources of revenue generation. In addition, detailed information on the strategies implemented by industry leaders is provided to help new entrants improve their positioning. Request a copy of this report @ https://www.nwdiamondnotes.com/request-sample/22428 Key Inclusions in the Software Development Security Consulting Services Market report: Systematic presentation of industry trends Statistical coverage of sales volume, market size and overall market revenue Growth opportunities Growth rate projections over the forecast period Advantages and disadvantages of direct and indirect sales channels List of the main resellers, traders and distributors on the market Software Development Security Consulting Services Market Segments Covered In The Report: Regional fragmentation: North America, Europe, Asia-Pacific, South America, Middle East and Africa. Country review of each regional market Market share captured, returns generated and sales accumulated by each region Estimates of revenue and growth rate for each region during the analysis period. Product line: Security consultancy for web application development Security consultancy for the development of mobile and other applications Market share projections with respect to accumulated sales and revenue generated by each product segment Price models for each type of product Scope : General consulting services and personalized consulting services Revenue records and sales volume of each application segment during the study period. Pricing of each type of product based on the scope of their application Competitive dashboard: IBM, Microsoft, Veracode, Synopsys, Datacom, Kanda, Optiv, Positive Technologies, MSys Technologies, Denim Group, Security Innovation, NCC, Infopulse, Trianz, RSM, Shenzhen Kaiyuan Internet Security Technology, Beijing Gu’an Tianxia Technology, Shanghai Aryasec Information Technology, Jiangsu Jindun Sensing Technology, Beijing Duanma Technology, Beijing Zhi You Wang An Technology, Sekureyun Software Technology (Beijing), Hangzhou Moan Technology and Jiangsu Baida Smart Grid Technology Basic information and manufacturing facilities of each company in all operating regions Emerging Competitor Data Product and service offerings from listed companies Records of turnover, sales, price, gross margins and market share of each competitor SWOT analysis of each company In-depth review of rate to market, market concentration rate, marketing strategies and other important business specifics The importance of the report- To provide an in-depth examination of the market structure, as well as forecast for the major segments and sub-segments of the global Security Consulting Services for Software Development Market during the forecast period. To provide information on the factors influencing the growth of the market. To perform an initial analysis of the global Automotive Software Development Security Consulting Services market using various techniques including vendor assessment and Porter’s five forces analysis. To provide historical and projected revenue for the market segments and sub-segments based on key regions and countries. To provide country specific market analysis in terms of current market size and outlook. Key questions addressed in the report: – Across the Software Development Security Consulting Services market, what are the different types of manufacturing processes? What are the different dynamics that have changed market practices? What are some of the various untapped economy opportunities hidden throughout the market industry? What are the effective and efficient strategies to increase revenues and profits across the business sector? Request customization on this report @ https://www.nwdiamondnotes.com/request-for-customization/22428 Source link
Read More

Lazarus Linux support for FNC webbrowser


Up until now, the only way to use the TTMSFNCWebBrowser in a Linux environment was through FMXLinux. Today, we can proudly announce official Linux support through Lazarus as well. A couple of FNC products were already working in Linux, but the browser based components, such as the TTMSFNCWebBrowser and the TTMSFNCMaps components (& descendants) were not working. We have been working hard the past months to make our browser based products ready for Linux. With Linux support through Lazarus, we add yet again a new platform to the wide variety of already supported platforms in FNC.

TMS FNC Components can be used simultaneously on these frameworks

  • VCL
  • WEB
  • FMX
  • LCL

TMS FNC Components can be used simultaneously on these operating systems/browsers


TMS FNC Controls can be used simultaneously on these IDEs


Getting Started

The components have been tested and deployed on a Linux environment (Ubuntu 20.04) after properly setting up Lazarus and other dependencies required for various parts of FNC.

To setup your Linux environment please execute the following commands

    sudo apt install joe wget p7zip-full curl openssh-server build-essential zlib1g-dev libcurl4-gnutls-dev libncurses5
    sudo apt-get install zlib1g-dev
    sudo apt install libgl1-mesa-glx libglu1-mesa libgtk-3-common libgstreamer1.0-0 libgstreamer-plugins-base1.0-0
    sudo apt install libwebkit2gtk-4.0-dev
    Uninstall previously installed FNC packages and rebuild the Lazarus IDE. Remove LIB folders generated in the source directory. During compilation of dependant packages, checksum errors might appear. If this is the case, follow the exact steps below.
    LCLTMSFNCCorePkg.lpk >> Install
    LCLTMSFNCCorePkgDE.lpk >> Install >> Error
    LCLTMSFNCCorePkg.lpk >> Only compile
    LCLTMSFNCCorePkgDE.lpk >> Install >> OK
    LCLTMSFNCMapsPkg.lpk >> Install
    LCLTMSFNCMapsPkgDE.lpk >> Install >> Error
    LCLTMSFNCMapsPkg.lpk>> Only compile
    LCLTMSFNCMapsPkgDE.lpk >> Install >> OK
    Repeat steps 5-8 for other FNC products if necessary

    GTK 3.0

      Note that the TTMSFNCWebBrowser is relying on GTK 3.0 as a minimum. By default Lazarus applications target GTK 2.0. To change this, select “Project Options”, go to “Additions and Overrides”, and change the default “LCLWidgetType” to GTK 3.0
      Start the application to explore the capabilities of the TTMSFNCWebBrowser

      TMS FNC Maps

      Lazarus Linux support for TTMSFNCWebBrowser also means the TMS FNC Maps component set is available. Below is a screenshot of one of the demos in action.

      Stay tuned!

      With Linux support through Lazarus we add yet another major and exciting platform to the already huge amount of platforms FNC has to offer. Stay tuned for more FNC improvements and features coming up in the near future!.

      Read More

      Read More

      How to add an clickable button on top of a MapView in Delphi FireMonkey?

      I need to add a clickable button with a custom image on top of the TMapView, is this possible? ps: even if I leave the TImage on top of the view, the map overlays it, that is, the button appears quickly until the map rendering overlays it... edit ps2: There is no code for the example, I simply put a TImage on the Form, either as a child of TMapView, or as a child of TForm, when I test it on android, when opening the app the image appears quickly before the map and then when the map starts to appear it overlays the image... edit ps3: I don't know if a TImage is the correct way to do this, is this any component to leave on top of the map, that keeps showing up, serving as a button? Just like on Google Maps...
      Read More

      Blank delphi FMX app with entitlement for push notifications enabled crashes on start

      Reproduction: File -> New -> Other -> Multi-Device Application. Tabbed with Navigation (or other non 3D, non blank app) Build and start the app as android 64-bit and launch is in the connected device. This works. Now, as soon as you go to: project options -> Application -> Entitlement List turn on "Receive push notifications" Then try to start the app. The app will no longer be able to start. The question here is, what exactly is the android API expecting to find in the APP, which causes this crash? I'm not getting into the debugger - the app closes before Delphi Rad studio 10.4.2 (using the v30 Android SDK) is even able to "hook" into anything. With as much as Rad studio is doing automatically, I'd expect it to create the required frame or app hook automatically, but there's just "nothing" that resembles useful information regarding this. Main article on adding push notifications here: https://docwiki.embarcadero.com/RADStudio/Sydney/en/Firebase_Android_Support And yes, I did follow that part as well, with the same crashing result. The google app emulator doesn't give me anything worthwhile either,. I'm a bit at a loss here.
      Read More

      Accessing a third party Mac API through Firemonkey

      I have an SDK from a hardware manufacturer which provides Windows and Mac APIs. In Windows this is a standard COM DLL. On the Mac, it's in a bundle in the Library. Can someone give me a starting point on how to access the functions from a Firemonkey app please? The Plist file mentions <key>CFBundleExecutable</key> and <key>CFBundlePackageType</key> <string>BNDL</string> and the bundle contains a file with no file extension but a 'kind' of 'Unix executable' The include file contains the following (abridged) code to gain access to the API from C++ in XCode : typedef IDiscovery* (*CreateDiscoveryFunc)(void); static pthread_once_t gOnceControl = PTHREAD_ONCE_INIT; static CreateDiscoveryFunc gCreateDiscoveryFunc = NULL; static void InitAPI (void) { bundleURL = CFURLCreateWithFileSystemPath(kCFAllocatorDefault, CFSTR(kAPI_BundlePath), kCFURLPOSIXPathStyle, true); if (bundleURL != NULL) { gBundleRef = CFBundleCreate(kCFAllocatorDefault, bundleURL); if (gBundleRef != NULL) { gCreateDiscoveryFunc = (CreateDiscoveryFunc)CFBundleGetFunctionPointerForName(gBundleRef, CFSTR("GetDiscoveryInstance")); } CFRelease(bundleURL); } } IDiscovery* CreateDiscoveryInstance (void) { pthread_once(&gOnceControl, InitAPI); if (gCreateDiscoveryFunc == NULL) return NULL; return gCreateDiscoveryFunc(); } - (void)applicationDidFinishLaunching:(NSNotification *)aNotification { mDiscovery = NULL; mDevice = NULL; mDiscovery = CreateDiscoveryInstance(); if (! mDiscovery) { /* Show an alert to say the API may not be installed, and quit program */ } NSString* address = [mAddressTextField stringValue]; ConnectToFailure failReason; HRESULT hr = mDiscovery->ConnectTo((CFStringRef)address, &mDevice, &failReason); } If I can get the mDevice object, then I should be able to get all the other objects I need to use the API. Could this 'Unix executable' just be a DYLIB?
      Read More

      Opening an exciting new world full of amazing resources for Delphi developers



      Imagine your access to functionally useful
      libraries, components, controls that are hard to find in the Delphi developer
      community suddenly became easily available.


      Visualize you had no more concerns what
      platform or what framework to choose for developing your next solution for your


      Dream you can start adding seamlessly
      exciting new functionality to your existing applications.

      That is exactly the core goal of the brand
      new WX concept we reveal today with TMS FNC WX Pack. In a nutshell, WX means
      Packaging Web technology in easy-to-use components for integration in any
      type of Delphi application

      With WX Pack, you can leverage existing Web
      libraries in VCL Windows applications, FMX cross-platform applications for
      Windows, macOS, iOS, Android & Linux, or TMS WEB Core Web applications for
      any device running a modern browser.


      How does it work?

      The foundation of the WX concept is our
      powerful TMS FNC Browser component with its accompanying bridge technology. The
      FNC browser wraps the native operating system browser for the VCL, FMX, or LCL
      framework and offers a sort of virtual embedded browser in a TMS WEB Core Web
      application. This FNC browser is used to host a Web library with the choice to
      host it for offline or for online use. You can opt for online use to make the
      component lighter or offline use which means that the component will take up
      somewhat more size in your executable (depending on the component of course)
      but with the guarantee it will run fine without an Internet connection. Thanks
      to the FNC bridge technology, the native application-level component can
      communicate with the browser hosted library and vice versa. As a Delphi
      developer, this is all abstracted and you only deal with it at Object Pascal
      level as a component and its properties, methods, and events.

      Where do we start?

      There is an abundance of existing Web
      libraries, so where to start was the big question. The answer was simply
      listening to you, the user. For quite some time, among the most popular
      requests for new components were a barcode generator component, a QR code
      generating component, an HTML editor, a PDF viewer, …

      And so, that is exactly where we started
      our research and initial development to bring these components as part of the
      WX concept. It enables us to deliver these kinds of components in a fraction of
      the time otherwise needed to build them from the ground up, and it is an
      opportunity to leverage proven, well-tested, and widely popular existing


      The first group of components

      In the first beta build of TMS FNC WX Pack,
      we have:

      This components offers close to hundred different barcode types with lots of customization properties for these barcode types.

      Component to generate QR codes of different type and with several customizations like logo in QR code for example

      Edit HTML directly with the 
      TTMSFNCWXHTMLMemo component. It has an optional embedded format toolbar or can be used with external toolbar. Programmatic access to all formatting capabilities is available. Content is loaded and saved directly as HTML.


      With this component on the form, you can display PDF files in your applications, including page thumbnails. There is programmatic access to navigate through pages, search text, …


      Access your device camera with the TTMSFNCWXCamera component and programmatically take pictures


      Eager to see it in action, check our first video we prepared:



      The first beta build is available for all
      TMS ALL-ACCESS users with an active license. You will find this beta build in
      your account, or you can access it from the TMS Subscription Manager. You can
      download this new product now and start tinkering with it.


      What’s next?

      With your feedback, this will lead to the
      release of the first version TMS FNC WX Pack (v1.0). It will be available as
      part of TMS ALL-ACCESS, TMS FNC Component Studio, and as a stand-alone product.

      In the meantime, additional components for
      TMS FNC WX Pack are already in development, and we will reveal these shortly.
      But other than this, it will be mostly YOU who will determine the future shape
      & content of the TMS FNC WX Pack
      . If you have the need for specific
      functionality not readily available in the Delphi component offerings but
      easily available for Web developers, let us know and our team will research
      wrapping it into a Delphi component with the WX concept. Leave a comment or
      send us a direct email with your ideas!



      Read More

      Read More

      How to make a component that support both FMX and VCL

      The question have already been asked, but I still can't find a good way to do it. I just made a component who simply draw some stuff on a TForm. basically it's exactly the same code regarding FMX or VCL, but on fmx it's use FMX.form and on vcl it's use VCL.form. How to make my component compatible with both framework? Ideally I don't want to split the unit (one FMX.myunit.pas and one VCL.myUnit.pas for exemple) How to make my component appear in the tools palette only for VCL project or only for FMX project or for both projects ? How in my dpr/dproj can I say that my project use VCL or FMX framework? Can a project use both Framework, VCL and FMX? For fmx components, why I need to do RegisterComponents('myGroup', [TMyControl]); followed by RegisterFmxClasses([TMyControl]); (It's look like this in all sample I saw).
      Read More

      TMS FNC Maps v2.1: Introducing OverlayViews


      The new TMS FNC Maps update includes support for OverlayViews. This is a heavily improved equivalent of the Marker Labels functionality in TMS VCL WebGMaps and TMS FMX WebGMaps. OverlayViews are a Google Maps API specific functionality and therefore currently only available in TTMSFNCGoogleMaps. OverlayViews can be positioned anywhere on the map and support HTML tags.

      3 ways to use OverlayViews

      1. Connected to a Marker

      The OverlayView is automatically displayed below an existing Marker and functions as a Marker Label. 

      In code, adding a call to AddOverlayView on an existing Marker with the text that goes in to the OverlayView as a parameter value is all that is needed.

        m: TTMSFNCGoogleMapsMarker;
        m := TTMSFNCGoogleMapsMarker(TMSFNCGoogleMaps1.AddMarker(TMSFNCGoogleMaps1.Options.DefaultLatitude, TMSFNCGoogleMaps1.Options.DefaultLongitude));
        m.AddOverlayView('Hello <font color="red">World</font>!<br>This is an <b>OverlayView</b>.');

      2. Positioned at a fixed Coordinate

      The OverlayView is positioned at a fixed coordinate on the map. The size of the OverlayView remains fixed regardless of the map’s zoom level.

      In code, setting the Latitude and Longitude coordinates will position the OverlayView at that exact location on the map.

        ov: TTMSFNCGoogleMapsOverlayView;
        ov := TMSFNCGoogleMaps1.AddOverlayView;
        ov.CoordinatePosition := cpCenterCenter;
        ov.Coordinate.Latitude := TMSFNCGoogleMaps1.Options.DefaultLatitude;
        ov.Coordinate.Longitude := TMSFNCGoogleMaps1.Options.DefaultLongitude;
        ov.Padding := 5;
        ov.Width := 500;
        ov.Text := '' +
            '<h1 id="firstHeading" class="firstHeading">Uluru</h1>'+
            '<div id="bodyContent">'+
            '<p><b>Uluru</b>, also referred to as <b>Ayers Rock</b>, is a large ' +
            'sandstone rock formation in the southern part of the '+
            'Northern Territory, central Australia. It lies 335 km (208 mi) '+
            'south west of the nearest large town, Alice Springs; 450 km '+
            '(280 mi) by road. Kata Tjuta and Uluru are the two major '+
            'features of the Uluru - Kata Tjuta National Park. Uluru is '+
            'sacred to the Pitjantjatjara and Yankunytjatjara, the '+
            'Aboriginal people of the area. It has many springs, waterholes, '+
            'rock caves and ancient paintings. Uluru is listed as a World '+
            'Heritage Site.</p>'+
            '<img src="https://www.tripsavvy.com/thmb/XHi4Ec428VJFk_bsvNtv6fx5-bE=/2000x1500/filters:fill(auto,1)/GettyImages-675746097-5a8b94a427364afc89f054f71ceda86f.jpg" width="200"></img>' +
            '<p>Attribution: Uluru, <a target="_blank" href="https://en.wikipedia.org/w/index.php?title=Uluru&oldid=297882194">'+
            'https://en.wikipedia.org/w/index.php?title=Uluru</a> '+
            '(last visited June 22, 2021).</p>'+

      3. Positioned between preset Bounds

      The OverlayView is positioned between fixed Bounds coordinates on the map and the size changes depending on the map’s zoom level.

      When the map is zoomed out, the size of the OverlayView image automatically adapts to keep it inside the Bounds coordinates.

      In code, set the OverlayView Mode to omBounds to keep it positioned and sized between the Bounds coordinates.
      In this example an image is used to display a different style of map at that location. To make sure the image fills the entire available space,  it’s width and height must be set to 100%. Optionally the Padding, BackgroundColor, BorderColor and other configuration settings can be added.

        ov: TTMSFNCGoogleMapsOverlayView;
        ov := TMSFNCGoogleMaps1.AddOverlayView;
        ov.Mode := omBounds;
        ov.Text := '<img src="https://storage.googleapis.com/geo-devrel-public-buckets/newark_nj_1922-661x516.jpeg" style="position:absolute;width:100%;height:100%;">';
        ov.Bounds.NorthEast.Latitude := 40.773941;
        ov.Bounds.NorthEast.Longitude := -74.12544;
        ov.Bounds.SouthWest.Latitude := 40.712216;
        ov.Bounds.SouthWest.Longitude := -74.22655;
        ov.Padding := 0;
        ov.BackgroundColor := gcNull;
        ov.BorderColor := gcNull;

      Available now

      The TMS FNC Maps v2.1 update is available now. You can download the latest version and start using the new OverlayViews feature right away!

      Read More

      Read More

      Arrange the list in the VertScrollBox1 fmx

      I have an issue To add object a well-arranged to VertScrollBox1 example I add 1 then 2 then 3 but in my case when I add the first item it became in the first place -ok- but when I add the second item it placed in the first place and the the first item Go to the second Place like this 3 2 1 see image bellow my code is recadmin := TAdmin.Create(self); recadmin.admin.Align := TAlignLayout.Top; recadmin.txtAdmin.Text := edtxt; self.AddObject(recadmin.admin); self is VertScrollBox1 image
      Read More

      PNG in Firemonkey : how to specify Compression and 8-bit

      VCL allows me to specify a PNG's Compression level (not referring to Quality level). How do I specify the Compression level of a PNG in FireMonkey? Is there a way to save the PNG as 8-bit instead of 32-bit? I'm using TBitmapCodecManager. I only need 8-bit because the colors are only black/white (with some anti-aliasing). Note: I cannot use an external PNG library as this has to be integrated in my code. begin var oStream := TMemoryStream.Create; var Surface := TBitmapSurface.Create; try BitmapCodecSaveParams.Quality := 100; // PNG is 100% loss-less, how can we specify the Compression level? Surface.Assign(aBitmap); TBitmapCodecManager.SaveToStream(oStream, Surface, '.png', @BitmapCodecSaveParams); finally oMemoryStream.Free; Surf.Free; end; end;
      Read More

      Delphi 11 – tcp:64311: cannot resolve name: No address associated with hostname Exiting

      Trying to launch an Android Application previously made on 10.4.2 in the new delphi 11 but this error occurs.
      Some forums discuss about adb.exe if it can find the device, it can, the device is plugged in and is recognizable by the IDE.

      Adding clarification: The app being tested is a default “helloworld” app: blank screen with a label in the center saying “hello world”.

      The pictures below show the configuration for SDK 30 but I already tried with the SDK 29 and SDK 28, no luck. Also tried NDK 17.2b from 10.3.3 Rio, NDK 20.1 from 10.4.2 and this time NDK 21.2 from Alexandria, but none of them works.

      • With the lower NDKs (17.2 and 20.1) the app installs, open but freezes on the splash screen and then android hangs it with TCP 64311 error.
      • With latest NDK v21 from Google, the app freezes on the splash screen, gives a method error with Android JNI class and hangs the debugger, then android hangs the app.
      • With v21.2 or v21.3 the app launches properly but throws a TCP 64311 error and hangs the debugger.
      • With NDK 22 it doesn’t even configure properly.
      • With a mix of NDK 22 for all options except the ones from NDK_BASE/platforms/android-23 and NDK v21 for those, the app launches, but throws TCP 64311 error along with another signal 39 error.

      Any ideas on what should I do?

      SDK configuration:

      NDK configuration:

      JAVA OpenJDK configuration:

      Read More

      Read More

      Delphi – ANDROID – Error Cannot create EGL PBuffer Surface. Error code: 12297

      I receive the following error message: raised exception class EContext3DException with message 'Cannot create EGL PBuffer Surface. Error code: 12297.'. This error occurs when the form "quality" property is set to HighQuality. Among 10 smartphone models tested, one accused this error. How can I detect if the smartphone supports this feature? I imagine it would be something like this: Override InitializeNewForm procedure Tform.InitializeNewForm begin if suported then //how to check?? Quality := TCanvasQuality.HighQuality else Quality := TCanvasQuality.SystemDefault; inherited; end;
      Read More