Posts

Showing posts from May, 2018

https://www.packtpub.com/packt/offers/free-learning

https://www.packtpub.com/packt/offers/free-learning Delphi Cookbook – Second Edition is today's Packt Free eBook for the next 22 hours or so (as of this posting)... I purchased this when it came out – so take the opportunity to grab it (or if you have the first edition, then grab the newer release)… https://www.packtpub.com/packt/offers/free-learning

We've recently learned a lot about memory leaks in TClientDataSet.

We've recently learned a lot about memory leaks in TClientDataSet. As these appear to have been around for a long time, I wonder whether we are simply among the last to discover them? They seem to make use of the TClientDataSet for any but transient operations a very poor choice. And the memory issues seem not to be true leaks, but rather ever increasing memory allocations until the CDS is destroyed.

We've recently learned a lot about memory leaks in TClientDataSet. As these appear to have been around for a long time, I wonder whether we are simply among the last to discover them? They seem to make use of the TClientDataSet for any but transient operations a very poor choice. And the memory issues seem not to be true leaks, but rather ever increasing memory allocations until the CDS is destroyed.

We've recently learned a lot about memory leaks in TClientDataSet. As these appear to have been around for a long time, I wonder whether we are simply among the last to discover them? They seem to make use of the TClientDataSet for any but transient operations a very poor choice. And the memory issues seem not to be true leaks, but rather ever increasing memory allocations until the CDS is destroyed.

