Posts

Showing posts from July, 2018

Wrong warning case:

Wrong warning case: program WrongWarning; {$APPTYPE CONSOLE} {$R *.res} uses SysUtils; var I: Integer; function Test(Cond: Boolean; out Value: Integer): Integer; var Cnt: Integer; begin if Cond then begin Cnt:= 1; Result:= 1; end else Result:= 0; if Result = 1 then Value:= Cnt // W1036 Variable 'Cnt' might not have been initialized else Value:= 0; end; begin Test(True, I); end.

I need to store large strings in a sqlite database. (10K strings). Should I make it a blob? I made them varchar, and I'm able to store them, but when I do a query to get the string , it works, but when I free the query object, I get an access violation. If I don't reference that field by name, it doesn't blow up. I think just by referencing it, it somehow get's held by something.

I need to store large strings in a sqlite database. (10K strings). Should I make it a blob? I made them varchar, and I'm able to store them, but when I do a query to get the string , it works, but when I free the query object, I get an access violation. If I don't reference that field by name, it doesn't blow up. I think just by referencing it, it somehow get's held by something. I have two other fields that ARE blobs, and those work ok.

How to create a WEB front-end from your existing database in 5 minutes with TMS XData and TMS Web Core.

How to create a WEB front-end from your existing database in 5 minutes with TMS XData and TMS Web Core. https://tmssoftware.com/site/blog.asp?post=470 https://youtu.be/AZs9e2DNXdI https://youtu.be/AZs9e2DNXdI

I have a starter question.

I have a starter question. In console app mode, writeln always add a new line, how can i update an exist line? I dont want to introduce a third component. Thank you.

What happened to the BindingName property and FindBinding method?

What happened to the BindingName property and FindBinding method? Anyone have a link to any kind of documentation why TFmxObject's BindingName property has disappeared? I know, probably sounds archaic, but attempting a conversion of an XE2 project to Tokyo. Boy, have things changed. I used BindingName all over the place.

Would anyone know the reason why TControl's Scale property has been demoted to protected (at least since XE2)?

Would anyone know the reason why TControl's Scale property has been demoted to protected (at least since XE2)? Had quite a few functions that relied on being able to change a TControl's scale, and are now forced to use an ugly typecast hack.

Delphi Community Edition + FastReport

Delphi Community Edition + FastReport According to the feature matrix FastReports should be available from GetIt for Pro and CE but having checked I can not see it. Can anyone else that has the Community Edition installed confirm if they have FastReports Delphi Edition installed or if its showing as available in GetIt?

Recently I made a free COM server which is used for a communication with some devices. In my manual I explain how the developer can use the type library (and COM server) from Delphi7 to the current versions of Delphi.

Recently I made a free COM server which is used for a communication with some devices. In my manual I explain how the developer can use the type library (and COM server) from Delphi7 to the current versions of Delphi. Now a developer want to use the COM server from Delphi 6 but I have no idea how to help him with an information. The last time when I used Delphi 6... was a 15 years ago? So any help and links about Delphi 6 and the usage of the COM server from this version will help to me and to my customer. An old documentation or articles? And at first - I really not remember can we use a COM server from Delphi6 at all or not? :)

【Develope a rabbitmq application with python4delphi】

Image
【Develope a rabbitmq application with python4delphi】 You can download the vcl from https://github.com/pyscripter/python4delphi The VCL can support python 2.x to 3.x,only need you modify the *.inc file! In my sample,I use a variant import *.py and execute it. procedure TForm1.btnPublishClick(Sender: TObject); var a, main : variant; folder, aMessage: string; vJpegStream : TMemoryStream; vStrStream: TStringStream; vEncd: TIdEncoderMIME; vS, vMSG_ID, vHeads: string; begin // importing an external module and using it // first, extend the path with our current folder _folder := ExtractFilePath(Application.ExeName); if (Length(_folder) > 0) and (_folder[Length(_folder)] = '\') then Delete(_folder, Length(_folder), 1); if not Boolean(SysModule.path.Contains(_folder)) then SysModule.path.insert(0, _folder); // import the module _main := Import('testPika'); Assert( VarIsPythonFunction(__main__.put_message)); Assert( VarIsPythonCallable(_

You can call me stupid moron...

You can call me stupid moron... For certain reason I have Windows Insider Preview running on my machine. Simply there were always more important things to do than returning to 'stable' version. Yesterday probably my mind collapsed and I allow to update my windows with brand new rs5_release compilation. Everything looks ok except that my Delphi 10.2 and 10.1 freezes when I compile and run the project hitting F9. All other parts of IDE seem to working properly but I cannot debug anything. I'll be reinstalling Windows on the weekend, but by the chance, does anyone know any workaround for that issue, so I can survive till Friday afternoon. TIA

How would one go about writing a Rate Limiting class? I mean ... I need some 'work' to be done X number of times ... can be sequentially but in parallel would even be a lot better. I will need the Rate Limiting class for quite a few bits of work. The main factor is that I can only do the piece of work X number of times during a period of 60 seconds.

How would one go about writing a Rate Limiting class? I mean ... I need some 'work' to be done X number of times ... can be sequentially but in parallel would even be a lot better. I will need the Rate Limiting class for quite a few bits of work. The main factor is that I can only do the piece of work X number of times during a period of 60 seconds. In once case the bits of work could take 15 seconds each to finish, so there I would like to execute the bits of work sequentially, but in other cases the bits of work just take a fraction of a second. In those cases the limiting factor would be something like 50 times a second ... not any more. The actual bits of work are calls to a REST API and execute some work locally based on the JSON I received. Just to be clear. I know I could just repeat a loop which does the requests as long as I don't have 60 requests within a minute. And that works find if I only have 5 requests to do. But in another spot I have to do almost 1000 requ

I have not so much experience with building DLLs in Delphi. I am facing a problem because one of my customer is really fond of having a DLL implementing some core functionalities and several applications relying on it (and other DLLs).

