Jump to content

gioma

Members
  • Content Count

    115
  • Joined

  • Last visited

Everything posted by gioma

  1. gioma

    Delphi 11.3 : FORSAKEN

    I have a subscription.. I understand that Delphi has always done this, but if something is wrong, should we keep doing it until the end of time? The IDE is unstable even without packages, but haven't you noticed that the longer you keep it open, the slower it gets? I use it 8-10 hours a day. My software isn't perfect either, but I fix known bugs, I don't leave them there forever.. Software that doesn't fix giant bugs is dead software. I have only installed plug-ins developed by Embarcadero included in my subscription. VS2019 is obsolete, you can easily switch to VS2022 (I have converted all my projects without any major problems), but in any case I have never had any problems loading projects. NB: My PC has fairly recent and high-performance hardware: Intel i7 10700 16GB DDR4 RAM NVIdia Quadro P620 Samsung SSD 990 PRO
  2. gioma

    Delphi 11.3 : FORSAKEN

    The fact that the IDE gives an "out of memory" error and freezes is not due to the operating system but to the Delphi engine which jams over time. In fact, the longer you keep Delphi open, the slower it will be to compile or debug. I have a 64-bit project and I had to give up debugging as it is extremely slow and inefficient (some functions can take minutes) despite taking up little RAM and CPU cycles.😭 I would like to point out that time is money for professional programmers, so I cannot and must not waste time patching software that should make my life easier and for which I pay a high price. As mentioned above, time is money and restarting the IDE 5/6 times a day is an unthinkable waste of time!😥 I hope someone who works for Embarcadero reads this post and realises what programming in Delphi means today. NB I love the Delphi language, but I can't program in Delphi 2007 (which doesn't cause major problems and therefore doesn't waste time writing code...) in 2023!
  3. gioma

    Delphi 11.3 : FORSAKEN

    Unfortunately, I know that this is the case, but I don't think it's the right and most importantly respectful way to go for the companies that continue to invest in Delphi. Imagine that those upgrading to Delphi 12 now have to reinstall all the components without any certainty that the old bugs have been fixed. In fact, it's almost certain that the bugs are still there! Why should I, as a software company, think about developing a new application using Delphi? I mean, having used this IDE for twenty years, I would never think of it! Delphi is staying afloat thanks to all the applications that are still hanging on, but what happens when they are finished? I mean, even though my project consists of hundreds of thousands of lines of code, I have often thought about moving on to something else, and I have built some of his modules using Visual Studio. I do not understand or agree with Embarcadero's policy of not releasing bug fixes on a regular basis and instead releasing a new version of Delphi every year.
  4. gioma

    Intercept "WM_COPY" on Windows

    Hi, I'm making a program that sends files from PC A to PC B. When I copy a file on one PC I would like it to be available on the other PC's cliboard. What I can do is manipulate the clibboard by copying the paths of the files I intend to transfer, but then I have to intercept the "copy" command in order to start the transfer. I tried with hooks but no way. Do any of you know how I could do this? Or maybe you have a different better idea? Thank you.
  5. gioma

    Intercept "WM_COPY" on Windows

    Thank you, you gave me a great case study 😊
  6. gioma

    Intercept "WM_COPY" on Windows

    it's not a walk in the park, if you were to do it in c++ it would be easier. With Delphi I can't find the interface wrappers or the structures I should be using. Ex In C++ // Create an OLE data source on the heap COleDataSource* pData = new COleDataSource; // Get the currently selected data HGLOBAL hGlob = GlobalAlloc(GMEM_FIXED, 64); strcpy_s((char*)hGlob, 64, "Current selection\r\n"); // For the appropriate data formats... pData->CacheGlobalData( CF_TEXT, hGlob ); // The Clipboard now owns the allocated memory // and will delete this data object // when new data is put on the Clipboard pData->SetClipboard(); In Delphi not Exist class COleDataSource ( Or I haven't found it yet ) COleDataSource has the virtual function OnRenderData that I might need.
  7. gioma

    Intercept "WM_COPY" on Windows

    the file does not exist on the filesystem at the time of the paste action because it has to be transferred from another PC.
  8. gioma

    Intercept "WM_COPY" on Windows

    Thanks for the reply. I had seen the first example and in fact I would like to try to derive the COleDataSource class, I just need to understand in which Delphi unit it is present! Of course I imagined it, but a little something could also be shared ..
  9. gioma

    Intercept "WM_COPY" on Windows

    Hi, thanks for the reply. I already do, mine is a remote control software. Currently I can transfer a file from one PC to another via a file browser (which opens on the parent site). But now I need to implement the "copy-paste" so I need to interact with the system clipboard. Thank you, it's an interesting example. Now I'm trying to use the COleDataSource class, overriding the OnRenderFileData method. It's still theory at the moment, but I'm looking for a way to make it work. Anyway, any ideas are always welcome! PS for example it would be interesting to know on which unit Delphi has the definition of these classes..
  10. gioma

    Intercept "WM_COPY" on Windows

    Hi, yes I'm using this way to monitor the clipboard, I didn't specify it because my problem arises later. I've read this article, but I still can't get into it. Time is never an ally, so I was looking for an example to start with, to avoid too many empty tests, and also because the testing phase is not easy, as we are dealing with two applications on two different PCs communicating via sockets. My specific case is as follows: I have two applications, A and B, connected by a socket connection. Application A intercepts the modification of its clipboard and sends the event to application B. Here we have two cases: 1 if it is a text, it copies it directly to the clipboard 2 if it is a file, it copies the list to the clipboard. Up to point 1 there are, while I have difficulty understanding how to pass the list of files to PC B (or rather I can do this phase) and make sure that when I press "paste" (here is the real problem which I'm racking my brain over) the file list transfer begins and the system waits for the files to be transferred before completing the paste command. I can't find half an example of this on the net, I can't believe no one has ever done this before, maybe even in C, C++.
  11. gioma

    Intercept "WM_COPY" on Windows

    Thanks for the reply. I already do this, in fact if I copy paste a text it works perfectly. The problem instead I have with the files because they are not yet available on the file system because they come from the other PC. I send the list of files but I would like it to start the transfer only when "paste" is pressed and then the "paste window" waits for the files to be completely transferred and therefore available.
  12. Hi I changed the screen resolution and the Delphi 11.2 menu got "messed up". I tried to restart Delphi but nothing, now I think those positions and sizes are marked in some configuration file and there's no way to fix it dall'IDE. Now the only way to work with it is to deactivate the various menus How can I reset the menus positions/sizes ?
  13. Form Embarcadero Support: 1) make sure the IDE is shutdown 2) run regedit 3) go to: HKEY_CURRENT_USER\SOFTWARE\Embarcadero\BDS\22.0\Toolbars 4) you should see an entry "Version" it is a DWORD change it to zero (aka 0). Solved!
  14. I've opened them all and none seem to have those settings! I wrote to Embarcadero, let's see what they reply.
  15. now I try to discover in that folder which is the file that regulates the positions of that menu
  16. Hello everyone, I have an application developed in Delphi 11.2, I changed the DPI Awareness by selecting the "MonitorV2" option, but the change has no effect on the exe generated in that specific folder. If instead I move in othrer folder the generated file then everything works fine. I believe it's the windows cache (in this case windows 11) not allowing to reload the manifest of the file. I tried restarting the OS, but that didn't work. Is there a way to solve this problem?
  17. the settings appear to be correct: <asmv3:application> <asmv3:windowsSettings> <dpiAware xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">true/pm</dpiAware> <dpiAwareness xmlns="http://schemas.microsoft.com/SMI/2016/WindowsSettings">PerMonitorV2</dpiAwareness> </asmv3:windowsSettings> </asmv3:application>
  18. Awesome bug that is wasting me a lot of time..and the patches come out ONE every year!!! Very disappointed with this..
  19. In the new session ignore all the components you have installed, even the Delphi patch is no longer installed.
  20. yes, it works, but it doesn't load any components that I have already installed and have to recompile the "world".
  21. The problem is that it won't let me do anything, because the menus changed size and that thing is not manually editable.
  22. I modified the manifest file on the project options, but it is not a file external to the exe.
  23. I Have undocked the menus... this is the result.. @#!@@
  24. I clicked on the reset button.. here's the result, the problem I don't think is related to the profile, but he changed a generic menu setting and now there's no way to get him to reset that!
×