Jump to content

FPiette

Members
  • Content Count

    1131
  • Joined

  • Last visited

  • Days Won

    15

FPiette last won the day on November 29 2023

FPiette had the most liked content!

Community Reputation

373 Excellent

1 Follower

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. TCanvas is a kind of API for a drawing surface. It encapsulate drawing primitives like line or text. A TCanvas is a property of some other graphics component, for example an image component. This is at that component level that you must handle onClick. This being said, you should better explain what you need and what you already have, preferable with some code sample. If you explain correctly, chaces are that you get a helpful answers.
  2. I strongly recommend to use madExcept during development. It will catch - among other things - access to already freed object or memory which can cause what you see.
  3. FPiette

    How to use FireDAC TFDMetaInfoQuery component?

    That was it. Thanks.
  4. FPiette

    How to use FireDAC TFDMetaInfoQuery component?

    Just a single line: FDMetaInfoQuery1.Open; TFDMetaInfoQuery is connected at design time to a TFDConnection. The same connection is used for several TFDQuery and every request works file. Extract from the DFM: object FDMetaInfoQuery1: TFDMetaInfoQuery Connection = FDConnection1 MataInfoKind = mkTableTypeFields TableKinds = [tkTable] SchemaName = 'MySchema' Left = 328 Top = 64 end
  5. At runtime, I need to discover the structure of a MySQL table (Field names, types, sizes and more]. FireDAC TFDMetaInfoQuery component is supposed to do that but it doesn't work as expected. I got this error message: [FireDAC][Phys][MySQL]-339. A meta data argument [table type name] value must be specified. Don't tell me to use the auto-created fields.
  6. FPiette

    Delphi on Surface Pro with Qualcomm CPU?

    OK, you are tempted. But IMO that is a non-sense.
  7. FPiette

    Delphi on Surface Pro with Qualcomm CPU?

    According to Microsoft, most Win32/Win64 applications runs on the Surface Pro having an ARM processor. Of course there is an emulation layer to run Intel machine code on an ARM processor and there is probably a performance penalty. Tom's Guide reviewed two Surface Pro 9 : one with Intel i7-1255U and one with ARM SQ3. Intel configuration is largely superior to ARM configuration. There is only one area where ARM is better: battery life. This was expected given the lower performance of the ARM processor. If you plan to buy Surface Pro 9, pay attention to various configurations there are not at all equals!
  8. Is it a basic setup using default options and folders? Anything added after setup, like libraries, components, experts, addons and similar?
  9. To be clear, the question is not about Delphi installer. The elevated privileges are requested when running the IDE, after installation. Or is it me that did not understood the question ?
  10. I have the same UAC setting as you but I don't have any issue with the IDE requesting elevated privileges. There is something suspect on your system. Don't relax UAC settings!
  11. FPiette

    VCL Form Designer Zoom

    Using latest Delphi (12.1), you can open a new edit window (right click on the tab and select "New edit window". Then in the window which is opened, you see your source code and you can switch to design mode by clicking on "design" tab located bottom right of the edit window. Now, you see the form editor. It is still embedded in the designer window but it is bigger than in the main IDE window yet still not full screen. You can enter a feature request in Embarcadero Quality Portal. If you do, publish the reference here.
  12. FPiette

    LOCKED FILE

    Never! Which database are you using? Which database access component are you using?
  13. FPiette

    LOCKED FILE

    IMO it is not a good idea to unlock an locked file. Usually, a program lock a file because it is doing operation on the file which requires an exclusive access. Unlocking the file without shutting the program down will probably result in corrupted file or file in an inconsistent state when you access it (for example copy the file elsewhere).
  14. Well, I'm shocked. You were right! I've moved the creation of the components from the initialization part to the Execute procedure and It's the same fast now as Indy. Your ICS component event wre handled by the main thread which - you said that - is quite busy. Now that you created to component in thread's execute method, the events are handled by the thread. This is how Windows work with asynchronous operation (cooperative multitasking). We cannot change the component for you own need. You have the tools to do that in your own code. In the vast majority of programs using ICS component, no multithreading is ever needed. You have something wrong in your main thread for it to be so slow. Check your design and place multithreading where it is really helpful. I have an application using ICS that has more than 700 active users and yet doesn't make use of any thread. Both client and server are using ICS.
  15. You are not clear enough. You MUST create ICS component in the thread's Execute() method. Creating it in the thread's constructor will result of all events running in the main thread context. The mistake is probably having the main thread with a less than 100mS response time. Are you polling devices from the main thread? If yes, that's there you have to move code to a thread.
×