I have not so much experience with building DLLs in Delphi. I am facing a problem because one of my customer is really fond of having a DLL implementing some core functionalities and several applications relying on it (and other DLLs). Now the problem I am facing is that type system seems to be duplicated across the executables and the DLL (I can recall reading something about it but finding a reference seems hard). This means that if I build an instance of type X in the DLL and pass it (as a function's result) to the executable, I won't be able to check if that type is of type X ("MyVar is X" will return false). // var LInstance: TMyAbstractType; // var LValue: TValue; LValue := TValue.From (LInstance); if LValue.IsInstanceOf(TMyAbstractType) then ShowMessage('1 - LValue is TMyAbstractType') else if LValue.AsObject is TMyAbstractType then ShowMessage('2 - LValue is TMyAbstractType') else ShowMessage('

Article related to strategies for targeting Android API 26, as well as a reference to the 10.3 beta:

Article related to strategies for targeting Android API 26, as well as a reference to the 10.3 beta: https://community.embarcadero.com/blogs/entry/deadline-approaching-google-s-new-android-api-level-26-requirements https://community.embarcadero.com/blogs/entry/deadline-approaching-google-s-new-android-api-level-26-requirements

Hi

Hi, I would like to discover the device behind an IP Address. For example: 192.168.0.120. The device answers to ping. But what it is? I would like to query that device by IP (or MAC) and know something about it. If possible Device Type, Manufacturer and Model. I need something that can work on any (or most) devices on any (or most) platforms. Is there such protocol? What are my options? Any sample code or article will help a lot. Should work on Delphi Tokyo. TIA, Clément

Shouldn't the compiler be able to devirtualize the call in the interface trampoline methods it generates for IFoo?

Shouldn't the compiler be able to devirtualize the call in the interface trampoline methods it generates for IFoo? It knows that it can only point to TFoo.Test See this code: type IFoo = interface procedure Test; end; TAbstractFoo = class(TInterfacedObject) procedure Test; virtual; abstract; end; TFoo = class(TAbstractFoo) procedure Test; override; end; TSealedFoo = class sealed(TFoo, IFoo) end; procedure TFoo.Test; begin end; var foo: IFoo; fooA: TAbstractFoo; fooB: TFoo; fooC: TSealedFoo; begin foo := TSealedFoo.Create; foo.Test; fooC := TSealedFoo.Create; fooB := fooC; fooA := fooC; fooA.Test; // virtual call fooB.Test; // virtual call fooC.Test; // static call to TFoo.Test When calling the interface method and inspecting the disassembly you can see that it does the virtual call in the compiler generated trampoline method (and on win32 also suffers from a defect described here: http://andy.jgknet.de/blog/2016/05/whats-wrong-wit

Shouldn't the compiler be able to devirtualize the call in the interface trampoline methods it generates for IFoo? It knows that it can only point to TFoo.Test

Shouldn't the compiler be able to devirtualize the call in the interface trampoline methods it generates for IFoo? It knows that it can only point to TFoo.Test See this code: type IFoo = interface procedure Test; end; TAbstractFoo = class(TInterfacedObject) procedure Test; virtual; abstract; end; TFoo = class(TAbstractFoo) procedure Test; override; end; TSealedFoo = class sealed(TFoo, IFoo) end; procedure TFoo.Test; begin end; var foo: IFoo; fooA: TAbstractFoo; fooB: TFoo; fooC: TSealedFoo; begin foo := TSealedFoo.Create; foo.Test; fooC := TSealedFoo.Create; fooB := fooC; fooA := fooC; fooA.Test; // virtual call fooB.Test; // virtual call fooC.Test; // static call to TFoo.Test When calling the interface method and inspecting the disassembly you can see that it does the virtual call in the compiler generated trampoline method (and on win32 also suffers from a defect described here: http://andy.jgknet.de/blog/2016/05/whats-wrong-wit

ANN: New LMD 2018.3 platform release available!

ANN: New LMD 2018.3 platform release available! New LMD 2018.3 installers are available now! The complete VCL package includes more than 750 VCL components including popular packages like LMD DockingPack and LMD DialogPack (Delphi/C++Builder 6 and better). This releases adds several additional new features to LMD GridPack and hotfixes for LMD-Tools and LMD IDE-Tools. Review changes of this release on history page: http://wiki.lmd.de/index.php/LMD_2018_-_History Find summary of all changes at LMD 2017 What's New Page: http://wiki.lmd.de/index.php/LMD_VCL_2018_-_News Check the new trials and compiled Exe-Demos at https://www.lmd.de/downloads For example the LMD DockingPack 2017 demo: http://files.lmd.de/downloads/lmd2017vcl/DockingPack_Demo.zip To learn more about other LMD products visit the General Product Page: https://www.lmd.de/products/vcl/lmdvcl All products are based on LMD 2018 platform. For more info about LMD 2018 platform check http://wiki.lmd.de/index.php/LMD_VCL_-_Descr

Take a look at the code:

Take a look at the code: program ConstantExpr; {$APPTYPE CONSOLE} const c1: Char = 'B'; var c: Char; begin c := c1; // c1 := 'Z'; E2064 Left side cannot be assigned to -- it's OK case c of 'A': ; c1: ; // E2026 Constant expression expected ??? end; end. The compiler has decided that c1 is not a constant, although it is certainly a constant. This is probably a bug in the compiler. Update: OK, I have a workaround for this case. Change the constant declaration as follows: const c1 = Char('B'); After that the code compiles fine. Anyway I think it's a compiler's bug, do you?

This has to be the ultimate irony. A team inside Google has created a clone of the FireMonkey architecture called Flutter and apparently the successor to Android called Google Fuschia OS will use Flutter. It's "revolutionary". The FireMonkey ̶c̶l̶o̶n̶e̶ like architecture uses Dart as it's compiled language (which compiles in seconds... like Object Pascal).

This has to be the ultimate irony. A team inside Google has created a clone of the FireMonkey architecture called Flutter and apparently the successor to Android called Google Fuschia OS will use Flutter. It's "revolutionary". The FireMonkey ̶c̶l̶o̶n̶e̶ like architecture uses Dart as it's compiled language (which compiles in seconds... like Object Pascal). Apparently, they created Flutter because new hotness frameworks like React Native are slow due to the context switching of the bridge between the code and the native widgets. Maybe they also got tired of doing double the work of building an app with Android Studio and XCode. The article also states you can use Flutter "to build beautiful native mobile apps that break away from the “cookie cutter” apps" and "The trend in mobile design is away from the cookie cutter apps that were common a few years ago and toward custom designs that delight users and win awards." You mean custom brand apps like F

SQLite encryption.

SQLite encryption. A few years ago I created an Android app using trial versions of XE8 and XE10. The app used FireDAC and SQLite and it worked pretty much as I expected. I am trying to revive and update the app but I am having trouble with SQLite. First, it error-ed out with 'no such table'. After trying some things found on the Internet the DAC started returning "[FireDAC][Phys][SQLite] ERROR: Cipher: DB is not encrypted". Did something change vis-a-vis encryption? What do I have to do to get my app the work again? Thanks...Dan'l

I posted this question on Stack Overflow and I do not know why I do not received any answers. For me, the question and the text is pretty clear. Also, the motivation behind the question is valid: The Crypto API's CryptAcquireContext is deprecated and the Microsoft itself recomends the use of CNG. Someone can help me?

I posted this question on Stack Overflow and I do not know why I do not received any answers. For me, the question and the text is pretty clear. Also, the motivation behind the question is valid: The Crypto API's CryptAcquireContext is deprecated and the Microsoft itself recomends the use of CNG. Someone can help me? https://stackoverflow.com/questions/51072217/how-to-get-a-certificate-store-from-a-smart-card-usb-token-using-cng https://stackoverflow.com/questions/51072217/how-to-get-a-certificate-store-from-a-smart-card-usb-token-using-cng

Quantum computing for computer scientists, explained by Microsoft.

Quantum computing for computer scientists, explained by Microsoft. Despite the pop lecturing style the explanation is deep enough. I've wondered before is it possible to really explain quantum computing to the people who don't know the underlying physics, and here is the attempt. https://www.youtube.com/watch?v=F_Riqjdh2oM

Can anyone here provide some insight about the purpose and usage of TWorkStealingQueue?

Can anyone here provide some insight about the purpose and usage of TWorkStealingQueue? https://stackoverflow.com/questions/51571759/what-is-the-purpose-of-tworkstealingqueue-and-how-to-use-it https://stackoverflow.com/questions/51571759/what-is-the-purpose-of-tworkstealingqueue-and-how-to-use-it
Any Romanian speaking Delphi developers here?
I heard that Delphi CE only support local databases, not over network. I assume Firedac is used then. But is it possible with a driver like Unidac from Devart ?

"Better contractual policy of FireDAC component suite on Delphi Community Edition"

"Better contractual policy of FireDAC component suite on Delphi Community Edition" Hello everybody! Please support this request by voting up on it at: https://quality.embarcadero.com/browse/RSP-20959 Thank you! https://quality.embarcadero.com/browse/RSP-20959?jql=project+%3D+RSP

Pairing based crypto with delphi

Pairing based crypto with delphi https://youtu.be/hOaxcz9M0oU

I have an application that works in Seattle, but migrating it to Tokyo 10.2.3 does not work .

I have an application that works in Seattle, but migrating it to Tokyo 10.2.3 does not work . I have a routine that collects the GPS position in certain events, for this I have created a listener of the LocationManager and I call the FLocationManager.requestLocationUpdates. In seattle, when calling the function the system was executing the location, I do a while to wait for the capture position, but in Tokyo, when calling the Location it ends after the while. Testing on Android 4.4 and Android 5.1 Can someone help me with this problem already did everything that is tests and did not work. //Put in task, or not same result T := TTask.Run (procedure begin if FLocationManager.isProviderEnabled(TJLocationManager.JavaClass.GPS_PROVIDER) then FLocationManager.requestLocationUpdates(TJLocationManager.JavaClass.GPS_PROVIDER, 15000, 1, LocationListener, TJLooper.JavaClass.getMainLooper ); end); //In Seattle he calls the RequestLocation and starts capturing the location in //To

Hi!

Hi! A long time ago, there was a cool app winner that was about generating Delphi code from mockups or something along those lines. Anyone remembers more specifically? Thanks! A

I found a bug that had been sitting in my program for a long time, and the compiler did not give any run-time errors...

I found a bug that had been sitting in my program for a long time, and the compiler did not give any run-time errors for it. The compiler does not perform a range check when assigning a value from the Variant variable. Be careful! Demo code: program VariantError; {$APPTYPE CONSOLE} {$R *.res} uses System.SysUtils; var v: Variant; w: Word; begin v := $10000; w := v; // No Range check error Writeln(w); // "0" ??? end. https://quality.embarcadero.com/browse/RSP-20956 https://quality.embarcadero.com/browse/RSP-20956

I found a bug that had been sitting in my program for a long time, and the compiler did not give any run-time errors for it. The compiler does not perform a range check when assigning a value from the Variant variable. Be careful!

I found a bug that had been sitting in my program for a long time, and the compiler did not give any run-time errors for it. The compiler does not perform a range check when assigning a value from the Variant variable. Be careful! Demo code: program VariantError; {$APPTYPE CONSOLE} {$R *.res} uses System.SysUtils; var v: Variant; w: Word; begin v := $10000; w := v; // No Range check error Writeln(w); // "0" ??? end. https://quality.embarcadero.com/browse/RSP-20956 https://quality.embarcadero.com/browse/RSP-20956

Hi all!

Hi all! I'm fighting with help issue... I'm using chm files in my applications. First of all they seems to be deprecated from Mircosoft... so what are you using for your help system? My problem happens in this context: Win10 april 2018 + D10.2.3 + VCL app + styles + chm help file. When I open the help file from my app (classic F1 button) the chm viewer is correctly opened but I could see that my app try to apply his style to the viewer and the result is a mess: data showned appear/disapper on mouse move. I guess that the problem could be related on the vcl style applyed to the chm viewer. Is there a way to avoid this?

Hi all! I'm fighting with help issue... I'm using chm files in my applications. First of all they seems to be deprecated from Mircosoft... so what are you using for your help system?

Hi all! I'm fighting with help issue... I'm using chm files in my applications. First of all they seems to be deprecated from Mircosoft... so what are you using for your help system? My problem happens in this context: Win10 april 2018 + D10.2.3 + VCL app + styles + chm help file. When I open the help file from my app (classic F1 button) the chm viewer is correctly opened but I could see that my app try to apply his style to the viewer and the result is a mess: data showned appear/disapper on mouse move. I guess that the problem could be related on the vcl style applyed to the chm viewer. Is there a way to avoid this?

Wants to play around with RAD Server. Saw that interbase xe7 developer version must be installed to run RAD Server. I did not choose to install when i installed my RAD Studio Tokyo Udpate3. In the windows system add/remove programs (list of installed programs) the button for "change" is grayed on the RAD Studio Setup entry.

Wants to play around with RAD Server. Saw that interbase xe7 developer version must be installed to run RAD Server. I did not choose to install when i installed my RAD Studio Tokyo Udpate3. In the windows system add/remove programs (list of installed programs) the button for "change" is grayed on the RAD Studio Setup entry. How can i additionally install the Interbase XE7 Developer Server and the interbase components?

I must be getting old and my memory is fading.

I must be getting old and my memory is fading. I have got a program called dzDprojEdit which according to the version information is from 2014. Since the version information also states that it is copyright by me (as the dz prefix suggests), I just tried to find the source code. I failed miserably. It must be an open source tool I wrote and I would have expected to find it on SourceForge, but no, it's not there. Even worse: Google doesn't find a single reference in the whole of its index. https://www.google.com/search?safe=off&q=dzprojedit Does maybe anybody else use this tool and can point me to the source code? #gettingoldsucks

Open dbExpress update.

Open dbExpress update. Support Delphi 10.2 Tokyo Community Edition!

Any information about Embarcadero giving an official solution about Android 8 targeting API 26?

Any information about Embarcadero giving an official solution about Android 8 targeting API 26? New applications should follow the guidelines up to 1st August and updates until 1st November: https://developer.android.com/distribute/best-practices/develop/target-sdk Is there a roadmap about this? https://developer.android.com/distribute/best-practices/develop/target-sdk

Any information about Embarcadero giving an official solution about Android 8 targeting API 26? New applications should follow the guidelines up to 1st August and updates until 1st November: https://developer.android.com/distribute/best-practices/develop/target-sdk

Any information about Embarcadero giving an official solution about Android 8 targeting API 26? New applications should follow the guidelines up to 1st August and updates until 1st November: https://developer.android.com/distribute/best-practices/develop/target-sdk Is there a roadmap about this? https://developer.android.com/distribute/best-practices/develop/target-sdk

Why don't I get the warning W1036 Variable "'MyStrings' might not have been initialized' if the StringsToDo parameter in DoSomething is defined as a var parameter? I get the warning if I remove the var. Thanks for looking.

Why don't I get the warning W1036 Variable "'MyStrings' might not have been initialized' if the StringsToDo parameter in DoSomething is defined as a var parameter? I get the warning if I remove the var. Thanks for looking. program Project2; {$APPTYPE CONSOLE} uses SysUtils, classes; procedure DoSomething(var StringsToDo: TStringList); begin //do nothing end; procedure Test; var MyStrings : TStringList; begin MyStrings.Free; {1036 warning if StringsToDo param is NOT var} DoSomething(MyStrings); end; begin try Test; except on E: Exception do Writeln(E.ClassName, ': ', E.Message); end; end.

Congratulations Bruno Fierens and tmssoftware for job well done!

Congratulations Bruno Fierens and tmssoftware for job well done! https://www.tmssoftware.com/site/tmswebcore.asp

Let's Encrypt and WebBroker

Let's Encrypt and WebBroker Hello, I have a WebBroker application over SSL with this initialization code FServer := TIdHTTPWebBrokerBridge.Create(Self); LIOHandleSSL := TIdServerIOHandlerSSLOpenSSL.Create(FServer); LIOHandleSSL.SSLOptions.CertFile := '..\keystore\certificat.crt'; LIOHandleSSL.SSLOptions.RootCertFile := '..\keystore\rootCA.crt'; LIOHandleSSL.SSLOptions.KeyFile := '..\keystore\private.key'; LIOHandleSSL.OnGetPassword := OnGetSSLPassword; this works well but with this auto generated certificat the browser raise a warning. Is it possible to use Let's Encrypt with a Delphi standalone WebBroker application ? Thanks

Debug in Linux?

Debug in Linux? I am confused with debugging in Linux. I have one VM with Delphi and another one with Linux. The two VM are connected, all works nicely. Say, I have this code: writeln('Line 1); readln; If I build and deploy it, I go to the Linux VM and run the app. Then, I see the output in the VM. The same if I run the app from IDE. Now, what I confuses me is this: If I run the app with debugging, I can't figure out where the output is. Should it be in the paserver (Linux VM), right? I can't see anything there. Moreover, if I set a breakpoint in writeln and run it, there is nothing in the Linux VM but I see the output in the "Event Log" window within the IDE. But, then I can't not interact with the keyboard for the readln.
I have one exe, and multi DLLs. Can I build them only with RTL250.BPL, but not all package? I only want units in RTL deployed with bpl, but not change the whole system from DLL to BPL.

Question about dcu binary compatibility - has there been any cases in any versions of delphi, where an update has intentionally been binary incompatible? Ie to the point where third party libraries needed to be recompiled for the update?

Question about dcu binary compatibility - has there been any cases in any versions of delphi, where an update has intentionally been binary incompatible? Ie to the point where third party libraries needed to be recompiled for the update?

Hey guys!

Hey guys! In my math library I encountered a problem in macosx while compiling the release version (Delphi 10.2.3): dccosx throws an internal error C2489. Anyone has a clue how to circumvent that error? The code involved is: procedure InitAndLeftQFromQR(A : PDouble; const LineWidthA : TASMNativeInt; width, height, k : TASMNativeInt; tau : PDouble; work : PDouble; const svdData : TMtxSVDDecompData); //; const LineWidthWork : TASMNativeInt); var pA : PDouble; i : Integer; j : Integer; pAij, PAi1j : PConstDoubleArr; begin // Shift the vectors which define the elementary reflectors one // row downward, and set the first row and column of P**T to // those of the unit matrix pA := A; pA^ := 1; inc(PByte(pA), LineWidthA); for i := 1 to width - 1 do begin pA^ := 0; inc(PByte(pA), LineWidthA); end; for j := width - 1 downto 1 do // rows begin pAij := PConstDoubleArr(GenPtr(A, 0, j, LineWidthA))

Allocating a contiguous file in Delphi?

Allocating a contiguous file in Delphi? Hello all, is it possible to allocate a contiguous (non-fragmented) file on disk without having to resort to external tools like "contig.exe" ? I'm using Delphi under Windows. I've googled for ages, cannot find any source code examples anywhere ... Kind regards, Arthur

New release of kbmSQLiteMan v. 1.70

New release of kbmSQLiteMan v. 1.70 https://components4developers.blog/2018/07/25/ann-kbmsqliteman-v-1-70-released/

"Google Play will require that new apps target at least Android 8.

"Google Play will require that new apps target at least Android 8.0 (API level 26) from August 1, 2018, and that app updates target Android 8.0 from November 1, 2018." Is embarcadero aware of this?? 1 August is in one week... Details: https://developer.android.com/distribute/best-practices/develop/target-sdk https://developer.android.com/distribute/best-practices/develop/target-sdk

"Google Play will require that new apps target at least Android 8.0 (API level 26) from August 1, 2018, and that app updates target Android 8.0 from November 1, 2018."

"Google Play will require that new apps target at least Android 8.0 (API level 26) from August 1, 2018, and that app updates target Android 8.0 from November 1, 2018." Is embarcadero aware of this?? 1 August is in one week... Details: https://developer.android.com/distribute/best-practices/develop/target-sdk https://developer.android.com/distribute/best-practices/develop/target-sdk

hey does anyone have, LMD VCL Components 2017 or know

hey does anyone have, LMD VCL Components 2017 or know where I can get it , thanks in advanced !!

Long-awaited HTML Library version 3.7 released.

Long-awaited HTML Library version 3.7 released. What's new: https://delphihtmlcomponents.com/new37.html Fixed: https://delphihtmlcomponents.com/fixed37.html Major improvements: + Completely new layout engine with full text alignment support, fast nested tables layout calculation and internal support for RTL languages. + Lazarus support + Native OSX canvas - fast, precise text positioning, animated GIFs + Devexpress and Hunspell spellcheckers support. + Remote debugger for scripts. New demos: + CSS transforms - nice animations/transitons demo based on CSS only (no scripts). + FMX News - example of how to generate HTML page using JSON and HTML templates. + Editor Lazarus - Editor demo compiled in Lazarus. + Editor OSX - Editor demo for OSX with native OSX canvas. See demos page: https://delphihtmlcomponents.com/download.html New SQL Framework (Bundle only) Manual: https://delphihtmlcomponents.com/SQLLibrary.pdf Video: https://youtu.be/v1B2zkm9w5Q Video: https://delphihtmlco

I am missing something here, my app when in Debug conf can access correctly the sdcard but if just change it to...

I am missing something here, my app when in Debug conf can access correctly the sdcard but if just change it to Release mode I get access denied. I've double checked my permissions and can't discover the issue. Besides the Uses Permissions, how could I know what really is missing? This is the 1st time I face such problem.

I am missing something here, my app when in Debug conf can access correctly the sdcard but if just change it to Release mode I get access denied. I've double checked my permissions and can't discover the issue.

I am missing something here, my app when in Debug conf can access correctly the sdcard but if just change it to Release mode I get access denied. I've double checked my permissions and can't discover the issue. Besides the Uses Permissions, how could I know what really is missing? This is the 1st time I face such problem.

So ... for those of you using some type of ORM ... how do you handle multi-tier applications. Or a (REST) server which has to pass the classes to a client through JSON. Is that doable using some form of ORM? Or is that out of the question.

So ... for those of you using some type of ORM ... how do you handle multi-tier applications. Or a (REST) server which has to pass the classes to a client through JSON. Is that doable using some form of ORM? Or is that out of the question. Also ... if you're using an ORM, feel free to let me know which one you use and maybe also why you chose that. Currently looking into a few alternatives including TMS Aurelius and the Devexpress Entity Framework. I know there are a few more alternatives on the market, but I have absolutely no idea why I would choose one over the other. So any feedback on that topic is more than welcome.

Hello

Hello, Does anybody know here whether there is a way to embed a MongoDB into iOS and/or Android? I know that with Delphi/C++Builder you can use MongoDB for desktops. But what about cross-platform MongoDB? Even if for certain cases, that would be non-sense since MongoDB is aimed at storing documents, which can turn into cumbersome and huge DB. But still, for small PDFs, pictures, that would allow avoiding a backend server and stay embedded and would be a workaround on using blobs intensively instead (for the docs/images). Thanks for any clue.

For Developers experiencing problems FireDAC and MySQL. Please Vote this bugs/suggestions:

For Developers experiencing problems FireDAC and MySQL. Please Vote this bugs/suggestions: BUGS: 1) Exception: [FireDAC][DatS]-32. Variable length column [PARAM_TYPENAME] overflow. when getting metadata from a mysql stored function that ahs as return a DOUBLE, Date, DateTime (withotu size and precision) https://quality.embarcadero.com/browse/RSP-20319 2) FireDAC TFUpdateSQL MySQL Code generator BUG: The SQL script code Generated for FetchRow is wrong when Primary Key is an AutoInc Field https://quality.embarcadero.com/browse/RSP-20734 REQ: 1) FireDAC: Implement better query SP parameter's metadata information for MySQL/MariaDB 5.6 and newer with latest Information_schema.parameters table https://quality.embarcadero.com/browse/RSP-20320 2) Add Support for MySQL 8.0 and MariaDB 10.3.5. They have been released for Production with New features like Sequences and CTE (Common Table Expressions) https://quality.embarcadero.com/browse/RSP-20735 https://quality.embarcadero.com/browse/RSP-2

I'm attempting to find the size of a BLOB record in MySQL by using the Delphi wrapper for libmySQL.dll

I'm attempting to find the size of a BLOB record in MySQL by using the Delphi wrapper for libmySQL.dll The BLOB record is a string value that can be very small to very large. In MySQL Workbench the following query returns the correct value: SELECT LENGTH(file_data) FROM files_table WHERE idfile = 146 But when I attempt it in code it (and other idfile values) returns 4271496 and I can't figure out where this erroneous value comes from. Well I don't really need to figure that out, it's just I don't see anywhere that would be a max value of anything - I've seen it also returned for SELECT MAX(... on an empty table. So, sorry for my babbling, the code that returns the value is in the statement: mysql_bind_set_param(bind, 0, MYSQL_TYPE_LONG, @int_data_0, 0, nil, nil); PS: my reason for needing to determine the BLOB size is to limited the returned string size in a subsequent call to bind the BLOB Any thoughts on what I need to do to fix? Any additional code you need t

What happened to Oxygene Elements 10?

What happened to Oxygene Elements 10? I'm maintaining a Delphi XE very large project that runs in both compilers (Delphi XE and VS 2015 with OE 9). There's a need to move to VS 2017 but in order to migrate we need OE 10. With VS 2017 and Oxygene 10, over 37.000 lines errors are raised when compiling the project that works perfectly under Delphi (VCL) and VS (2015 OE 9) sharing the same code base using #IFDEFs Googling a little a found out that Oxygene decided to change the way #IFDEF works under OE 10. They think it's "ugly". Well... over 37.000 lines of errors are not pretty either. Especially if you will loose compatibility with Delphi/FP in the "fixing" process. How are you managing? Is there any word ( or works ) from Oxygene that will solve that bug. Is there an OE 9 that works with VS 2017? Clément

Although I welcome the Community editions, I still think that by not including Linux support in the community and...

Image
Although I welcome the Community editions, I still think that by not including Linux support in the community and pro editions, EMBT is making a major mistake. Imagine the activity we could have had when it comes to adding Linux libs and tooling from an enthusiastic community! /sigh

Although I welcome the Community editions, I still think that by not including Linux support in the community and pro editions, EMBT is making a major mistake. Imagine the activity we could have had when it comes to adding Linux libs and tooling from an enthusiastic community!

Image
Although I welcome the Community editions, I still think that by not including Linux support in the community and pro editions, EMBT is making a major mistake. Imagine the activity we could have had when it comes to adding Linux libs and tooling from an enthusiastic community! /sigh

Originally shared by Thomas Mueller (dummzeuch)

Originally shared by Thomas Mueller (dummzeuch) The GExperts configuration dialog, while I like the general look, has always been a keyboard navigation nightmare for me. Assume you want to change the configuration of the Formatter Expert: You first open the configuration dialog pressing Ctrl+H + X.… http://blog.dummzeuch.de/2018/07/22/improved-keyboard-navigation-in-the-gexperts-configuration-dialog/

WebBroker and CentOS

WebBroker and CentOS Hi, I am trying to load a module (webbroker) in CentOS but something does not work. All the guides I've seen use Ubuntu. Has anyone used webbroker in CentOS? Thanks

Python seems to be all the rage nowadays.

Python seems to be all the rage nowadays. As a long time Delphi developer, why should I consider learning Python? (From a purely technical perspective, disregard job opportunities for now please.) https://developers.slashdot.org/story/18/07/20/227246/is-python-the-future-of-programming

How to use TA-LIB?

How to use TA-LIB? Because it have Borland C lib. Could I import the lib from Delphi? https://ta-lib.org/d_api/d_api.html

FmxLinux 1.26 just released. FmxLinux is FireMonkey implementation for Linux.

Image
FmxLinux 1.26 just released. FmxLinux is FireMonkey implementation for Linux. Start building UI Linux apps with Embarcadero Delphi and FmxLinux. History at: https://fmxlinux.com/history.html Mode Info at: https://fmxlinux.com/index.html

It's a little sad that i applied delphi Starter license before and now i cant apply Community license anymore....

Image
It's a little sad that i applied delphi Starter license before and now i cant apply Community license anymore....

INSTALL_FAILED_INVALID_APK !!!

INSTALL_FAILED_INVALID_APK !!! I have installed the CE version and started a new Android app using the TabbedWithNavigation template. I changed the label text then, after making sure that my phone was ready, built then ran the app. It all looks good until "Unable to install ... Failure [INSTALL_FAILED_INVALID_APK]". I Googled it and tried some of the 'solutions', but no joy. Does anyone know how to fix this?

HI All

HI All I am wanting to use QR/Bar code scanning on Android using INtents The code I had working now does not work the error is android.content.activitynotdoundexception:no activity found to handle intent {act=com.google.zxing.client.android.SCAN pkg=com.google/zxing.client.android (has extras)}. I suspect the .xml template file needs editing currently that has <%application-meta-data%> <%services%> android:label="%activityLabel%" android:configChanges="orientation|keyboard|keyboardHidden|screenSize" android:launchMode="singleTask"> android:value="%libNameValue%" /> <%activity%> <%receivers%>

TExcellentImagePrinter for Delphi® and C++Builder®

TExcellentImagePrinter for Delphi® and C++Builder® https://code4sale.com/texcellent/prndib.htm

Originally shared by Thomas Mueller (dummzeuch)

Originally shared by Thomas Mueller (dummzeuch) A few weeks ago I added the option to set the alignment and anchors properties for controls that support them to the GExperts Rename Component expert. After having used it for a while I found that the navigation using arrow keys left something to desire.… http://blog.dummzeuch.de/2018/07/21/selecting-alignment-and-anchors-in-the-rename-components-expert/

Fellow Delphi Developers!

Image
Fellow Delphi Developers! We are glad to introduce new StyleControls VCL High-DPI UWP analogue demo with our Windows 10 styles. Please, look how you can flexible adjust controls for light and dark VCL Styles! Your application can has a native DWM system shadow and looks very cool and modern! DelphiStyles Home: http://www.delphistyles.com StyleControls VCL Home: http://www.almdev.com

New VR6 @ Synaptica Farm

Image
New VR6 @ Synaptica Farm So Delphi services run faster :-)

Have u met this "Duplicate Guid Found" bug on opening project?

Have u met this "Duplicate Guid Found" bug on opening project? https://quality.embarcadero.com/browse/RSP-20917
Is it safe to type-cast array of array of string to TArray > ?

Got the "operation error. a problem occured during the process." error when installing the new Delphi CE onto *Win7 Home* which has the latest updates.

Got the "operation error. a problem occured during the process." error when installing the new Delphi CE onto *Win7 Home* which has the latest updates. At first I selected all target platforms, failed with the above mentioned error message. Then I deselected the Android and iOS targets, failed again. Then I deselected the macOS target and keeps only the win32/win64 targets, still failed. Where I can find the installation log files? Thanks. Marco Cantù

Salut La famille je viens juste de finir un projet avec BASE DE DONNE utilisant firebird et losque je lance l'app avec serveur intégré ( Firebird embedded) on m'affiche ceci

Salut La famille je viens juste de finir un projet avec BASE DE DONNE utilisant firebird et losque je lance l'app avec serveur intégré ( Firebird embedded) on m'affiche ceci ------------------- FireDAC][Phys][FB]I/O error during "CreateFile (open)" operation for file "MON PROJET" Error while trying to open file Le fichier spécifié est introuvable. ------------------ merci de Donner vos differents point de Vu