Does anybody know of any libs that will take a generic list of objects (eg.

Does anybody know of any libs that will take a generic list of objects (eg.,. TList) and convert it to a TDataSet so it can connect directly to something like a cxGrid that would require an in-memory dataset otherwise? (I'm aware of one, but I'm curious if there are others.)
Does anybody know of any libs that will take a generic list of objects (eg.,. TList) and convert it to a TDataSet so it can connect directly to something like a cxGrid that would require an in-memory dataset otherwise? (I'm aware of one, but I'm curious if there are others.)

Originally shared by Thomas Mueller (dummzeuch)

Originally shared by Thomas Mueller (dummzeuch) Delphi Help Expert updated for Delphi 10.2 I have updated my Delphi Help Expert (formerly called Delphi 7 Help for BDS) to support Delphi 10.2. I also moved the project to OSDN and updated all links https://blog.dummzeuch.de/2018/05/31/delphi-help-expert-updated-for-delphi-10-2/

Fast Reports & Steema present a Reporting & Charting Workshop Day in Barcelona.

Fast Reports & Steema present a Reporting & Charting Workshop Day in Barcelona. More info https://www.eventbrite.com/e/delphi-reporting-and-charting-day-barcelona-tickets-46010297037 https://www.eventbrite.com/e/delphi-reporting-and-charting-day-barcelona-tickets-46010297037

Hello

Hello, superobject do not compile anymore under Tokyo because of a change in TypInfo unit...and I don't understand the goal of that change. in Berlin, TTypeData has a GUID:TGUID member for tkInterface in Tokyo, the member has been replaced by IntfGuid : array[0..15] of Byte; with a inlined GUID function that make a copy of that record as a TGUID There's probably a good reason for that, isn't it ?

Has anybody done some programming with the Allied Vision Technologies (AVT) VIMBA API for cameras?

Has anybody done some programming with the Allied Vision Technologies (AVT) VIMBA API for cameras? I've started to port our software from their legacy Universal Package to VIMBA, but since they have dropped their Delphi support, I now have to port the C API, which is not much fun. So far I got a test program running that accesses a GigE camera and stores the pictures as a MJPEG file. That's quite a lot, given that I started from scratch.

Can anyone recommend a reasonably straightforward to use audio library? The basic requirement is to record, play back and visualise a sound recording, with the ability to mark set points in the audio. The ability to save sections of the audio would also be nice, as would the ability to select the recording and playback device. I will primarily be working with WAV, FLAC and OGG files.

Can anyone recommend a reasonably straightforward to use audio library? The basic requirement is to record, play back and visualise a sound recording, with the ability to mark set points in the audio. The ability to save sections of the audio would also be nice, as would the ability to select the recording and playback device. I will primarily be working with WAV, FLAC and OGG files. I have done quite a bit of searching and not had a great deal of success so far. The libraries that I found seem to be either rather dated or quite feature-rich but expensive for the project that I have in mind.

New article by Bob Swart (Embarcadero MVP, famous speaker and writer of several Delphi books)

New article by Bob Swart (Embarcadero MVP, famous speaker and writer of several Delphi books) "How to use Embarcadero RAD server as server backend for TMS WEB Core applications" Including full article and source code! https://www.tmssoftware.com/site/blog.asp?post=462 https://www.tmssoftware.com/site/blog.asp?post=462

TMS Component Pack v8.8.9.0 has been released!

Image
TMS Component Pack v8.8.9.0 has been released! https://www.tmssoftware.com/site/tmspack.asp

Which is the oldest Delphi version you are going to use MMX Code Explorer in (and probably would pester me once I drop it)?

Which is the oldest Delphi version you are going to use MMX Code Explorer in (and probably would pester me once I drop it)? If you are using it only in newer Delphi versions than XE, then simply don't vote at all. Instead feel free to add a comment here. (Why are polls on G+ limited to 5 items?)

Hello! Is there a way to change a resource string in run-time?

Hello! Is there a way to change a resource string in run-time? My case, I need to change the Dialog messages to another language. Example: SMsgDlgYes = 'Oui';

Interfacing with C libraries may become a bit easier, with a C-to-Delphi header translator that is powered by libclang for Delphi.

Interfacing with C libraries may become a bit easier, with a C-to-Delphi header translator that is powered by libclang for Delphi. https://blog.grijjy.com/2018/05/29/chet-a-c-header-translator-powered-by-clang/

Marco Cantù Our subscription will end 11.06.2018 and the last years, each time after we renewed our subscription there where extra offers with 40% off etc. Is something comming?

Marco Cantù Our subscription will end 11.06.2018 and the last years, each time after we renewed our subscription there where extra offers with 40% off etc. Is something comming? Also is it possible to extend / renew our enterprise license directly over embarcadero? It is a lot money for a small company like ours each year ... and we were not able to use the last year payed update to tokyo till this year. Can anyone from embcd sales contact us with an offer?

A big thanks to David Nottage for help in finding out a fast way to add the extra libraries into the SDK Manager when importing a new SDK for iOS. This has saved me a lot of time, so hopefully will be helpful to others too.

A big thanks to David Nottage for help in finding out a fast way to add the extra libraries into the SDK Manager when importing a new SDK for iOS. This has saved me a lot of time, so hopefully will be helpful to others too. In the \bin folder of the RAD Studio installation are a set of files with .defaultsdkpaths extensions. These are the template files used by the SDK Manager to determine which libraries to import by default. It's a simple XML file so just add entries for the extra libraries you need to import following the format in the file. Once you've done this, when you go into the SDK Manager and import a new SDK version it will automatically include the extra files! However, be careful about which file you edit. You will see multiple .defaultsdkpaths files for each platform. It seems that the SDK Manager uses the highest version number one, so if you're importing iOS 11, you need to update the "iPhoneOS 10.0.defaultsdkpaths" file. This works for 10.1 Berli

Thought I would mention something that I found. I appears that someone spend time integrating a bunch of open source compliers into a web page for the purposes of displaying emitted asm of various languages.

Thought I would mention something that I found. I appears that someone spend time integrating a bunch of open source compliers into a web page for the purposes of displaying emitted asm of various languages. https://godbolt.org

Binary compatibility can be hard to achieve.

Binary compatibility can be hard to achieve. The Mysterious Case Of The Lost Inherited Call https://www.uweraabe.de/Blog/2018/05/28/the-mysterious-case-of-the-lost- inherited-call/ https://www.uweraabe.de/Blog/2018/05/28/the-mysterious-case-of-the-lost-inherited-call/

Hello

Hello, I have a question about StackTrace utilities. Is it possible to catch the stack of an application during an exception, send the raw data by mail to the support and retrieve the execution context from the map file (or anything else) ? for instance I want to track a "Division by 0" exception that occurs sometime but don't want to put all the debug data in the released application.

help SOAP gurus!

help SOAP gurus! I'm trying to consume with D10.2.3 a SOAP web service that has an object defined like this: ... ... The wsdl importer converts the "xsd:anySimpleType" in variant: const_ = class(TRemotable) private Ftype_: columnType; Fvalue: Variant; published property type_: columnType Index (IS_ATTR) read Ftype_ write Ftype_; property value: Variant Index (IS_ATTR) read Fvalue write Fvalue; end; The problem is that when I try to use this remotable the Delphi converter called in TRemotable.ObjectToSOAP transforms the "value" property in a xml node and not in a xml attribute so the function fails: ... mystring ... but I aspect something like that: For now I need to pass only strings to the service so I substitute the variant declaration with string declaration and in this way all works fine. Anyone knows if there is a better solution to keep the variant nature of the data?

SQL framework manual is now available

SQL framework manual is now available https://delphihtmlcomponents.com/SQLLibrary.pdf Framework will be included into HTML Library bundle (source code is already available for existing users) #1 https://youtu.be/v1B2zkm9w5Q #2 https://delphihtmlcomponents.com/sqlcontext.gif #3 https://delphihtmlcomponents.com/sqlplay3.gif https://delphihtmlcomponents.com/SQLLibrary.pdf

#SOLVED (SEE #SOLUTION HASHTAG ON COMMENTS)

#SOLVED (SEE #SOLUTION HASHTAG ON COMMENTS) Hello everyone! Someone could tell me why if my IDE dll expert have any of the PNG Components, i receive the message "Invalid graphic format" if I try to use some of these components at any other project? A better explanation: I've created an IDE expert (dll) to do some cool stuff. On the dialogs of this expert I used some PNGComponents (TPngBitBtn, TPngSpeedButton) to improve my interface with nice buttons with alpha blended PNG. This expert works good and I guess it is correctly installed. With my expert installed, I simply start a new project (new vcl forms application) and drop a TPngBitBtn to start. After that, I try to add the png image on it and, after confirm the image (Picture Editor) the error Invalid graphic format is shown. If I remove from my dll expert the forms with PNG components, reinstall the expert and do the same from the previous paragraph. The error do not occurs. Someone can help Me?

Eric Grange your website https://beginend.net is vulnerable to XSS attacks. You need to escape the strings that you pull from 3rd parties. I tried contacting in private but I gave up trying to find some way to contact him so I'm posting this here.

Image
Eric Grange your website https://beginend.net is vulnerable to XSS attacks. You need to escape the strings that you pull from 3rd parties. I tried contacting in private but I gave up trying to find some way to contact him so I'm posting this here.

Date/Time, timezones and TDateTime on steroids

Date/Time, timezones and TDateTime on steroids http://c4d.asuscomm.com/wordpress/2018/05/25/kbmmw-features-3-datetime/

I just pre-ordered this: https://www.packtpub.com/application-development/delphi-gui-programming-firemonkey?fo_c=2206&fo_k=e2d05ccd17dae3416943392fdfb14fc8&fo_s=criteoeu&utm_source=criteo&utm_medium=cpc&utm_campaign=lowerfunnel

I just pre-ordered this: https://www.packtpub.com/application-development/delphi-gui-programming-firemonkey?fo_c=2206&fo_k=e2d05ccd17dae3416943392fdfb14fc8&fo_s=criteoeu&utm_source=criteo&utm_medium=cpc&utm_campaign=lowerfunnel https://www.packtpub.com/application-development/delphi-gui-programming-firemonkey?fo_c=2206&fo_k=e2d05ccd17dae3416943392fdfb14fc8&fo_s=criteoeu&utm_source=criteo&utm_medium=cpc&utm_campaign=lowerfunnel

I have a little problem with FireDAC and the TStringField and TWideStringField design time generation.

I have a little problem with FireDAC and the TStringField and TWideStringField design time generation. I have a TFDQuery which include a column like this... CASE WHEN EXISTS(SELECT 1 FROM CONFIGURATIONS COM WHERE COM.CD_PARENT = ART.CD_ITEM) THEN 'Y' ELSE 'N' END HAS_CONFIGURATION , The query works well in MS-SQL and in FireBird. The problem is that MS-SQL considers that the TField is TWideStringField , but Firebird considers that is TStringField . Has anyone solved this? I need that in both cases was of the same resulting type, because the application shall work with both databases. I've thought in make SQL TypeCasting of the value, but I can't find a common instruction for both databases. And if it's possible for other ones too.

MMX gets a new setup supporting different admin and non-admin scenarios:

MMX gets a new setup supporting different admin and non-admin scenarios: https://www.mmx-delphi.de/2018/05/25/mmx-gets-a-new-setup/ https://www.mmx-delphi.de/2018/05/25/mmx-gets-a-new-setup/

HI all

HI all needing some help I want to run a program at a user selected time (hour/minute) what I am currently doing is loading that list of times into a listbox then going through that list and checking if that time string matches the current time (and exit that loop if it does) but there must be a better way maybe using stringlist or loading the whole list into a string and using pos ?

The ORM is evolving...

The ORM is evolving... http://c4d.asuscomm.com/wordpress/2018/05/24/rest-easy-with-kbmmw-13-database-5/

MMX compile times (in seconds) for different Delphi versions.

Image
MMX compile times (in seconds) for different Delphi versions.

Update to MultiBuilder is available. Filtering is now supported. DCC filter knows how to optionally fail if compilation produced hints and/or warnings.

Update to MultiBuilder is available. Filtering is now supported. DCC filter knows how to optionally fail if compilation produced hints and/or warnings. Syntax for configuration files has changed in parts, so make sure you re-read the documentation ( http://github.com/gabr42/MultiBuilder/ ). There's also a release - https://github.com/gabr42/MultiBuilder/releases/tag/release-0.1

Hello

Hello, Do you have an application written in an older version of Delphi? We can help bring your application up to date. Email/Skype to find out more. Email: john@thecattechnologies.com Skype: johnolson.cattechno Thanks.

Old Delphi apps with DBE raises errors on heterogeneous Windows nets, when server runs on W10 with 1803 upgrade

Old Delphi apps with DBE raises errors on heterogeneous Windows nets, when server runs on W10 with 1803 upgrade With the lastest Windows 10 1803 Spring Creators upgrade, the old apps running with old BDE over a net with differents Windows versions, are crashing and returning the error "No more files". This is due the changes intoduced in the last W10 upgrade (1803), deactivating samba old versions (1.0), deleting the group "Homegroup", and changing some sharing policies. There are some solutions: - Move apps to non-bde databases.... Well let's talk of other things... - Upgrade all windows 10 to 1803 (faster, easier and cheaper) - Activate Samba 1.0 compatibility and put the executable and shared data in separate directories (in server side) trying more solutions...

http://chapmanworld.com/2018/05/24/a-new-mutlti-threading-library-for-delphi-darkthreading via https://twitter.com/CraigChapm53280/status/999420368086450177

http://chapmanworld.com/2018/05/24/a-new-mutlti-threading-library-for-delphi-darkthreading via https://twitter.com/CraigChapm53280/status/999420368086450177 Especially for gaming development: A new mutlti-threading library for Delphi. (darkThreading) http://chapmanworld.com/2018/05/24/a-new-mutlti-threading-library-for-delphi-darkthreading

How to get DLL path in BPL??

How to get DLL path in BPL?? abc.DLL are build with package1.bpl. How to get the path of abc.DLL in package1.bpl?

Thread.Destroy deadlocks in finalization of COM+ dll's

Thread.Destroy deadlocks in finalization of COM+ dll's This serious bug still exists in Delphi 10.2 after 12 years being reported! http://qc.embarcadero.com/wc/qcmain.aspx?d=29843 http://qc.embarcadero.com/wc/qcmain.aspx?d=29843

I wrote a dll with MS Visual Studio 2012 and, from my Delphi application (written with Tokyo 10.2.2) I link it dynamically by LoadLibrary and GetProcAddress.

I wrote a dll with MS Visual Studio 2012 and, from my Delphi application (written with Tokyo 10.2.2) I link it dynamically by LoadLibrary and GetProcAddress. The dll is a "wrapper/bridge" from a closed source .lib and my Delphi app. When application start-up call some exported function inside the .dll and sometimes I get the EInvalidOp exception. "Sometimes" means... 1 every 10 runs, but also 1 every 800 runs. To test it I wrote another program that run and close my Delphi app continuasly. By Madexcept I saw where the code that raise exception and I tried to catch by try..except statement in Delphi and also try..catch on dll side but without effect, I get always the same exception. I read on EMB docs that "EInvalidOp is raised when the CPU encounters an undefined instruction, invalid operation, or floating-point stack overflow." ...and I also read that the cause (may be) a different FPU? That's could be the right way? (I have not tried this yet) Set80

An assignment of a record variable on a non-by-reference type should give a warning. Don't you think?

An assignment of a record variable on a non-by-reference type should give a warning. Don't you think? RWithPointers = record Name: string; Plugin: TSomeElaborateClass; class procedure Clean(aInstance: RWithPointers); //class procedure Clean(var aInstance: RWithPointers); static; end; Will not work. But compiles w/o warnings. Need a 'var' parameter: class procedure Clean(var aInstance: RWithPointers); Body: class procedure RWithPointers.Clean(aInstance: RWithPointers); begin // Assigments of members on local variable (going out of scope)... Hey compiler! aInstance.Name := ''; aInstance.Plugin := nil; end; Just asking. Bit me again. Stupid, i know.

Hi all

Hi all, Can we truly assert that an array returned from a function is always a new true copy and that this is guaranteed to not change in between compiler versions?? Also, is this stated any where in the documentation?? Thanks.

The FMX code below was copied and pasted from a source long ago.

The FMX code below was copied and pasted from a source long ago. Compiled with earlier versions of Delphi, it is working fine in the field. However, if compiled and run with Delphi 10.2, Update 2, CFStr after the first line is nil, causing a crash on the CFStringGetLength call. How can one reliably read the current version of an app on OSX (Sierra, 10.12.4) function GetVersionFromExe: String; var CFStr: CFStringRef; Range: CFRange; begin CFStr := CFBundleGetValueForInfoDictionaryKey(CFBundleGetMainBundle, kCFBundleVersionKey); Range.location := 0; Range.length := CFStringGetLength(CFStr); SetLength(Result, Range.length); CFStringGetCharacters(CFStr, Range, PChar(Result)); end;

Delphi Berlin.

Delphi Berlin. Map in a browser, using examples found around the web. What I am seeking to do is, when a marker is clicked, I want to filter that back to the FMX form. Has anyone done anything like this? Suggestions? Ideas? I have thought about using EvaluateJavascript but it has no way to return anything so... I am not sure what I should be doing.
Does anyone happen to have Good(ish) password strength calculation algorithm to share. No need for Über good (With common words) but something to give user some feedback is the password good or not and possibly block the weakest ones.

We have a client application (a testing tool for a Datasnap rest server), that uses TRestClient, TRestRequest, and TRestReponse components.

We have a client application (a testing tool for a Datasnap rest server), that uses TRestClient, TRestRequest, and TRestReponse components. The testing tool works fine on my machine and the person's machine that wrote it. But it fails on our QA team machines. Our QA team does not have Admin rights on their machines, but we as developers do. Do you know if there are any properties that would allow it to work? Since it works on our machine, we can't exactly tell which call is failing. On the QA machines, the Embarcadero Rest Debugger works with the same call, so I know that using the Rest classes should work, unless Embarcadero didn't use their own tools.

I have a few OpenTools API things which I just can't seem to figure out, so I'm hoping there will be an expert in here who could help me.

I have a few OpenTools API things which I just can't seem to figure out, so I'm hoping there will be an expert in here who could help me. If created a few TCustomModule descendants and registered them correctly within the Delphi IDE. Everything is working fine on that end. Now I was wondering how I could use the OpenTools API to get one of my TCustomModule descendants in the current project. I have looped over all IOTAModule interfaces in my project, used OpenModule to get the corresponding IOTAModule, even used that to get the IOTAFormEditor and tried using the IOTAFormEditor.GetRootComponent approach. Sadly ... I can't seem to find any of my TCustomModules like that. What I am trying to do is find all Form instances which descend from my very own TCustomForm variant. Is that actually possible at all ?
Did I miss something? Are the embarcadero Delphi forums down forever?

Originally shared by Uwe Raabe

Originally shared by Uwe Raabe A New Home for ModelMaker Code Explorer™ https://www.uweraabe.de/Blog/2018/05/18/a-new-home-for-modelmaker-code-explorer/ https://www.uweraabe.de/Blog/2018/05/18/a-new-home-for-modelmaker-code-explorer/

A second example of memory usage/leaks on linux using TTask (but only running one at a time) inside a loop will show...

A second example of memory usage/leaks on linux using TTask (but only running one at a time) inside a loop will show memory usage increasing depending on how big you make the for loop. In this example is used 21.9Mib on Linux and this never seems to go away. On Windows memory usage stays the same. If you make the loop bigger it just keeps growing and growing. program TTaskMemLeak; {$APPTYPE CONSOLE} {$R *.res} uses System.SysUtils, System.Classes, System.Threading in 'C:\Program Files (x86)\Embarcadero\Studio\19.0\source\rtl\common\System.Threading.pas'; procedure newTask( value: integer ); var myTask: ITask; begin myTask := TTask.run( procedure() begin //sleep(10); end ); myTask.wait(20000); myTask := nil; end; var i: integer; begin try writeLn('Loop starting' ); for i := 0 to 100000 do begin newTask( i ); if (i = 10000) then begin writeLn('Loop done' ); sleep(5000);

A second example of memory usage/leaks on linux using TTask (but only running one at a time) inside a loop will show memory usage increasing depending on how big you make the for loop. In this example is used 21.9Mib on Linux and this never seems to go away. On Windows memory usage stays the same. If you make the loop bigger it just keeps growing and growing.

A second example of memory usage/leaks on linux using TTask (but only running one at a time) inside a loop will show memory usage increasing depending on how big you make the for loop. In this example is used 21.9Mib on Linux and this never seems to go away. On Windows memory usage stays the same. If you make the loop bigger it just keeps growing and growing. program TTaskMemLeak; {$APPTYPE CONSOLE} {$R *.res} uses System.SysUtils, System.Classes, System.Threading in 'C:\Program Files (x86)\Embarcadero\Studio\19.0\source\rtl\common\System.Threading.pas'; procedure newTask( value: integer ); var myTask: ITask; begin myTask := TTask.run( procedure() begin //sleep(10); end ); myTask.wait(20000); myTask := nil; end; var i: integer; begin try writeLn('Loop starting' ); for i := 0 to 100000 do begin newTask( i ); if (i = 10000) then begin writeLn('Loop done' ); sleep(5000);

I have some questions about Linux & ARC and I'm hoping some experts can share their expertise because I'm not...

I have some questions about Linux & ARC and I'm hoping some experts can share their expertise because I'm not understand the results I'm seeing. For the first example, I have a simple console application making use of Devart's Postgres database controls... This code just chews up more and more memory and makes more and more connections to the postgres server until the server cannot accept anymore connections. This appears to be because 'free' no longer actually works. I appreciate that .disposeOf works in this code, but I'm trying to understand if the vendor really needs to go and replace every 'free' with disposeOf (and in theory we do as well) and why this particular code which to me seems simple doesn't ever kill any of the objects created. I appreciate databases would normally be used in thread pools, I pulled this out of a thread pool to try and debug the underlying object due to the memory leak in the thread pool. program TPgMemLeak2; {

I have some questions about Linux & ARC and I'm hoping some experts can share their expertise because I'm not understand the results I'm seeing.

I have some questions about Linux & ARC and I'm hoping some experts can share their expertise because I'm not understand the results I'm seeing. For the first example, I have a simple console application making use of Devart's Postgres database controls... This code just chews up more and more memory and makes more and more connections to the postgres server until the server cannot accept anymore connections. This appears to be because 'free' no longer actually works. I appreciate that .disposeOf works in this code, but I'm trying to understand if the vendor really needs to go and replace every 'free' with disposeOf (and in theory we do as well) and why this particular code which to me seems simple doesn't ever kill any of the objects created. I appreciate databases would normally be used in thread pools, I pulled this out of a thread pool to try and debug the underlying object due to the memory leak in the thread pool. program TPgMemLeak2; {

Anybody knows how to convert this to Delphi - https://www.zabkat.com/blog/winrt-win32-store-registration.htm? It's a c++ program, which calls Windows store API to check if program is active/trial, etc. (https://docs.microsoft.com/en-us/uwp/api/windows.services.store.storeapplicense). I was able to compile it in Visual C++, but don't have a clue how to convert that code in Delphi.

Anybody knows how to convert this to Delphi - https://www.zabkat.com/blog/winrt-win32-store-registration.htm ? It's a c++ program, which calls Windows store API to check if program is active/trial, etc. ( https://docs.microsoft.com/en-us/uwp/api/windows.services.store.storeapplicense ). I was able to compile it in Visual C++, but don't have a clue how to convert that code in Delphi. https://www.zabkat.com/blog/winrt-win32-store-registration.htm

Fellow Delphi Developers!

Image
Fellow Delphi Developers! After several requests from our customers, we added 2 new VCL Styles with a design, like Office 2010: - Office Silver: https://www.delphistyles.com/vcl/OfficeSilver.html - Office Black: https://www.delphistyles.com/vcl/OfficeBlack.html

There is actually one new feature in MMX.

There is actually one new feature in MMX. https://www.uweraabe.de/Blog/2018/05/21/the-only-new-feature-in-mmx/ https://www.uweraabe.de/Blog/2018/05/21/the-only-new-feature-in-mmx/

PORTUGUÊS - DETECTADO

PORTUGUÊS - DETECTADO INGLÊS Hello everyone, everything good? I'm developing an app for my company, this is almost all set. I'm working on the last part, the notifications. I adopted the firebase, android worked 100% in 15 minutes everything was working already. But I'm getting caught in IOS, I've read a lot of articles, I've done a lot of tutorials but I was not successful, the app generates the token, but when I test through the send firebase, it gives the error: Invalid registry token see the token format . Someone has already experienced this problem. I use tokyo with the following code: {$IFDEF ANDROID} PushService := TPushServiceManager.Instance.GetServiceByName(TPushService.TServiceNames.GCM); PushService.AppProps[TPushService.TAppPropNames.GCMAppID] := CODIGO_APP_GCM; {$ENDIF} {$IFDEF IOS} PushService := TPushServiceManager.Instance.GetServiceByName(TPushService.TServiceNames.APS); {$ENDIF} ServiceConnection := TPush

I have some apps in the play store and I have seen that google forces API level 26 from August 2018!

I have some apps in the play store and I have seen that google forces API level 26 from August 2018! And from November updates too. Did embarcadero release an update/fix for this? So far there is ( http://delphiworlds.com/2018/05/targeting-android-8-and-higher/ ) by David Nottage which is a good article but it has a problem in the status bar! I really appreciate their hard work but I need my apps to have a properly working status bar or the customers will be unhappy. http://delphiworlds.com/2018/05/targeting-android-8-and-higher/

I have some apps in the play store and I have seen that google forces API level 26 from August 2018! And from November updates too. Did embarcadero release an update/fix for this?

I have some apps in the play store and I have seen that google forces API level 26 from August 2018! And from November updates too. Did embarcadero release an update/fix for this? So far there is ( http://delphiworlds.com/2018/05/targeting-android-8-and-higher/ ) by David Nottage which is a good article but it has a problem in the status bar! I really appreciate their hard work but I need my apps to have a properly working status bar or the customers will be unhappy. http://delphiworlds.com/2018/05/targeting-android-8-and-higher/

Originally shared by Primož Gabrijelčič

Originally shared by Primož Gabrijelčič Parallel build/test systems made easy(er)

GDPR and the EU and statistics of users of your software:

GDPR and the EU and statistics of users of your software: it seems that just having analytical information about who downloads and users your software, if that person is in the EU, then that data about that person comes under the GDPR, and so must be protected this might then affect the components that gather user data in software (what part of the software the user clicked on etc), yes?

JVCL and FMX

JVCL and FMX I'm trying to convert an old VCL application, which i would convert to FMX. The main issue i have at this time is with TJvAppStorage and JvFormStorage. If i create the new FMX form, i'm able to drop some of the components, but a lot are missing in the tool-palette. For example TJvAppStorage and TJvFormStorage. I checked in the project options. The design package JVCL Core Components is included. This package contains the TJvAppStorage component, but its missing in the tool palette. Why? Any idea? Btw. i'm on Rad Studio 10.2 Update 3 and JVCL 3.50 Erwin

Is possible to make a Win32 FMX app works similar to a mobile application?

Is possible to make a Win32 FMX app works similar to a mobile application? When I click to show a new form (Form2.Show, ie.) it will of course open a new window, floating away the main (1st form). Using Parent don't works (Form2.Parent := Form1; ... ) I read this answer from Brian but was unable to figure out how to make it work, using the same example of the OP did not make the magic :), here: https://community.embarcadero.com/answers/q-best-practices-for-opening-closing-fmx-form https://community.embarcadero.com/answers/q-best-practices-for-opening-closing-fmx-form

Is possible to make a Win32 FMX app works similar to a mobile application? When I click to show a new form (Form2.Show, ie.) it will of course open a new window, floating away the main (1st form).

Is possible to make a Win32 FMX app works similar to a mobile application? When I click to show a new form (Form2.Show, ie.) it will of course open a new window, floating away the main (1st form). Using Parent don't works (Form2.Parent := Form1; ... ) I read this answer from Brian but was unable to figure out how to make it work, using the same example of the OP did not make the magic :), here: https://community.embarcadero.com/answers/q-best-practices-for-opening-closing-fmx-form https://community.embarcadero.com/answers/q-best-practices-for-opening-closing-fmx-form

Our latest blog article on how to use Apple’s Grand Central Dispatch and Android’s ScheduledThreadPoolExecutor service for Delphi timers

Our latest blog article on how to use Apple’s Grand Central Dispatch and Android’s ScheduledThreadPoolExecutor service for Delphi timers, https://blog.grijjy.com/2018/05/20/using-the-apples-grand-central-dispatch-and-androids-scheduledthreadpoolexecutor-for-delphi-timers/ https://blog.grijjy.com/2018/05/20/using-the-apples-grand-central-dispatch-and-androids-scheduledthreadpoolexecutor-for-delphi-timers/

I'm having a problem with Firemonkey XE8 on Windows 10, I'm wondering if someone can do a very quick test with XE8...

I'm having a problem with Firemonkey XE8 on Windows 10, I'm wondering if someone can do a very quick test with XE8 and/or the latest Tokyo release. 1. Create a new Firemonkey 2d blank application. 2. Place a TRectangle on the form and set DragMode to Automatic. 3. Open a Windows Explorer window. (to help with step 5) 4. Run the app and drag the rectangle outside of the form. The crash happens while dragging, before any drop occurs. (Edited to add: Drag over the desktop) 5. Observe if Windows Explorer (desktop shell) restarts. If it does the Windows Explorer window created in step 3 probably won't be recreated. More info: On my Windows 7 dev machine, the problem does not seem to happen. On my Windows 10 Surface, the windows explorer shell crashes and restarts, but it doesn't interrupt the drag operation.

I'm having a problem with Firemonkey XE8 on Windows 10, I'm wondering if someone can do a very quick test with XE8 and/or the latest Tokyo release.

I'm having a problem with Firemonkey XE8 on Windows 10, I'm wondering if someone can do a very quick test with XE8 and/or the latest Tokyo release. 1. Create a new Firemonkey 2d blank application. 2. Place a TRectangle on the form and set DragMode to Automatic. 3. Open a Windows Explorer window. (to help with step 5) 4. Run the app and drag the rectangle outside of the form. The crash happens while dragging, before any drop occurs. (Edited to add: Drag over the desktop) 5. Observe if Windows Explorer (desktop shell) restarts. If it does the Windows Explorer window created in step 3 probably won't be recreated. More info: On my Windows 7 dev machine, the problem does not seem to happen. On my Windows 10 Surface, the windows explorer shell crashes and restarts, but it doesn't interrupt the drag operation.

Delphi 10.2.3 Tokyo Demo Animation Button

Delphi 10.2.3 Tokyo Demo Animation Button https://www.youtube.com/watch?v=tvKbKinNE0I https://www.youtube.com/watch?v=tvKbKinNE0I

Today I've discovered something new. I am about to release an android/ios app on the store and I went on Project > Options > Packages: http://prntscr.com/jjvt3d

Today I've discovered something new. I am about to release an android/ios app on the store and I went on Project > Options > Packages: http://prntscr.com/jjvt3d I have removed some ticks next to some packages that are NOT needed in my app. From what I've understood they won't be linked in the *.so object file. My question is: does this impact startup time (app loads faster) and the final file size? I thought so but I'm not sure so I'm asking you if you've had experience with this! http://prntscr.com/jjvt3d
Has anyone had any contact with Blaise Thorne in the past couple of months? He's doing some contracting for us and was close to delivering an update and then stopped responding to emails in mid-March.

A New Home for ModelMaker Code Explorer™

A New Home for ModelMaker Code Explorer™ https://www.uweraabe.de/Blog/2018/05/18/a-new-home-for-modelmaker-code-explorer/ https://www.uweraabe.de/Blog/2018/05/18/a-new-home-for-modelmaker-code-explorer/

Real-time communications with WebSockets in TMS WEB Core applications

Real-time communications with WebSockets in TMS WEB Core applications https://www.tmssoftware.com/site/blog.asp?post=460 https://www.tmssoftware.com/site/blog.asp?post=460

What's the use of AlignAttribute?

What's the use of AlignAttribute? The documentation only says Internal use only. http://docwiki.embarcadero.com/Libraries/Tokyo/en/System.AlignAttribute http://docwiki.embarcadero.com/Libraries/Tokyo/en/System.AlignAttribute
How to disable the code editor's mouse wheel scrolling animation? After recovering from a system crash and re-installed Delphi, I noticed a phenomenon when scrolling the source code in the IDE through mouse wheeling - the scrolling has some ease-in animation. How to disable that? It's Delphi xe4 under windows 7, thanks.

Keep Your Project Files Clean With Project Magician

Keep Your Project Files Clean With Project Magician https://www.uweraabe.de/Blog/2018/05/17/keep-your-project-files-clean-with-project-magician/ https://www.uweraabe.de/Blog/2018/05/17/keep-your-project-files-clean-with-project-magician/
Does anyone have any feedback on the IP*Works HTTP Server and WebSocket Server components? I'm currently using Mormot, but I need to support HTTPS and WebSockets, and mormot only seems to recently support that and only on windows 10. I'm looking for a solution for Windows 7.

I asked this in the ADUG list, but didn't think to ask here ...

I asked this in the ADUG list, but didn't think to ask here ... CppCon 2015: Niall Douglas “Racing The File System" - https://www.youtube.com/watch?v=uhRWMGBjlO8 I'm interested in learning more around concurrency, but have not seen this information put forward before. It discusses the process of guaranteeing atomic, preferably fast, changes to files and the file system. It is from CppCon 2015, with almost no C++ in it, and surprisingly complimentary to Windows. I've only watched this one so far ... the same speaker has more recent videos. Does anyone know of other sources of information around this area - not necessarily in terms of Delphi - but that would be good too. Perhaps elements of Delphi protect from us some of this ... eg database engine designers have hopefully worked out this sort of thing. One piece of info near the beginning that I don't know that I've heard before - that deletion in windows is just a promise to remove the file/directory sometime &

Which crypto-libraries you use.

Which crypto-libraries you use. We don't need too much. Aes256, and possibly some hashes and HMAC if we would replace all code using that library. We have been using LockBox 3 and it's not too good and that well maintained. Any lib that receives some love and care, and would have clean and flexible API.

Loading a bitmap in FMX in Berlin: you'd think it's easy... you'd be wrong.

Loading a bitmap in FMX in Berlin: you'd think it's easy... you'd be wrong. This is my code: procedure TForm1.Button1Click(Sender: TObject); var Stream : TMemoryStream; begin Stream := TMemoryStream.Create; IdHTTP1.Get( ' https://commons.wikimedia.org/wiki/Category:Clickable_images#/media/File:Crux_and_neighboring_stars.jpeg ',Stream); Stream.Position := 0; Stream.SaveToFile( 'test.jpeg' ); ImageViewer1.Bitmap.LoadFromFile( 'test.jpeg' ); end; It says the bitmap can't be loaded. Anybody knows what I am missing? These are my included units: interface section: uses System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants, FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs, IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient, FMX.Controls.Presentation, FMX.StdCtrls, FMX.Objects, IdCoder, IdCoder3to4, IdCoderMIME, IdHTTP, FMX.Layouts, FMX.ExtCtrls, System.ImageList, FMX.ImgList; implementati

Did Tokyo Release 3 change anything with the FireDac Client/Server install? I have a Rad Studio Pro license with the Client/Server Add-On, but I can't find a way to get the latest installer to add the FireDac Client/Server files. In the past, I had to rerun the install in Modify mode. That does not seem to be an option the install only tries to uninstall. I'm using the web installer. I found the "Tools -> Manage Platforms" menu option, but did not see the Client/Server option.

Did Tokyo Release 3 change anything with the FireDac Client/Server install? I have a Rad Studio Pro license with the Client/Server Add-On, but I can't find a way to get the latest installer to add the FireDac Client/Server files. In the past, I had to rerun the install in Modify mode. That does not seem to be an option the install only tries to uninstall. I'm using the web installer. I found the "Tools -> Manage Platforms" menu option, but did not see the Client/Server option. I did add my Client/Server serial number to the license manager, but still can't find the option to install anywhere.

Hi all

Hi all, Is there any plugin or tool (internally in the Delphi IDE) that support adding license headers on creation of new src file??

i've found a very serious bug with galaxy s8/s8+ and Oreo.

i've found a very serious bug with galaxy s8/s8+ and Oreo. https://quality.embarcadero.com/browse/RSP-20566 a delphi app with tlocationsensor crash all other phone sensors ( lux, gyro etc) until complete phone reboot. anyone found something similar issue with oreo? https://quality.embarcadero.com/browse/RSP-20566

Nice day to start some Delphi work for a client when the first two screens in Delphi Berlin are the ones below.

Image
Nice day to start some Delphi work for a client when the first two screens in Delphi Berlin are the ones below. Reported automagically as http://qc.embarcadero.com/wc/qcmain.aspx?d=143696 and QC while up, it has been "modified" to fail showing the actual bug report because someone deleted "d:\apps\templates\cg\page.htm" as seen in the archived https://archive.is/ojoI7

Need some helping getting the stack trace from an exception on OS X.

Need some helping getting the stack trace from an exception on OS X. I have tried using the code from update 3 from here https://stackoverflow.com/questions/23039510/delphi-obtain-full-stack-trace-on-osx . The values backtrace2 return don't seem to be correct or I am interpreting them incorrectly. As I understand those values should relate to addresses in the .map file generated? Alternatively are there any third part libraries similar to MadExcept for OS X? https://stackoverflow.com/questions/23039510/delphi-obtain-full-stack-trace-on-osx

I have to add a REST service to an android app I've created so I've opened the project and then I did File > New > Other > Data Module. Inside the data module there are the REST components so I separate UI logic from code logic.

I have to add a REST service to an android app I've created so I've opened the project and then I did File > New > Other > Data Module. Inside the data module there are the REST components so I separate UI logic from code logic. In Project > Options the data module IS in the Auto-create form part. Inside the TForm1.FormCreate procedure I have written: //the data module is called DataModuleF1 //declared as TDataModuleF1 = class(TDataModule) if not Assigned(DataModuleF1) then DataModuleF1 := TDataModuleF1.Create(Application); DataModuleF1.DoSomething; If the data module is in Auto-create, why I have to write the if cond? I mean, if I removed the if statement I would get an error. Is the creation with the constructor needed even if it's auto created in the project properties? Of course withoud the call to "DataModuleF1.DoSomething;" I won't have to use the if. Thank you!

Unfortunately I have to disable comments on my blog for now.

Unfortunately I have to disable comments on my blog for now. https://www.uweraabe.de/Blog/2018/05/15/comments-disabled-until-further-notice/ https://www.uweraabe.de/Blog/2018/05/15/comments-disabled-until-further-notice/

Hi

Hi Does anyone have experience with Google wanting API Level 26 for all APKs? > Warnings > > Your app currently targets API level 14 and must target at least API > level 26 to ensure it is built on the latest APIs optimized for > security and performance. > > From August 2018, new apps must target at least Android 8.0 (API level > 26). From November 2018, app updates must target Android 8.0 (API > level 26). Regards

Leverage Clang from Delphi to create tools to interface with C, C++ and Objective-C code.

Leverage Clang from Delphi to create tools to interface with C, C++ and Objective-C code. https://blog.grijjy.com/2018/05/15/libclang-for-delphi/

OTA experts, please help!

OTA experts, please help! Is there a way to hook into 'buffer saved' event in a Delphi expert? Specifically, I would like to know when a contents of some editor tab were save to disk (and into which file).

I am trying to use XMLSerializer from Dragonsoft. It requires dsVer.inc.

I am trying to use XMLSerializer from Dragonsoft. It requires dsVer.inc. Can someone tell me where to find it?

I got a delicate problem with an USB device (and stackoverflow is not an option here...) and hope to get help here eventually.

I got a delicate problem with an USB device (and stackoverflow is not an option here...) and hope to get help here eventually. We have a device that emulates an USB Massstorage device. That device registers the drive as "read only" but with a special USB command we can disable the read only flag so one can write to the drive. That actually works well but.... I cannot convince Windows to properly update the flag. I use DeviceIOControl on a handle that belongs to the registered drive to check the "IsWritable Flag" by issuing IOCTL_DISK_IS_WRITABLE and windows reports that the disk is actually writable. The thing is that the first attempt on CreateFile (createing a new file on that drive) atctually fails but a second one immediatly after the first one works! Anyone has an idea on how I can tell windows to update that info before I create the file. I already tried the following IO codes: IOCTL_DISK_UPDATE_PROPERTIES IOCTL_DISK_VERIFY IOCTL_STORAGE_CHECK_VERIFY2 I also t

I have a rectangle, inside of that a TImage with wrap mode set to Fit.

I have a rectangle, inside of that a TImage with wrap mode set to Fit. Bellow the rectangle I have a splitter. Now I need to avoid the image get shrink to less the rectangle width. When the splitter is moved above it will shrink the rect size, the image gets smaller and proportional, thats good, but I need to stop before visual size of the image gets smaller than the rect width. Problem is that I cannot get the "real" image size comparing to the rectangle.

I have a rectangle, inside of that a TImage with wrap mode set to Fit. Bellow the rectangle I have a splitter. Now I need to avoid the image get shrink to less the rectangle width.

I have a rectangle, inside of that a TImage with wrap mode set to Fit. Bellow the rectangle I have a splitter. Now I need to avoid the image get shrink to less the rectangle width. When the splitter is moved above it will shrink the rect size, the image gets smaller and proportional, thats good, but I need to stop before visual size of the image gets smaller than the rect width. Problem is that I cannot get the "real" image size comparing to the rectangle.

Originally shared by Primož Gabrijelčič

Originally shared by Primož Gabrijelčič Delphi Day is coming into town and I'll be there!

Hello everyone.

Hello everyone. I am writing a BLE application in Delphi which communicates with my embedded prototypes. The app works quite well on iOS devices, but I have some very strange issues: 1. Writecharacteristic takes about 5 seconds to execute. I found this reference on Embarcadero's forum: https://community.embarcadero.com/answers/ble-unexplained-delay-while-writecharacteristic-xe8 I think the problem has to do with Android's WRITE_TYPE_NO_RESPONSE VS WRITE_TYPE_DEFAULT. Has anyone had success in getting WriteCharacteristics to execute faster on Android? 2. If I connect to a device, download it(about 10,000 bytes), disconnect, connect to another device and attempt to download, the data rate goes down significantly. If I exit the app and restart it, the faster data rate returns. I don't see these issues on my iOS build. Does anyone have any suggestions on how to address these problems? Thanks, Marty https://community.embarcadero.com/answers/ble-unexplained-delay-while-w

windows 10 store support: I created a couple of programs when Delphi first added support, and got them into the store OK,but Microsoft has since removed them because they have references to other software (my 'normal' software)

windows 10 store support: I created a couple of programs when Delphi first added support, and got them into the store OK,but Microsoft has since removed them because they have references to other software (my 'normal' software) i.e that software referenced, is not in the store anyone else run into that problem?
Is it possible in Delphi to copy the platform SDKs from one computer to another without the need to setup and use PAServer?

Does anyone know if it's possible to symbolicate a Delphi iOS crash log?

Does anyone know if it's possible to symbolicate a Delphi iOS crash log? I've read lots of articles about this (such as https://possiblemobile.com/2015/03/symbolicating-your-ios-crash-reports/ ), and turned on the Debugging options in the Compiler and Linker settings (Local symbols etc) but when symbolicating the crash logs it does so for everything except my app call stack which remains as addresses and offsets. Before I waste any more time on this, can anyone confirm whether Delphi's .dsym files are actually compatible with Apple's desymbolication tools? Thanks!

Having partial classes in Delphi would be nice.

Having partial classes in Delphi would be nice. Some of my units are getting too big to my liking even though they contain only one class and a handful of methods. I see no way to refactor these classes into smaller ones because they manipulate complex XML documents and nothing re-usable would come out it. I currently use {$region} code folding a lot but still it's unsatisfactory. So I find myself longing for the possibility to put different methods of a class into different files. There is currently no elegant way of doing this that I'm aware of: Delphi has no partial classes and using "include" files takes the included code out of its context which interferes with code completion etc.

I would like to write an app that reads the information of an incoming call on iOS as well as Android. Can anyone please give me some pointers and perhaps links of useful information as to how to go about writing such an app please.

I would like to write an app that reads the information of an incoming call on iOS as well as Android. Can anyone please give me some pointers and perhaps links of useful information as to how to go about writing such an app please. I have no idea even where to start.

Hi.

Hi. I have to build the next scenario: - ClientApp build with Intraweb - DataSnap REST Server with Firedac, let's call it WS-BL (Business Logic) - DataSnap REST Server with Firedac, let's call it WS-DB (access to Data Base) 1.- ClientApp has to consume the WS-BL 2.- WS-BL will have the validation of the data and consume the WS-DB 3.- WS-DB will have all the SQL statement For all I had read, with Firedac in DataSnap REST Server I get the serialization of the Data in JSON format. The ClientApp deserialize the Data using the component TFDMemtable. This is the "standard" 3 tier applications. Now in my scenario, I need to consume the WS-DB from WS-BL (which add one more level to the "standard" 3 tier applications), with this new level it's mean that the ClientApp doesn't know about WS-DB, the ClientApp only knows about WS-BL. So, all the methods from the WS-DB returning the data, inserting, updating, deleting and all the other stuffs with the database th

David Millington, Marco Cantù in near future please focus on IDE stability and UX.

David Millington, Marco Cantù in near future please focus on IDE stability and UX. Who support this idea?

Playing with SQL #3

Playing with SQL #3 Automatic query creation Known tables highlighting Current subquery highlighting Tables/aliases hints https://delphihtmlcomponents.com/sqlplay3.gif

I've inherited a project and the developer uses lots of interfaces (All good here!).

I've inherited a project and the developer uses lots of interfaces (All good here!). Then when they develop the interfaced classes, the methods from the interface are added in the private section of the class instead of the public. All works good because of the interface. I was wondering if this structure is a problem.

Will we ever see Delphi IDE working decently?

Will we ever see Delphi IDE working decently? In Delphi Berlin (latest update) I get tons of "Internal Error" while building my projects forcing me to close and open Delphi constantly. In Delphi Tokyo (latest update) I get "Embarcadero Debugger Kernel stopped working" errors followed by a "disconnected session" error while debugging my projects, again forcing me to closing and opening Delphi constantly. Also Code Insight hangs the IDE constantly too, while it works flawless in Berlin. It's almost impossible to work like this. Anyone else here with this kind of issues? Any solution for this? Thanks!

Hi Android developers

Hi Android developers, now we're on Tokyo 10.2.3 and trying to compile and run / debug our apps for android industrial devices. One big change is the "threading" in 10.2.3. In some cases we need blocking (sync) MessageDialogs, and in past with Berlin we had a Anonymousethread with messagedlg, which sets a boolean value to true so our "while dialogclosed=false do application.processmessages" was "waiting" till users clicks a button or closes the dialog. Now with 10.2.3 this is different and not working any more ... Does someone has/had same problems and a solution for this?

We are having D5 database application which we recently moved over to D2007.

We are having D5 database application which we recently moved over to D2007. We were having a number of very strange issues in production with D5 version, AVs of all kinds, which never happen during development and testing - we hoped that moving to D2007 will eliminate at least some of them. But it turns out it has only added new ones. The application runs in either WIndows Server 2008 or 2012 terminal session, or Windows 8, or Windows 10. Is it possible that these issues are due to 32-bit compiler while in fact we are running the app in x64 OSes? Any suggestions on how to make the app more stable? Thank you.

We are having D5 database application which we recently moved over to D2007. We were having a number of very strange issues in production with D5 version, AVs of all kinds, which never happen during development and testing - we hoped that moving to D2007 will eliminate at least some of them. But it turns out it has only added new ones. The application runs in either WIndows Server 2008 or 2012 terminal session, or Windows 8, or Windows 10.

We are having D5 database application which we recently moved over to D2007. We were having a number of very strange issues in production with D5 version, AVs of all kinds, which never happen during development and testing - we hoped that moving to D2007 will eliminate at least some of them. But it turns out it has only added new ones. The application runs in either WIndows Server 2008 or 2012 terminal session, or Windows 8, or Windows 10. Is it possible that these issues are due to 32-bit compiler while in fact we are running the app in x64 OSes? Any suggestions on how to make the app more stable? Thank you.

What's the piece of Delphi knowledge you find yourself looking up over and over again?

What's the piece of Delphi knowledge you find yourself looking up over and over again? For me format strings is probably the thing that most stubbornly refuses to stay put in my brain. http://docwiki.embarcadero.com/Libraries/Tokyo/en/System.SysUtils.Format

This has the potential to bring all of Fluent, XAML & UWP to Delphi VCL. #MSBuild

Image
This has the potential to bring all of Fluent, XAML & UWP to Delphi VCL. #MSBuild

MSIX is the evolution of APPX. #MSBuild

Image
MSIX is the evolution of APPX. #MSBuild

This is old.

This is old.. My app uses a SQLite database. I need to update the structure and with new data within. If the user is already has the application the new database if not used. Here is the point: if Android is using TPath.GetDocumentsPath do store the file, where is it exactly? Does the OS makes a copy to another folder, so after an upgrade it will try to preserve the original data? Since old version of Delphi keep the Overwrite for file at Deployment option won't work. I could make a script to alter data and insert the new information, but it will cost time and will require more in-code work. How can I simply delete the any persistent file there? Thank you!

This is old.. My app uses a SQLite database. I need to update the structure and with new data within. If the user is already has the application the new database if not used.

This is old.. My app uses a SQLite database. I need to update the structure and with new data within. If the user is already has the application the new database if not used. Here is the point: if Android is using TPath.GetDocumentsPath do store the file, where is it exactly? Does the OS makes a copy to another folder, so after an upgrade it will try to preserve the original data? Since old version of Delphi keep the Overwrite for file at Deployment option won't work. I could make a script to alter data and insert the new information, but it will cost time and will require more in-code work. How can I simply delete the any persistent file there? Thank you!

I am using a DBGrid to display data on a form. I use a Filter to get the records for the given foreign table record (1 to many).

I am using a DBGrid to display data on a form. I use a Filter to get the records for the given foreign table record (1 to many). The problem is that when I change the Master table's record, the grid continues to displsy the previos record.' How can I get it to display the correct daa? procedure TdmVideos.SetEpisodesFilter(const Id: integer); begin qryEpisodes.Active := False; qryEpisodes.Filtered := False; qryEpisodes.Filter := 'VIDEO_ID = ' + IntToStr(Id); qryEpisodes.Filtered := True; qryEpisodes.Active := true end;

I just realized that Ctrl+Space gives the following hint for the Include command in Delphi 2007:

I just realized that Ctrl+Space gives the following hint for the Include command in Delphi 2007: Include(var S: ; How exactly does this work for an event property and a method? I am pretty sure that Delphi 2007 does not support multicast events. Or is this just a bug in the IDE?

Help needed with Office 2016 + OleContainer

Help needed with Office 2016 + OleContainer (Delphi XE6 + Windows 7 64bit + Program compiled in 32bit, Office is also 32bit) The example file: "mydoc.docx". i can not open a Word document inside a OleContainer! Example #1: Does´nt work! CreateInfo.ShowAsIcon := False; CreateInfo.ClassID := ProgIdToClassId('WordDocument'); CreateInfo.CreateType := ctFromFile; CreateInfo.FileName := FOpenDocFilename; CreateInfo.IconMetaPict := 0; Container.CreateObjectFromInfo(CreateInfo); // here is all ok! Container.DoVerb(ovShow); // here open Word outside from the container and say "File xxx not found / Permission denied.......". Example #2: Same problem!!! Container.CreateObjectFromFile(FOpenDocFilename, False); My example works with Office 2010, but with office 2016 a have a lot of issues! Can somebody help me?

A small teaser for my skunkworks project.

A small teaser for my skunkworks project. https://www.youtube.com/watch?v=LAGx9BoPj9E

I'm having some trouble with high DPI support and popup menus (using Delphi 10.2.3). Everything scales correctly except for the popup menus which still display as if on 96ppi so they appear smaller than the other items. This happens on TEdit controls with the default context menu (copy/paste etc). I'm having similar trouble with a custom popup menu that replicates the Windows Explorer right click menu you'd get when right clicking on a file.

I'm having some trouble with high DPI support and popup menus (using Delphi 10.2.3). Everything scales correctly except for the popup menus which still display as if on 96ppi so they appear smaller than the other items. This happens on TEdit controls with the default context menu (copy/paste etc). I'm having similar trouble with a custom popup menu that replicates the Windows Explorer right click menu you'd get when right clicking on a file. Is there something I should be doing to make the context menu's appear at the correct scale? Thanks!

Blog post: DAPUG and Delphi Code Camp 2018 followup and pictures

Blog post: DAPUG and Delphi Code Camp 2018 followup and pictures https://blog.andreamagni.eu/2018/05/dapug-and-delphi-code-camp-followup-and-pictures/ https://blog.andreamagni.eu/2018/05/dapug-and-delphi-code-camp-followup-and-pictures/

Absolutely in love with nodejs, the back end development is amazing. Learnt how to do asynchronous calls with mongoDB and optimise the performance of the endpoints.

Image
Absolutely in love with nodejs, the back end development is amazing. Learnt how to do asynchronous calls with mongoDB and optimise the performance of the endpoints. It works perfectly well with the built in delphi HTTP net client. I am currently learning Docker so I can build this back end into multiple micro-services for a large scale app. :)

Any news about the RadStudio roadmap?

Any news about the RadStudio roadmap?

Do you know why embarcadero news sever is down?

Do you know why embarcadero news sever is down? I also tried to check embarcadero Delphi forums here https://forums.embarcadero.com/ but it does n't work either.

[llvm-dev] I am leaving llvm

http://lists.llvm.org/pipermail/llvm-dev/2018-May/122922.html David Millington & Marco Cantu@embarcadero - approach him and if he is for hire - go to your boss and tell him they should hire him. http://lists.llvm.org/pipermail/llvm-dev/2018-May/122922.html

Hi all

Hi all, if I have an integer num set to 0, then "not num" should return 1, right? Delphi returns -1 Is this correct?

I try to use Eric Grange SamplingProfiler, but I get AV:

I try to use Eric Grange SamplingProfiler, but I get AV: http://snap.ashampoo.com/uploads/2018-05-04/FRam3PDWEo1vqZ2aa39eglnUd3WQOgauXABTqfLvTGLEBhfBdEgJPt9SPwE95ETv.png What am I doing wrong?

I think I may have mentioned that I hate Variants:

I think I may have mentioned that I hate Variants: What is this code supposed to do, if v1 and v2 are variant arrays with the same content? if v1 = v2 then WriteLn('equal') else WriteLn('not equal'); Of course, it will output ... ? Nothing, it will raise an Invalid Variant Operation error instead because the = operator apparently cannot handle Variant arrays (at least in Delphi 2007). This is a bug that apparently has been in TDbf.Lookup since forever and nobody ever noticed. Or did I do anything wrong here? Did I mention that I hate Variants? https://sourceforge.net/p/tdbf/code/HEAD/tree/trunk/src/dbf.pas#l2141

For the last few days, my 10.2.3 IDE just keeps crashing. Sometimes the project loads and then as soon as I move the mouse pointer to start typing, it hangs and the the "Embarcadero RAD Studio for Windows has stopped working" dialog appears, displaying the Debug or Close program options. It doesn't need the application to be running or anything.

For the last few days, my 10.2.3 IDE just keeps crashing. Sometimes the project loads and then as soon as I move the mouse pointer to start typing, it hangs and the the "Embarcadero RAD Studio for Windows has stopped working" dialog appears, displaying the Debug or Close program options. It doesn't need the application to be running or anything. Anyone got any suggestions as to where to start? Is there an IDE logfile anywhere?

Hello

Hello, Does anyone here knows where $(SDKROOT) variable is defined? (It is used in SDK Manger to specify the path to iOS SDK files) I noticed that the variable points to a home directory on my Mac while I want it to point to XCode's app directory to be able to fetch the iOS 11 SDK files. Thanks!

Is there anyone else unable to access embarcadero forums?

Is there anyone else unable to access embarcadero forums? https://forums.embarcadero.com/

Rad Studio - issue statistics and IDE Yesterday was the first time in years that I logged into EMBT's bug tracker.

Rad Studio - issue statistics and IDE Yesterday was the first time in years that I logged into EMBT's bug tracker. When I looked at the RAD Studio dashboard, two things jumped out immediatly - and I'm glad to see I'm not alone. The IDE is in serious need of attension - after all, that is where developers are spending ALL their time. In the "feature request" statistics the IDE is on the top of the list - by a huge margin. In the "bugs" statistics, the IDE is second in the list (only topped by FMX), but even in second place, it is a huge gap to the 3rd place position. EMBT, please listen to your customers. We are screaming out to you to improve the IDE. It is buggy as hell, seriously lacks behind other modern IDE's, and it is where developers are spending all their time. We feel the "pain" of the IDE the whole time, every day.

Rad Studio - issue statistics and IDE Yesterday was the first time in years that I logged into EMBT's bug tracker. When I looked at the RAD Studio dashboard, two things jumped out immediatly - and I'm glad to see I'm not alone. The IDE is in serious need of attension - after all, that is where developers are spending ALL their time.

Rad Studio - issue statistics and IDE Yesterday was the first time in years that I logged into EMBT's bug tracker. When I looked at the RAD Studio dashboard, two things jumped out immediatly - and I'm glad to see I'm not alone. The IDE is in serious need of attension - after all, that is where developers are spending ALL their time. In the "feature request" statistics the IDE is on the top of the list - by a huge margin. In the "bugs" statistics, the IDE is second in the list (only topped by FMX), but even in second place, it is a huge gap to the 3rd place position. EMBT, please listen to your customers. We are screaming out to you to improve the IDE. It is buggy as hell, seriously lacks behind other modern IDE's, and it is where developers are spending all their time. We feel the "pain" of the IDE the whole time, every day.

Hello!

Image
Hello! I am not sure what I am doing wrong. I have an FMX app split into 3 panels. Top panel has a grid of sorts. Centre panel has a label with a cool font (thanks to the guy who pointed me to it) and the last panel has a flow layout aligned to top and one of the Kernow controls aligned to the client. At design time, it looks perfect (see second picture) but at run time... ugh... I am sure I am missing something, but I don't know what. Suggestions? Thanks
Has anyone ported OpenSSL 1.1.x headers over to Delphi yet? I am looking mainly at DTLS 1.2 support but also TLS 1.3. OpenSSL 1.0.x headers (like those in Indy) are too far behind.

I thought that you guys might enjoy this screen shot a colleague sent me:

Image
I thought that you guys might enjoy this screen shot a colleague sent me:

New addition to TMS components: TMS FNC Dashboard Pack

Image
New addition to TMS components: TMS FNC Dashboard Pack Demo: http://www.tmssoftware.biz/tmsweb/demos/tmsweb_dashboard/ More info about TMS FNC Dashboard Pack: https://www.tmssoftware.com/site/tmsfncdashboardpack.asp

Did the maintenance service for Delphi / RAD-Studio always have automatic renewal after a year? I seem to remember that this was different before and was a bit surprised when I today got a renewal quote mentioning that.

Did the maintenance service for Delphi / RAD-Studio always have automatic renewal after a year? I seem to remember that this was different before and was a bit surprised when I today got a renewal quote mentioning that. (And yet again, like last year, Embarcadero tried to slip Premium Support into the quote which nearly doubled the price. I think this borders on fraud.)

Here you go, our new video on "TMS Web: Flexible Web Design", by Holger Flick

Here you go, our new video on "TMS Web: Flexible Web Design", by Holger Flick https://www.youtube.com/watch?v=GUGzUs-dVUc&t=164s For more videos on TMS WEB Core visit: https://www.tmssoftware.com/site/tmswebcoreintro.asp#videos https://www.youtube.com/watch?v=GUGzUs-dVUc&t=164s

Because they deserve it for quite some time ...

Because they deserve it for quite some time ... https://sourceforge.net/blog/may-2018-community-choice-project-month-firebird/ https://sourceforge.net/blog/may-2018-community-choice-project-month-firebird/

I have a problem with the record with methods.

I have a problem with the record with methods. I don't understand where the memory leak comes from. Simply example: https://gist.github.com/jaclas/0857421c1fd338fdf00eaf73d71936f5 Memory leak raported by FastMM: https://pastebin.com/raw/VbexjkLS Delphi Tokyo 10.2. What I doing wrong? https://pastebin.com/raw/VbexjkLS
Hello, This is John Olson, I work as a Business Development Manager, Looking for Delphi Projects. We Have expertise Delphi Programmers 12+ Experience. You can hire our developers at an affordable cost, and also we are ready to work on your next project. Thank you. Email: john@thecattechnologies.com

New release: TMS Component Pack v8.8.8.0

Image
New release: TMS Component Pack v8.8.8.0 https://www.tmssoftware.com/site/tmspack.asp

Windows 10 April update 2018

Windows 10 April update 2018 Do you have you seen any compatibility issues with Delphi?
Is there an existing component available which works as the folder edit in BeyondCompare, where you enter the beginning of the path and it presents the next level folders in a drop-down?

I need to make some background working methods for my application and do it with default Delphi PPL (in Firemonkey).

I need to make some background working methods for my application and do it with default Delphi PPL (in Firemonkey). Everything is fine except the MessageDlg, it doesn't display and in debug I se a warning that it should be run in main ui thread. The question is how to display (error) Messages from a method that is called in a thread? Here is the example code: procedure frmMain.TestFP; begin TTask.Run( procedure begin GetFpData; end ); end; procedure GetFpData; begin try // some code to implement except on E: Exception do TDialogService.MessageDialog(E.Message,TMsgDlgType.mtError,[TMsgDlgBtn.mbOK],TMsgDlgBtn.mbOK, 0, nil); end; end;

I did an Android application as helper to space sim called Star Citizen. The idea is help the player on the trading of commodities.

I did an Android application as helper to space sim called Star Citizen. The idea is help the player on the trading of commodities. https://play.google.com/store/apps/details?id=com.magnumlabs.tradeintheverse I made the software in English but all my friends want a Brazilian Portuguese version. Should I go with Resource Strings? I never used that and don't know what best technique to apply using. Any help? https://play.google.com/store/apps/details?id=com.magnumlabs.tradeintheverse

Hello!

Hello! Anybody knows of a decent and free led view for FireMonkey? It's not for a customer and there are plenty of apps that do this, it's just that I need to experiment with the multiple views and this looks like a cool project without too many cognitive issues to go with it :)
Perhaps this has been asked before, but why don't most of the styles that come with Delphi change the color of the current tab so that it is VERY obvious which tab is active? I'm asking because of the IDE editor tabs. It's hard to tell. There are some styles that do this, but would be nice if EVERY one did this.

Originally shared by Jeroen Wiert Pluimers

Originally shared by Jeroen Wiert Pluimers Anyone who has played with this to add AutomationId to Delphi components? https://github.com/jhc-systems/DelphiUIAutomation/wiki/Adding-Automation-to-a-standard-Delphi-Control ? If so: please comment with your experience. When not, but you still added AutomationId: what are other good ways of doing it? https://github.com/jhc-systems/DelphiUIAutomation/wiki/Adding-Automation-to-a-standard-Delphi-Control

"weak" strong typing...

"weak" strong typing... I have two types defined: TOneType = type RawByteString; TSecodType = type RawByteString; Is it possible to force strong typing in the method definition: procedure PassOnlyOneType(const OneType: TOneType); so that it is not possible to call with a parameter of another type? var SecondType: TSecondType; PassOnlyOneType(SecondType); <--- here I want to have a compilation error, now error not occur How properly construct new type?

This should be an entertaining read ...

This should be an entertaining read ... https://news.slashdot.org/story/18/04/28/0243234/new-book-describes-bluffing-programmers-in-silicon-valley https://www.amazon.com/Live-Work-Die-Journey-Silicon/dp/1627794859 https://news.slashdot.org/story/18/04/28/0243234/new-book-describes-bluffing-programmers-in-silicon-valley

Is this too much to ask from Embarcadero? Visible and configurable key mappings out the box.

Image
Is this too much to ask from Embarcadero? Visible and configurable key mappings out the box. So Delphi XE3 has "Options -> Editor Options -> Key Mappings". That shows me there are 8 different key mapping modules installed. What it doesn't do is show me the g*d d*mn shortcuts available, and the ability to customise them. Take a hint from your competition. Look how easy Lazarus IDE makes things.