Jump to content

Juan C.Cilleruelo

Members
  • Content Count

    103
  • Joined

  • Last visited

Posts posted by Juan C.Cilleruelo


  1. Tired of creating the descendants of TActiveRecord by hand?
     

    GitHub MVC_AR_EntityGenerator is an OpenSource project developed in Delphi XE 12 that takes the metadata of your Database and creates one class ActiveRecord of each Table in the Database.

    You can generate the AR of one table or one AR class for each table in the Database. You can indicate in which folder the AR file should be deployed, and the program will remember it. 
    Each AR is generated in an independent .pas file. 
    1639536283_Screenshot2023-12-19174011.thumb.png.0cab6aac8faf2369011d6637706992d1.png

    And this is only the Beta version. 
     

    You save all the information used to generate the AR; when you need to develop it again, you only need to use it. 
    2089869106_Screenshot2023-12-19174112.thumb.png.179f16eb0262f938a90fccfe388277d4.png

    In the next version, we plan to implement more types of AR, like, for example, AR with a Master-Detail Relationship. 
     

    In the current version, you can change the name of the Class generated. This is useful when you want, for example, the AR class representing one member of the entity Customers, instead of being named TCustomers, to be named TCustomer; that is more accurate.
     

    I want to implement, too, a connection with the AI (probably Chat-GPT) to ask directly for the translation of the plural table names to singular class names. In this target, I want the AI to modify the table name to respect the Camel Style of Pascal Class names. For example, a table named Items_Owned_by_user is currently created as TItemsownedbyuser. The AI can easily convert this to TItemsOwnedByUser, which is more accurate to the style of  Pascal code. 

    And many more things can be made with an open-source project. Do you don't think it!!
     

    Try it, and let us know what you think!
     

    Thanks 

     

    PD: The project is also an excellent example of using SQLite as a memory store for the data and treating this data as a standalone project, in contrast to the concept of a Database on Disk, which is more current in Delphi.


     

    • Like 1

  2. 4 hours ago, Brian Evans said:

    Not sure ARM will avoid the fate of the Motorola 68000 and PowerPC when going against x86 head on. The size of the full x86 ecosystem means there is much more money for processor development so that even when a competitor gets in a few wins it often falls behind over time. ARM has racked up some solid wins due to circumstances that are changing - x86 is no longer stalled by AMD (Bulldozer) or Intel (14nm) with both now making solid progress. 

     

    Apple added support for the x86 memory access model to the M1/M2/M3 processors which makes running multi-core x86 emulation much easier and higher performing. This means during Apple's transition to ARM the latest x86 based Mac software runs well on the new M1/M2/M3 hardware. Since no other ARM systems currently have anything equivalent it means the latest Windows x86 software will run comparatively poorly on an ARM based system. That makes any transition or even just fielding Windows ARM systems harder as some programs will fare poorly. Apple has really aced the transition to ARM.

     

    I think x86 will remain strong due to the large legacy and current software libraries. Same for Windows itself. I do not think Windows for ARM will succeed - it can't run modern x86 software well making any transition off x86 very rough.  

    "640 Kb of RAM is sufficient for many years of PC evolution. Don't worry".
     
    I think that in the last quarter of 2024, there will be a lot of PCs with ARM.  Probably running poorly programs compiled natively for the Win64 platform. 
    I think that the concern of Embarcader must be to develop a WinArm compiler for Windows as soon as possible. 


  3. 4 hours ago, Der schöne Günther said:

    I have not been keeping up with the news. Are there really lots of incompatibilities on Windows on ARM left?

     

    I thought some DirectX and OpenGL stuff (games, mostly) will not work, but apart from that 99,9% of all "regular" software should?

    Microsoft is an enterprise, not an NGO. Because of this, you cant think about this: Why Windows for Arm is not still a commercial product? 

     

    99.9%??? jajaja. Try to do something serious with it and you are going to see the problems.  


  4. 18 minutes ago, Cristian Peța said:

    Apple is giving you no choice. With Windows people can choose and there are not so many eager to embrace this change.

    Sure?  Intel apps for Mac OS work well in Arm Macs, thanks to Rosetta 2. 
    Probably, the problem is that Microsoft does not have this technology. 

     

    Arm technology allows, with the same batteries, more than 20 hours between charges, for example. 

    Arm technology allows a much more power computation, without consuming more energy. 

     

    Really do you think that the future is Intel architecture? 

    Or do you think that Intel is ready to create processors without these limitations? 

    • Like 1

  5. 1 hour ago, Der schöne Günther said:

    I struggle to understand what message this article is really trying to bring across.

    I think it's speaking about the gap that is currently becoming between Apple and Windows technologies.   
     

    Since Apple is embracing ARM architecture, Microsoft is still waiting to no one know what, while in the field of hardware, the technology was ready a time ago. 
     

    Even Chrome OS was adopted ARM quickly. It was very easy in this case, of course. 


  6. https://www.neowin.net/news/microsoft-launches-arm-advisory-service-to-help-developers-make-windows-arm-based-apps/

    Microsoft has just launched a new and free program for Windows developers who need assistance in adapting their Windows apps to run on Arm processor-based PCs. The program is called the Arm Advisory Service.


  7. 2 hours ago, Lars Fosdal said:

    @Juan C.Cilleruelo

    I've run

    - RAD Studio (32-bit) and Windows apps (32 and 64-bit) made with it 

    - Visual Studio 17.4 (64-bit) and .NET apps made with it.

    - GitKraken (Electron)

    - VS Code (Electron)

    under Windows 11 for ARM in Parallells on my MacBook Pro M1.

     

    Windows 11 for ARM emulates x86 and x64 apps pretty darn good - there is no need to have a native ARM app.

    Considering my projects compiles faster in RAD Studio under Windows 11 for ARM in Parallells under MacOS, than on my one year old Lenovo P16 i7. I am not sure what went wrong for you.

     

    Try this: Matlab. 


  8. 2 hours ago, David Heffernan said:

    Price of Apple more like

    I don't want to enter in this stupid way. A computer of others, MSI, Asus, Dell, Lenovo or HP, with the same characteristics can double the price of the Apple. 

    And it doesn't have an Office suite. You need to pay it apart every year! 

     

    You save money if you steal the Operating System and the Office Licence. Or if you install Ubuntu or similar and take a for-life war with drivers, programs and configurations.  

     

    In my career, I'm in the next stage: I want things to work and dedicate my time to doing things, not to solving the problems of others. 

     

    In Mac, you don't need to steal anything. It's all in one forever. 

    And always working. 

     

    The only brand that has a product similar to Apple, after a very, very, very conscious comparison, is Microsoft. The Surface Laptop 5 with 32Gb RAM and 1Tb SSD is very similar to the Mac Book Air I first bought. With the discount, even the price was very similar. 


  9. 5 minutes ago, Der schöne Günther said:

    Yes, there is software that might not run out of the box (like apps based on OpenGL or DirectX), but for "regular users", most software runs without users even realizing it is being emulated.

    This is a great lie by Microsoft. Not only this type of program doesn't work on Windows ARM. I've tried it and, for any type of program, if you don't find a version with the label ARM, it doesn't work on Windows ARM. 

    Sometimes, with the label ARM, it doesn't work either. 

     

    You can read a lot of things about Windows ARM from Microsoft and from testers of computers, etc. But I tried it for days and I have the real experience. Nothing works well on Windows ARM. Currently. 


  10. 9 hours ago, David Heffernan said:

    ARM has to win in the end at least for portable devices. 

    This seems logical, but it is not a reality at this moment, nearly two years after the launching of Macs with M1 and M2 chips. 

     

    I think that is a loss of sales among engineers on the side of Apple.  Maybe Microsoft is thinking that this is a good opportunity and is delaying the development of the Windows ARM. 

     

    In my case, that works for Microsoft. I returned the MacBook and bought a Surface Laptop 5.   Same price, same quality, same design, but without the magic of Apple. But, when is not possible, is not possible.


  11. I've tried Windows ARM, and the applications Win32/Win64 don't work on it. 

    In Parallels, Matlab directly is not able to be installed.

    Really, you don't install Windows ARM. You download a beta version available from the installer. 

     

    In VMWare, you can't install not even the VMWare Tools. 

    In this case, you download a Hard Disk with Windows ARM installed. You need to convert this disk to VMWare format, and you can then run it.

    But it's worse than the parallels option. Nothing works well. You can find some software with ARM version that seems to work well. 

    But the software Win32/Win64 doesn't work on this Windows version, ARM. 

     

    My solution was to return my new MacBook Pro to the Apple store and recover my money.


  12. I can't find any topic about this new version of Windows that is creating a gap in software development.

    Many people have been developing software for Windows inside Windows virtual machines into a Mac OS X. 

    Since Apple launched the M1 and M2 processors, you need to install Windows ARM, which is still in a beta or less phase. 

     

    The significant problem is that the software you use inside Windows ARM needs to be compiled for this Windows version.

     

    I have not heard about a Delphi ARM target platform in the projects.  

     

    In what am I wrong about this topic?

     

     


  13. I'm taking an application of other programmer and I need to debug this application, in the Frontend (VCL) and in the Backend (DMVC), to understand all the techniques used in the source. 

     

    I'm thinking about to use Two Virtual Machines in the same host, to allow me to jump from the Frontend to the Backend at any moment. 

     

    Both running Delphi but with the correspondant part of the program.

     

    Anyone does this currently? Any consell, tip, trick or advise? 

     

    Thank you very much in advance. 


  14. On 1/22/2023 at 8:11 PM, shineworld said:

    That's what I do:

     

    1) download python embd version.

    2) added pip

    3) make a backup of this point

    4) used pio to install any package

    5) used pip to create a requirement.txt of installed packages with version

    6) used wheel to download whl of packages from requirements.txt

    7) zipped python embd of point 3

    😎 used innosetup to install my exe + python embed + whl packages

    9) during install placed exe in programs,l paced and extracted python in USERAPPDATA and then with script installed offline pip and whl packages.

     

     

    In this mode it's simple to upgrade packages with more fresh without touch python things and end user can install python and packages without a internet connection.

     

     

     

    I thank your explanation, but I see that the purpose of this method is to allow the final user to update the packages when he wants. 
    I don't want this. If the final user wishes to have python installed on his machine, he must install it as established and independently from my embedded python.

     

    My embedded python shall be updated only when the user installs a new version of my program. This is the spirit of "embedded" in this context.
     


  15. On 1/22/2023 at 1:02 PM, SwiftExpat said:

    ... I then PIP installed the modules so the version of each module is known and can be tested to work.

    I can't install the modules with pip. Seems it is not working well;

     

    C:\Views\CuttingBoards\bin\Win64\Python\Scripts>pip install pyvista
    Traceback (most recent call last):
      File "<frozen runpy>", line 198, in _run_module_as_main
      File "<frozen runpy>", line 88, in _run_code
      File "C:\Views\CuttingBoards\bin\Win64\Python\Scripts\pip.exe\__main__.py", line 4, in <module>
    ModuleNotFoundError: No module named 'pip'

     


  16. 6 hours ago, SwiftExpat said:

    I will add a requirement that you want a stable deployment to test against, so that you can certify your software and have a basic support level matrix.

    I think both requirements were implicit in the main ask. But thanks. 

     

    6 hours ago, SwiftExpat said:

    I selected python embedded, so I know my python version is 3.9.x.  I then PIP installed the modules so the version of each module is known and can be tested to work.

    I then zip all of that up and deploy it as a sub-directory to my executable.

    That's the solution I imagined: the response I searched for. 
    I understand that this is the working method of doing the standalone (embedded) deployments of third-party python tools. 
     

    For me, this is the meaning of "correct."

     

    6 hours ago, SwiftExpat said:

    Correct depends on what you believe you can support on the client system.

    I want that, for the client system administrator, to be transparent the installed version of python or the tools added. 

    If he wants, he cant install his own Python without collision with the python my Delphi program uses.
     

     

    Thank you @SwiftExpat


  17. I'm almost sure this is not the ideal forum to ask this, but maybe someone has a quick response.
     

    I want to deploy my Delphi application that uses Python4Delphi. 
    Because I wanted my application standalone, during the installation, I deployed to the Python version needed without registering it.  

    This allows me to not ask the user for the need to have a particular version of Python on his computer, but...

     

    Hat happens with the rest of the third-party modules, like Pyvista?

     

    On my computer, for developing the Delphi Application, I've installed Pyvista with pip, but I don't know how to install it at the same time that the Delphi Application.

     

    One option is from the installer, call pip to install it, but my Python is unregistered. I don't know if this is going to be possible. 

     

    Another option is to deploy the files I have on my developing computer, but I don't know if this will work on the target machine.

     

    Are there other options?

     

    Do you know a "correct" form of doing this?

     

    Many thanks for considering my request.

×