Have been using XE2 for Windows FMX projects.

Have been using XE2 for Windows FMX projects. Stuck to its GDI+ mode from the very beginning because of issues with Firemonkey's Direct2D support. I was wondering what has changed between XE2 and Berlin, wrt FMX GDI+ speed and improvements in Direct2D support. Are there any overall changes in speed? (only wrt Windows) Anyone who has been busy with Windows FMX (2D) projects who can enlighten me about what to expect when switching to Berlin? (I've perused the QP to find issues, but that turned out to be a bad idea if you're out to find good news) Thanks for sharing your experiences.

Have been using XE2 for Windows FMX projects. Stuck to its GDI+ mode from the very beginning because of issues with Firemonkey's Direct2D support.

Have been using XE2 for Windows FMX projects. Stuck to its GDI+ mode from the very beginning because of issues with Firemonkey's Direct2D support. I was wondering what has changed between XE2 and Berlin, wrt FMX GDI+ speed and improvements in Direct2D support. Are there any overall changes in speed? (only wrt Windows) Anyone who has been busy with Windows FMX (2D) projects who can enlighten me about what to expect when switching to Berlin? (I've perused the QP to find issues, but that turned out to be a bad idea if you're out to find good news) Thanks for sharing your experiences.

Not new for this community but now Marco Cantù gives his version: http://blog.marcocantu.com/blog/2018-july-delphi-ce.html?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+marcocantublog+%28marcocantu.blog%29

