Jump to content

FabDev

Members
  • Content Count

    73
  • Joined

  • Last visited

Everything posted by FabDev

  1. FabDev

    Which Indy version in Delphi 12

    Hello, I have no time to test Delphi 12 for the moment. Can somebody say which version of Indy is in Delphi 12 ?
  2. Hello, I have exactly the same problem here after Delphi 12 installation. This directory has been created : C:\Users\Public\Documents\Embarcadero\Studio\23.0\CatalogRepository\AndroidSDK-2525-23.0.50491.5718 But a lot of files are missing in this directory (platforms, build-tools and platforms-tools subdirectories for example). Maybe because of an existing Delphi 11.3 + Android SDK (AndroidSDK-2525-22.0.47991.2819) always installed ?
  3. Hello, What is the better code to free a shared resource between thread (lStrings.free) : procedure TForm16.ShowComputedDetail; begin TTask.run( procedure var lTstrings:Tstrings; begin lTstrings:=Tstringlist.create; try ComputeDetail(lTstrings); TThread.Queue(nil, procedure begin MyTMemo.BeginUpdate; MyTMemo.lines.Assign(lTstrings); MyTMemo.EndUpdate; lTstrings.Free; end); finally end; end); end; or procedure TForm16.ShowComputedDetail; begin TTask.run( procedure var lTstrings:Tstrings; begin lTstrings:=Tstringlist.create; try ComputeDetail(lTstrings); TThread.Queue(nil, procedure begin MyTMemo.BeginUpdate; MyTMemo.lines.Assign(lTstrings); MyTMemo.EndUpdate; end); finally lTstrings.Free; end; end); end;
  4. FabDev

    IOS shared document path access

    Hello, I'am trying to access to shared document directory on IOS. The one you can found in default "File" application and after "On my Iphone"("sur mon Iphone" in french) : Application "FileHub", "Firefox" or "FTPManager" can store shared file here, but not me 😉. I have tried all path in TPath (IoUtils) class/record. Nothing seems to return it. The interesting TPath.GetSharedDocumentsPath return '' on IOS (confirmed by help). I have began to search it on, the very good, DelphiWorld/Kastri code source (like DW.FilesSelector.iOS.pas) without success for the moment...
  5. FabDev

    IOS shared document path access

    Thank you very much Dave, It's work fine. If I understand well with : UIFileSharingEnabled LSSupportsOpeningDocumentsInPlace root of document path (= TPath.GetDocumentsPath) become shared. Great job, you have written one of the most useful libraries Kastri and help HowTo repo (which I have missed !) of Firemonkey.
  6. FabDev

    IOS shared document path access

    Hello, Before I have asked my question here, I have coded an application which do something very close to your procedure TfrmAppPaths.RefreshPathList; Result, that confirm Delphi Help of Tpath, a lot the function return '' in IOS...
  7. FabDev

    When will we have a 64-bit IDE version ?

    I would like to say cloud-sync (file, calendar and address book). Yes on Microsoft terminal server. 32 bits executable because it never consume more than 1 GB of memory !
  8. FabDev

    When will we have a 64-bit IDE version ?

    Nearly 25 years old CRM software. With hundred of functionalities (Cloud, offline-replication, e-mailing, calendar sync etc.) that way I need a lot of third party components. Old but still updated to have a "modern user interface": The current version uses DevExpress RIbbon (= look very close to Office 2021) and the new Windows 11 skin...
  9. FabDev

    When will we have a 64-bit IDE version ?

    No there is a lot of time I have no connexion in design time. The connexion is done after my application is starting (ready state). Of course if you have connexion and heavy queries it's can take a lot of memory, but it's not the case. The question is what Delphi do when opening Search dialog at first time ? I can have the same problem when press F1 on a word or when doing refactoring for first time. Of course before LSP the problem was also in code completion/declaration search ...
  10. FabDev

    When will we have a 64-bit IDE version ?

    No, I do nothing I only select a word and press CTRL + SHIFT + F. At this moment you see the memory used increasing and decreasing after the dialog is shown. I don't press "OK" on search dialog. It's is the search dialog opening which take a lot of memory. Not the search on "Ok". Like you because of memory problem I use another more powerfull software to search word on directories. But sometime I use Delphi search. PS : I use search on directory because it's more efficient to search on my own source.
  11. FabDev

    When will we have a 64-bit IDE version ?

    Yes my project (> 8 millions of line code) use not far than 40 components libraries like Devexpress (90 % of them component), TMS VCL, IBDAC, Fastreport, Teechart, HTMLEditor, Scalabium, JEDI, Indy, ICS, ImageEN, Jam Software, HTML Editor etc... All components are always up to date to "limit" bug. PS : I can have same kind of memory using when press F1 on a word.
  12. FabDev

    When will we have a 64-bit IDE version ?

    How to get Out of Memory with Delphi IDE ? It's so easy ! Open a big project with a lot of files (units, forms, dfm etc..). Select a word and do a search (CTRL + SHIFT + F). You will see something like :
  13. FabDev

    When will we have a 64-bit IDE version ?

    Yes because I have a lot of out of memory I always check "Save on compile". And CTRL + S is my favourite short-cut 😉. Unlike Delphi IDE, despite a very component-rich interfaces (Office 2021 Style and TDI interface), my application very rarely "eat" more than 2 GB of memory. So I only compile in 32 bits. But I'am sure that's my out of memory errors at compilation time are only consequences of memory full by IDE. That's always show the Task manager of Windows ("maximum working memory range" column).
  14. FabDev

    When will we have a 64-bit IDE version ?

    But what is the difference when it stay only some little MB of memory available in IDE if you have 30 000 000 lines of code of 10 000 lines to compile ? It will fail both way. If I compile my software outside (command-line) the Delphi IDE I have never out of memory problems = And it's stay a lot of memory useable easy to compile more than 30 000 000 lines of code ! The compiler manages its memory very well but it still needs some! We can use Notepad++ (of course 64 bits) to open thousand of units (+ dfm) files and command line to compile without any problem too 😛
  15. FabDev

    When will we have a 64-bit IDE version ?

    In a large project, just launch a search (CTRL + SHIFT + F) and you will see the BDS.exe task increase by 500 MB of memory. How is the impact of 500 MB for a 32 bits application or a 64 bits one ?
  16. FabDev

    When will we have a 64-bit IDE version ?

    Yes I use a little more than 1200 PNG (icon) on two (24x24 and 16x16) TcxImageList in a commun TDataModule. All my ribbon, toolbar, buttons etc. of my forms are connected to these components. Of course it's take resource to display these icon in design time.
  17. FabDev

    When will we have a 64-bit IDE version ?

    Sorry but for me in 2023 any application which crash 10 times by day after using near to 3 GB of memory will be never called an "very useable application". And we don't ask to have only a 64 Bits IDE. Both version the time to stabilise the new one...
  18. FabDev

    When will we have a 64-bit IDE version ?

    I haven't say at 2.5 GB but after 2.5 GB. Each time I have out of memory Delphi IDE is near the 32 bits limit. I have no customised hardware reserved memory. My hardware is very very far away to be an entry level configuration or a limited manufacturer configuration. I have only Out of memory problem with Delphi IDE 32 bits. If 64 bits can't help to solve a memory problem, what is its purpose? I use Delphi from version to version and memory issues increase with increasing the size of a project and wizards contained in the IDE. The LSP (extrernal mmory using) have helped a lot to reduce the problems but it's still not enough... Out of resource "white dialog" screenshot : PS : Of course I have no "Out of memory" problem with my little project < 2 millions of line of code
  19. FabDev

    When will we have a 64-bit IDE version ?

    Of course 64 bits is a need ! Each time my Delphi IDE crash process monitor display more than 2.5 Gb used. My project (25 years) contains more than 7 million lines of code with more than 40 libraries of third-party components, it contains more than 600 forms. And do not say that it is too old because I change version to Delphi version (from 2 to 11.3) and I delete the old libraries (For Example BDE -> IBX -> IBDAC). I use ribbon like Winword 2021 and my latest DevExpress WXI skin and look and feel. Yes of course, some forms contain a lot of components, but in execution there is no problem with the 32-bit version, it's only in Design time. And what happens when more than 100 forms are opened at the same time or after intensive code completion using or pressing F1 (for help) > out of memory. This can happens after 30 minutes or sometimes 2 hours of coding. I have plenty of screenshots that show this out of 32 bits resources problem (Memory and certainly GDI) : My computer has 32 GB of memory, but the Delphi IDE crash after 2.5 GB...
  20. Hello, I recommand this very powerful component : TecNativeMap component
  21. Hello, With this code you can detect if Clipboard contains Text or a bitmap : if TPlatformServices.Current.SupportsPlatformService(IFMXClipboardService, Svc) then begin Value := Svc.GetClipboard; if not Value.IsEmpty then begin if Value.IsType<string> then begin ATexteSource := Value.ToString; PasteImage.Bitmap := nil; end else if Value.IsType<TBitmapSurface> then begin But how to detect if clipboard contains file ? Because in this case (= after copying files from Windows Explorer) Value.IsEmpty=true Of course the question is for any platform (Windows, IOS, MacOs etc...). Must we use a specific code for each OS ? I know how to do with VCL but not with FMX.
  22. Hello, In Delphi 11.3, why a pasted image from clipboard RGB becomes BGR on IOS 64 bits (16.5) ? This sample which paste a bitmap from clipboard is extracted from : https://docwiki.embarcadero.com/CodeExamples/Alexandria/en/FMX.CopyPaste_Sample https://github.com/Embarcadero/RADStudio11Demos/tree/main/Object Pascal/Multi-Device Samples/User Interface/CopyPaste => This demo has the same problem ! procedure TForm66.Button1Click(Sender: TObject); var Bitmap:TBitmap; LStream:TMemoryStream; Svc: IFMXClipboardService; Value: TValue; begin if TPlatformServices.Current.SupportsPlatformService(IFMXClipboardService, Svc) then begin Value := Svc.GetClipboard; if Value.IsType<TBitmapSurface> then begin ImageSRC.Bitmap.Assign(Value.AsType<TBitmapSurface>); end else showmessage('Clipboard not a bitmap'); end; end; Work fine on Windows 32 or 64 bits, Android 64 bits and MacOS 64 bits But on IOS 64 bits (16.5) image is pasted but RGB colors becomes BGR... is pasted to => Same with : GlobalUseMetal := True; GlobalUseSkia := True; Full sample in attachment. ImagePasteFromClipboardIOSRGBLost.zip
  23. The image provided in my sample is only to understand that happen. I don't check if all type a picture (png, jpeg etc..) have this problem. But it's a very easy to reproduce : 0) Take a photo 1) Select this photo (in photo app) 2) Copy this photo to the clipboard (with Share option in IOS) 3) Paste it in source app given or sample from Embarcadero "CopyPaste ". => RGB becomes BGR I have updated my report https://quality.embarcadero.com/browse/RSP-41896
  24. FabDev

    SDI <-> MDI forms

    Hello, Following this topic which finish to speak about MDI 😛 : About MDI component to TDI ( Tabbed Document Interface ). An efficient component exists since a long time in DevExpress component library : https://docs.devexpress.com/VCL/155103/ExpressBars/fundamentals/tabbed-mdi-manager https://docs.devexpress.com/VCL/dxTabbedMDI.TdxTabbedMDIManager After tested to convert a MDI application to a SDI application which was too complicated for end users they use TDI the best world of SDI/MDI. The only thing I don't succeed is to transform a MDI (TDI) form to a SDI one (and SDI -> MDI) without fully recreate it. Purpose is to do like webbrowser when you drop a tab outside. With recreate a form it it not very difficult : procedure TMyForm.Loaded; begin inherited; // default FormStyle := fsMDI if gSDIAsked then FormStyle := fsNormal; end; Any idea to switch a form SDI <-> MDI without recreate it ?
  25. FabDev

    SDI <-> MDI forms

    I confirm only experienced users can handle docking correctly. But the idea is not bad maybe only if each form can dock between each other in tabbed mode and alclient (= in full size of the destination form). Exactly do a web browser.
×