Jump to content

FPiette

Members
  • Content Count

    1119
  • Joined

  • Last visited

  • Days Won

    15

FPiette last won the day on November 29 2023

FPiette had the most liked content!

Community Reputation

367 Excellent

1 Follower

Recent Profile Visitors

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

  1. 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).
  2. 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.
  3. 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.
  4. FPiette

    "CAN" bus advice

    A few years ago, I used with great success Peak Systems CANUsb interface. They have a Delphi unit for it.
  5. Doing like this is likely makes your ICS component in the main thread context. You should create the ICS component inside the thread execute method. You cannot compare with different OpenSSL versions. Best performance with ICS is when using asynchronous operation and events. Synchronous operation will slow things down. You probably not even need a thread in the first place!
  6. Your TImageList seems to contain 16x16 pixels images. That's why it is pixelated. Use the same size - in pixels - as the source image.
  7. FPiette

    ICS Installation

    Error 9009 means "File not found".
  8. FPiette

    method for get file

    I told you to better describe your needs. Copy or CopyFile is Windows and it works whatever the physical network is between the two computers provided windows networking is running. TCP is a low level protocol that Windows Network use to implement his communication protocol (Which by the way is also implemented in Linux using SAMBA). FTP is a higher level protocol, making use of TCP to exchange files between two sites. IP address is the way to identify a computer inside a TCP/IP network. And there are many many more things that we cannot mention here (It would become a huge article). That's why you need to describe your needs.
  9. FPiette

    method for get file

    You should better describe your needs because as is the answer is very simple: copy \\share\filepath localfilepath. Copy is the command line interpreter command. You can implement it in Delphi using Windows CopyFile API (https://learn.microsoft.com/en-us/windows/win32/api/winbase/nf-winbase-copyfile). Or using standard Defli file I/O (preferably using TFileStream).
  10. Just try to connect to each IP in the range(s) using a TWSocket. If connection succeed, disconnect and store the corresponding IP somewhere, then try the next IP. To speed up the process, you may use an array of TWSocket, each one scanning a sub-range. TWSocket is asynchronous so you don't even need to use threads.
  11. FPiette

    ICS V9.1 Highlights

    Hard work Angus! Thanks a lot.
  12. FPiette

    Hyper-V server as host for 3 VMS

    because a usb device can only be used by one machine at a time. Virtualhere presents the device on the remote machine as though it were local. I guess multiple remote PCs can connect, but only one at a given time. The connected PC must disconnect to allow another to connect. Just guessing.
  13. FPiette

    Hyper-V server as host for 3 VMS

    Only the free version is discontinued! Here is what Jeff Woolsey, Principal PM Manager at Microsoft is saying: The only thing that was discontinued was the FREE Microsoft Hyper-V Server product because we simply don’t have the time and resources to keep producing the free version. That’s it. That’s the only thing that was deprecated. [explanation skipped] In short, Hyper-V is here for the very long run.
  14. FPiette

    TPanel + Mouse

    Select both label and panel to set MouseEnter and MouseLeave event handler or assign same event handler to both components.
×