Not new for this community but now Marco Cantù gives his version: http://blog.marcocantu.com/blog/2018-july-delphi-ce.html?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+marcocantublog+%28marcocantu.blog%29 http://blog.marcocantu.com/blog/2018-july-delphi-ce.html?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed:+marcocantublog+(marcocantu.blog)

Deep Dive: Field Service App Template For Android And iOS With RAD Studio 10.2 Tokyo

https://community.embarcadero.com/article/16633-deep-dive-field-service-app-template-for-android-and-ios-with-rad-studio-10-2-tokyo

Bruno Fierens

Bruno Fierens I am having trouble understanding how to do basic stuff with the TMS FMX UI package. Namely: 1) Hide the tabs in a page control: every other page control out there lets you do this , I can't believe the TMS one can't. On the other hand, the PDF documentation doesn't say anything on this 2) Long taps on table view: this is really, absolutely basic for any professional component set, yet I can't find a way to do this. There has to be a way, surely, that isn't shown in the PDF. Can you please help me figure out how to do stuff that is surely possible? Thanks.

Edit: SOLVED! Installed onto a Win10 VM and all fine now!

Edit: SOLVED! Installed onto a Win10 VM and all fine now! ****** Getting trouble installing CE here at VirtualBox, I am getting "Operation error..." code 12007. Seems some of the servers are not available but dont specify wich one. I retry and retry and nothing, so after close and Delphi opens, but it is "empty", only the IDE.

Can anyone give me any idea on what the deal is with using an older version of Delphi Firemonkey (XE8) on newer...

Can anyone give me any idea on what the deal is with using an older version of Delphi Firemonkey (XE8) on newer macOS systems? For example, I'm using XE8 and things work fine on my iMac with Yosemite, however I'm having app problems on my Mac Mini with High Sierra. Can I install xCode and PAServer on High Sierra and debug to there, or do I need the newest Delphi? (My employer is difficult to get to spend money on upgades).
Can anyone give me any idea on what the deal is with using an older version of Delphi Firemonkey (XE8) on newer macOS systems? For example, I'm using XE8 and things work fine on my iMac with Yosemite, however I'm having app problems on my Mac Mini with High Sierra. Can I install xCode and PAServer on High Sierra and debug to there, or do I need the newest Delphi? (My employer is difficult to get to spend money on upgades).

I am building an iOS app that requires different dialog box title, I was browsing in the FMX.Dialogs.iOS source code and in the MessageDialogAsync method implementation it creates a UIAlertView with a title but limited only to the Delphi defined dialog titles.

I am building an iOS app that requires different dialog box title, I was browsing in the FMX.Dialogs.iOS source code and in the MessageDialogAsync method implementation it creates a UIAlertView with a title but limited only to the Delphi defined dialog titles. My idea is to overload the MessageDialogAsync method to accept an additional parameter "Title", for example the MsgDlgType given is mtCustom. Currently, when you choose mtCustom dialog type the dialog Title is set to blank. What I want to know is the proper step to introduce this new method in the existing class and interface.

Just published my smallest ever open source project - 1 unit (not counting the

Just published my smallest ever open source project - 1 unit (not counting the unit tests) https://github.com/VSoftTechnologies/SemanticVersion A simple Semantic Version 2.0 parser - I needed one, couldn't find one for delphi so I baked my own. https://github.com/VSoftTechnologies/SemanticVersion

BIG NEWS : Delphi Community edition is here ..

let's say hi to the Delphi CE edition in this video i will share with you some information about this edition https://youtu.be/IOXHc40lvbY

Afraid to ask a stupid question, but both Method.Invoke() cases in this example should not work?

Afraid to ask a stupid question, but both Method.Invoke() cases in this example should not work? https://gist.github.com/dipold/731f6262e208ea65e4b1211795ddea36
Finally!

Delphi Community Edition available:

Delphi Community Edition available: https://www.embarcadero.com/products/delphi/starter/free-download

I need to download a binary file > 2GB (about 3.5GB) on Win64.

I need to download a binary file > 2GB (about 3.5GB) on Win64. I know TMemoryStream etc is broken, because it uses LongInt instead of NativeInt. Is there a fix to the RTL that I can download. I know I can write my own TMemoryStream, but I'd much rather use a patch to the RTL that fixes in all places where the streams are used. I'm using Tokyo BTW, very miffed that this is still not fixed. Yes, I know TMemoryStream is an anti-pattern and I agree: https://stackoverflow.com/questions/34801278/delphi-out-of-memory-error-when-i-load-file-to-memory-stream But right now I just need to have TMemoryStream fixed. Even using TFileStream I have to load the file in chucks: procedure TForm2.BtnOpenFileClick(Sender: TObject); var MS: TFileStream; begin if FileOpenDialog1.Execute then begin SetLength(Buffer, _2GB); MS:= TFileStream.Create(FileOpenDialog1.FileName, fmOpenRead); try MS.Read(Buffer, _2GB div 2); MS.Read(Buffer, _2GB div 2, _2GB div 2); finally

Delphi build-events are not batch files. They are statements concatenated into one big statement using ampersands.. Which means that when you use if statements, you need to wrap them in parentheses:

Delphi build-events are not batch files. They are statements concatenated into one big statement using ampersands.. Which means that when you use if statements, you need to wrap them in parentheses: https://stackoverflow.com/questions/51386746/post-build-event-with-multiple-if-copy-combinations-only-execute-if-first-file-d Which means I need to update https://wiert.me/2014/11/20/delphi-prebuildpostbuild-events/ https://stackoverflow.com/questions/51386746/post-build-event-with-multiple-if-copy-combinations-only-execute-if-first-file-d

【develope rabbitmq client for delphi xe】-part2

Image
【develope rabbitmq client for delphi xe】-part2 The MSG in the dead-letter queue is automatically added by the system to some identity attributes, x-death (which is an Array), and x-first-death-exchange (queue/reason). If the message in the dead-letter queue enters because it is not due to an exception (publisher code control), it enters due to timeout, and the message can still be read (consumed) normally, as long as the code does special processing. try //解码Header,如果从死信队列接收,其中还有 (x-death) Array with aMsg.Header.PropertyList.ApplicationHeaders do begin if IsFieldExist('x-death') then begin vDeath := Field['x-death'].AsArray; if vDeath.Items[0].kind = 'F' then begin vTable := vDeath.Items[0].CastAsTable; SiMain.LogInt64('TAsyncHello.DecodeMessage->count', vTable.FieldByName('count').Value.AsLongLongInt.Value);

Since there was this offtopic argument going on about performance of for-in versus for-to.

Since there was this offtopic argument going on about performance of for-in versus for-to. http://delphisorcery.blogspot.com/2018/07/loop-wars-measuring-performance.html

Not a major problem, but given that xProp is a TRttiProperty instance is there a better way to get the ClassType of a property that is tkClass?

Not a major problem, but given that xProp is a TRttiProperty instance is there a better way to get the ClassType of a property that is tkClass? x := GetTypeData(xProp.PropertyType.Handle)^.ClassType;

Hello people!

Hello people! I'm a novice as an Android developer and just want to ask - can I build an Android service under Delphi? The service must be used not only from Delphi applications but also from Java developers. The goal...I want to send some commands to a device via bluetooth and of course to receive the answers of these commands. I ask here because Delphi is my favorite language and do not want to made it under Java or so on... languages or other IDE's. Please - do not use my questions to start a discussion - just answer me if you want :) Any help, links, advises or books are welcome!

Spring4D

Spring4D I use in my code this type alias: type TSQLConfig = IDictionary ; How to register this type in IoC container? ps. IDictionary comes from Spring Collections.

Please, somebody tell me that I made a mistake in this code.

Please, somebody tell me that I made a mistake in this code. Otherwise it would mean that this has been broken since Delphi 6 days and nobody noticed. ---- report ---- The IOTAComponent method SetPropByName, when used for an integer property, always sets that property to 0 instead of the desired value. constructor Tf_SetIntPropertyTest.Create(_Owner: TComponent); var i: Integer; fe: IOTAFormEditor; root: IOTAComponent; cmp: IOTAComponent; CmpName: string; IntValue: Integer; begin inherited Create(_Owner); fe := GetActiveFormEditor; if not Assigned(fe) then begin m_Output.Lines.Add('No active form editor'); end else begin root := fe.GetRootComponent; for i := 0 to root.GetComponentCount - 1 do begin cmp := root.GetComponent; if cmp.GetPropValueByName('Name', CmpName) then begin m_Output.Lines.Add(CmpName + ': ' + cmp.GetComponentType); if cmp.GetComponentType = 'TTimer' then begin if cm

RAD Server 10.2.3 Performance Patch

RAD Server 10.2.3 Performance Patch http://blog.marcocantu.com/blog/2018-july-radserver-performance-patch.html http://blog.marcocantu.com/blog/2018-july-radserver-performance-patch.html

I've imported a WSDL file and have used the resulting SOAP classes to create an app that communicates with a remote service. It was easy to setup and worked liked a charm, for small amounts of data (around 80 items). However, when I send an object with more items, I get the following error: Request Entity Too Large (413). I've been told the server has been modified to accept larger entities and I've been asked to change settings on the client side to also allow for this.

I've imported a WSDL file and have used the resulting SOAP classes to create an app that communicates with a remote service. It was easy to setup and worked liked a charm, for small amounts of data (around 80 items). However, when I send an object with more items, I get the following error: Request Entity Too Large (413). I've been told the server has been modified to accept larger entities and I've been asked to change settings on the client side to also allow for this. Specifically: maxBufferPoolSize="2147483647" maxReceivedMessageSize="2147483647" readerQuotas maxDepth="32" maxStringContentLength="2147483647" maxArrayLength="2147483647" maxBytesPerRead="4096" maxNameTableCharCount="16384" I'm not sure where to find these settings though - the instruction is coming from a C# developer. I'm us

Tired of setting common application settings zillion times for each compiler/release variant?

Tired of setting common application settings zillion times for each compiler/release variant? Please vote for: Combine common application settings based on OS platform https://quality.embarcadero.com/browse/RSP-20883 https://quality.embarcadero.com/browse/RSP-20883

Hello!

Hello! I have two Android devices but they don't exchange seamlessly when plugged in and Delphi is open. Anyone knows how to do this? Thanks! A

I wonder what that means for Delphi development. Is he going to work on the actual compiler and/or IDE? Or is it just another position in extended marketing?

I wonder what that means for Delphi development. Is he going to work on the actual compiler and/or IDE? Or is it just another position in extended marketing? via Ondrej Kelle Ondrej Kelle Ondrej Kelle Ondrej Kelle Originally shared by Lennart Aasenden #Delphi https://jonlennartaasenden.wordpress.com/2018/07/16/starting-at-embarcadero/

Rabbitmq client for delphi XE——part1

Rabbitmq client for delphi XE——part1 https://stackoverflow.com/questions/18220257/amqp-content-header-payload-structure procedure TAMQPMessageProperties.LoadFromStream(AStream: TStream); var Flags: UInt16; begin AStream.ReadUInt16( Flags ); if Flags and $8000 = $8000 then FContentType.LoadFromStream( AStream ); if Flags and $4000 = $4000 then FContentEncoding.LoadFromStream( AStream ); if Flags and $2000 = $2000 then FApplicationHeaders.LoadFromStream( AStream ); if Flags and $1000 = $1000 then FDeliveryMode.LoadFromStream( AStream ); if Flags and $0800 = $0800 then FPriority.LoadFromStream( AStream ); if Flags and $0400 = $0400 then FCorrelationID.LoadFromStream( AStream ); if Flags and $0200 = $0200 then FReplyTo.LoadFromStream( AStream ); if Flags and $0100 = $0100 then FExpiration.LoadFromStream( AStream ); if Flags and $0080 = $0080 then FMessageID.LoadFromStream( AStream ); if Flags and $0040 = $0040 then FTimestamp.LoadFromStream( AStream ); if Flags an
I know, it's off topic but "Vive la France 🇫🇷". 😄

Finally - able to view 2 files side by side. Sure you can undock it and do it with the window but it doesnt work as well and the Delphi IDE really freaks out if that second window goes to a different monitor with a different DPI setting.

Image
Finally - able to view 2 files side by side. Sure you can undock it and do it with the window but it doesnt work as well and the Delphi IDE really freaks out if that second window goes to a different monitor with a different DPI setting. https://github.com/LaKraven/RADSplit

How and why I built rabbitmq client for delphi

Image
How and why I built rabbitmq client for delphi What is rabbitmq client for delphi? There are many versions of the AMQP client on the official website of rabbitmq, and the whole community is also java, python version of the client is Mainstream .The client of delphi version is only "Habari Client for RabbitMQ", it's a commercial software, requires more than 200 dollar. Looking for github, I finally found 2 open source clients: Https://github.com/lgadina/comotobo Https://github.com/lgadina/rabbitmq-library Rabbitmq-library has no demo, and the comment is almost zero. Comotobo is very simple to write, there is a demo, but to be used for enterprise applications, you have to rewrite on this basis. Rabbitmq-library is relatively complete, except that Tx is not implemented in depth. Others such as Connection, Exchange, Queue, and Channel can be used directly. The problem I wanted to solve Delphi is a native Windows development tool that does not require a virtual machine. With t

Lots of people trying Firemonkey and Lots of people moving to Java or C#.

Lots of people trying Firemonkey and Lots of people moving to Java or C#. The question is, is Firemonkey a viable choice for developing GUI apps for Android phones and tablets? I certainly see not advertisements for people looking for Firemonkey developers.

Originally shared by Thomas Mueller (dummzeuch)

Originally shared by Thomas Mueller (dummzeuch) I switched “my” (meaning the license my employer bought for me) Delphi “Named User License” with subscription to a “Network Named User License” in April 2018. The rationale behind that was, that it happened far too often that I needed yet another Delphi… http://blog.dummzeuch.de/2018/07/14/some-information-about-embarcadero-licence-center/
When using a mutex what actually performs a lock. Waitforsingleobject or acquire? Its a bit confusing as many examples never show an acquire method call. The often use waitforsingleobject and release.

This is a compiler Delphi Berlin bug?

This is a compiler Delphi Berlin bug? [dcc32 Fatal Error] Project1.dpr(18): F2084 Internal Error: C28078 From Docs: TypeHandle is an alias to the TypeInfo intrinsic routine. Using TypeInfo() make compiler happy: program Project1; {$APPTYPE CONSOLE} {$R *.res} uses System.Rtti, System.SysUtils; type TFoo = class class procedure Bar; end; class procedure TFoo .Bar; begin TRttiContext.Create.GetType(TypeHandle(T)); end; begin try TFoo .Bar; except on E: Exception do Writeln(E.ClassName, ': ', E.Message); end; end.

Sprin4D, register factory

Sprin4D, register factory I have a class that implements the interface: TMyClass = class(TInterfacedObject, IMyInterface) public constructor Create(ParamA : string; ParamB : Integer; ParamC : Boolean); end; and the factory: TMyInterfaceFactoryA = reference to function(ParamA : string; ParamB : Integer; ParamC : Boolean) : IMyInterface; which I register in the spring: Container.RegisterType ; Container.RegisterFactory ; Then I resolve the factory and create an interface, it works ok. But I would like a second factory that will always give ParamC a constant value, e.g. True I tried this: TMyInterfaceFactoryB = reference to function(ParamA : string; ParamB : Integer) : IMyInterface; but I get error when resolving: 'Unsatisfied constructor on type TMyClass' How to declare and register such a factory?

Hi guys, I'm trying to integrate an Android AppWidget (built in Android Studio) in to an Android Firemonkey application built using Delphi 10.1 (Berlin). All the widget has in its update function is a new RemoteView and then a setTextViewText on that view.

Hi guys, I'm trying to integrate an Android AppWidget (built in Android Studio) in to an Android Firemonkey application built using Delphi 10.1 (Berlin). All the widget has in its update function is a new RemoteView and then a setTextViewText on that view. I've got to the point where I've managed to integrate the widget in to my Firemonkey app in Delphi, I can drop the widget from my deployed Delphi app on to the homescreen and it doesn't crash - but it also doesn't display the TextView text - nor does the LogCat give me an error to go off! To get the widget integrated in to Delphi I created the widget as a library in a dummy app so I can lift the appwidget in to my Firemonkey app. This deploys correctly from Android studio to the device. Then I followed this SO post to create a .jar file to drop in to my project libraries folder in the Delphi project... https://stackoverflow.com/questions/21712714/how-to-make-a-jar-out-from-an-android-studio-project Then I had to f

We are gladly announcing the release of Delphi Data Access Components with support for Lazarus 1.8.4, specific features of cloud and database providers in UniDAC, and much more.

We are gladly announcing the release of Delphi Data Access Components with support for Lazarus 1.8.4, specific features of cloud and database providers in UniDAC, and much more. Here you will find a summary of the most notable changes in this release. Enjoy new DAC versions https://goo.gl/JjtmZa https://goo.gl/JjtmZa

Hello!

Hello! I am having an attack of stupidity and can't figure out where I am going wrong. This is my dataset ( TFDMemTable ): object tblJobs: TFDMemTable OnCalcFields = tblJobsCalcFields FieldDefs = <> IndexDefs = <> FetchOptions.AssignedValues = [evMode] FetchOptions.Mode = fmAll ResourceOptions.AssignedValues = [rvPersistent, rvSilentMode] ResourceOptions.Persistent = True ResourceOptions.SilentMode = True UpdateOptions.AssignedValues = [uvCheckRequired, uvAutoCommitUpdates] UpdateOptions.CheckRequired = False UpdateOptions.AutoCommitUpdates = True StoreDefs = True Left = 408 Top = 152 object tblJobsID: TAutoIncField FieldName = 'ID' Visible = False end object tblJobsCOMPANY_ID: TIntegerField FieldName = 'COMPANY_ID' Visible = False end object tblJobsREFERENCE: TWideStringField DisplayLabel = 'Ref#' FieldName = 'REFERENCE' Size = 255 end object tblJobsTITLE: TWideStringF

What are the solutions for a wizard like application (a single form with content changed depending on some action) in Firemonkey?

What are the solutions for a wizard like application (a single form with content changed depending on some action) in Firemonkey? I've been using TFormStand to have a single form and load frames dynamically, but have some AV in the stept when changing frames. The other way I think I could use tabs and plaing with page indexes. What keeps me away from using tabs is the possible of application size, or maybe I am wrong. What are your way for such apps?

I have this issue when using the TakePhotoCameraAction action item.

I have this issue when using the TakePhotoCameraAction action item. This issue started when I upgraded my iOS SDK from 9 to 11. Previously using Seattle and now Tokyo.... It all works fine from the time I take a photo and editing it but once I accept the photo the app crashes.

https://www.codeproject.com/Articles/1252175/Fixing-Delphis-Interface-Limitations

https://www.codeproject.com/Articles/1252175/Fixing-Delphis-Interface-Limitations https://www.codeproject.com/Articles/1252175/Fixing-Delphis-Interface-Limitations

One question... but first:

One question... but first: Goodbye to our subscription renewal this year. We really can not afford it. What's worse, a representative in my country offering the renovation said something like this: "By not renewing, you can not activate if you exhaust your number of activations allowed (and maybe he/she add: we can't help you)" This sounds like blackmail. Note: I did not take the call, it was our programmer. So it is not clear to me how the representative really "offered" the renovation. But my programmer tells me that's what he said. The question is: If we do not renew our subscription, I know that we can re-install and exhaust the activations: Can we request activations without an active subscription? (and, I don't want to install a license server) :D I demand an official "cr@ck" from Emba/Idera/... to be on the safe/legal side. Tied on our license/serial. That was the old way in D7. :D

The code generates an access violation error when trying to execute TFoo methods that are private (just change to...

The code generates an access violation error when trying to execute TFoo methods that are private (just change to public to work as espected). How can I solve this without changing the visibility of TFoo methods? https://gist.github.com/dipold/7b871788222dd7eb94962a9cc92d2e9a

The code generates an access violation error when trying to execute TFoo methods that are private (just change to public to work as espected).

The code generates an access violation error when trying to execute TFoo methods that are private (just change to public to work as espected). How can I solve this without changing the visibility of TFoo methods? https://gist.github.com/dipold/7b871788222dd7eb94962a9cc92d2e9a

In an effort to promote general awareness of Delphi I have moved a recent blog post about Delphi to CodeProject and...

In an effort to promote general awareness of Delphi I have moved a recent blog post about Delphi to CodeProject and I will post more articles there about Delphi. Please consider voting for the article to help up it in the global CodeProject visibility. This article is extremely short, more of a snippet but I have some more detailed articles I plan to post shortly: https://www.codeproject.com/Articles/1252167/Delphi-Language-Progression-Suggestions CodeProject gets a LOT of traffic. While they have Delphi listed as a language, there are very few articles there. Please consider joining me in posting Delphi Articles on CodeProject and help raise the awareness of Delphi itself. https://www.codeproject.com/Articles/1252167/Delphi-Language-Progression-Suggestions

In an effort to promote general awareness of Delphi I have moved a recent blog post about Delphi to CodeProject and I will post more articles there about Delphi.

In an effort to promote general awareness of Delphi I have moved a recent blog post about Delphi to CodeProject and I will post more articles there about Delphi. Please consider voting for the article to help up it in the global CodeProject visibility. This article is extremely short, more of a snippet but I have some more detailed articles I plan to post shortly: https://www.codeproject.com/Articles/1252167/Delphi-Language-Progression-Suggestions CodeProject gets a LOT of traffic. While they have Delphi listed as a language, there are very few articles there. Please consider joining me in posting Delphi Articles on CodeProject and help raise the awareness of Delphi itself. https://www.codeproject.com/Articles/1252167/Delphi-Language-Progression-Suggestions

Is there a way to get the type of a generic variable in delphi at compile time? In C++ I'd do something like this:

Is there a way to get the type of a generic variable in delphi at compile time? In C++ I'd do something like this: template auto test(T x, T y) { if (std::is_floating_point ::value) std::cout << "floating point" << std::endl; if (std::is_integral ::value) std::cout << "integral point" << std::endl; return x + y; } I'm using the library that does runtime checks. Can I do something similar in delphi? I have a generic class with some methods and I'd need to check the type values because there are different behaviors. I know that RTTI exists but it's at runtime

any third party or code for PDF compression ?

any third party or code for PDF compression ? I need send a PDF, read it and compress PDF
Calling TTakePhotoFromCameraAction crashes in iOS 11

On previous version of Delphi this line of code is working....

On previous version of Delphi this line of code is working.... Status := TAVCaptureDevice.OCClass.authorizationStatusForMediaType(AVMediaTypeVideo); but under Tokyo this method "authorizationStatusForMediaType" does not exists anymore.... How do I test if the app is authorize to use the camera app in iOS.

New version of kbmMW released!

New version of kbmMW released! https://components4developers.blog/2018/07/12/ann-kbmmw-professional-and-enterprise-edition-v-5-06-20-released/

New version of kbmMemTable released!

New version of kbmMemTable released! https://components4developers.blog/2018/07/12/kbmmemtable-v-7-80-10-standard-and-professional-edition-released/
I put the TAniIndicator on my Android application. Problem is: the size. It defaults as 50x50px but look likes a 25x25px size. Is there something I can do to fix it?

Does anyone have a working example of an Indy Email client that will send attachments.

Does anyone have a working example of an Indy Email client that will send attachments. I am working with RAD Studio 10.2.2 My example keeps giving an error for attempting to connect to port :25 when I specified port :465

I wonder if anyone is bold enough to put his Delphi web application framework up for test since I don't see any in that list - I wonder how they would perform.

I wonder if anyone is bold enough to put his Delphi web application framework up for test since I don't see any in that list - I wonder how they would perform. mORMot (A. Bouchez), DMVC (Daniele Teti), Mars (Andrea Magni), RADServer (Marco Cantù) - I guess there are more but those where the ones that came to my mind https://www.techempower.com/benchmarks/

Why code completion doesn't work in a specific project?

Why code completion doesn't work in a specific project? We are using XE3, and this happens on other developers systems too, so its not a local configuration issue. When I open other projects, code completion works, but when I open this specific DLL project, then code completion doesn't. Any idea what could be going on with Delphi to cause this, and how to fix it? When I type anything like MyObject. and press Ctrl+Space, I only see "template" entries in the popup window. This even occurs for VCL classes too (simply everything really). Yet the project compiles and runs fine, so its not as if there is a compiler error that somehow stops code completion from working. Like I said, this project is to generate a DLL that works as a MS Word add-in. Does Delphi not support code completion for DLL-type projects? I would think that very odd. I can Ctrl+LClick to navigate to units and data types, so Delphi knows where to find those units or classes.

Limited Time Bonus Offer!

https://uberpdf.org/indexplus.htm

somebody posted some info recently on interfacing Delphi with javascript widgets and events running inside of a TWebBrowser, but I can't seem to find it, and Google is not being helpful for what I'm searching on.

somebody posted some info recently on interfacing Delphi with javascript widgets and events running inside of a TWebBrowser, but I can't seem to find it, and Google is not being helpful for what I'm searching on. We need our app to interact with a simple web form that uses some javascript to encrypt and submit data, then we'll get back some data that requires us to respond to javascript events and pull data out of some div variables. What options do we have?

New blog post!

New blog post! https://components4developers.blog/2018/07/10/kbmmw-safety-first-2-hw-random-numbers/

Fellow Delphi developers

Image
Fellow Delphi developers, We are glad to announce a huge 60% discount on HelpNDoc Professional Edition, including updates and upgrades starting now, and for a few hours only: https://www.helpndoc.com/news/2018-07-10-60-discount-today-only-helpndoc-professional-edition HelpNDoc is an easy to use yet powerful help authoring tool producing CHM help files, responsive HTML and mobile Websites, DocX and PDF manuals, ePub and Kindle eBooks as well as Qt Help files from a single source. HelpNDoc is Free for personal use and evaluation purposes and is available at: https://www.helpndoc.com But hurry up as this 60% discount will only be available for a few hours... https://www.helpndoc.com/news/2018-07-10-60-discount-today-only-helpndoc-professional-edition Follow our step-by-step video guides to learn how to use HelpNDoc: https://youtu.be/u1XVAR985g8?list=PLe52dEok5gAlrGpJ9IxdFEfVrCjTucOhF Best regards, John, HelpNDoc team. https://www.helpndoc.com Join us on social networks... * RSS feed: htt