Jump to content

FPiette

Members
  • Content Count

    1200
  • Joined

  • Last visited

  • Days Won

    16

Everything posted by FPiette

  1. OnHeaderData should probably work for you. From the handler, access the LastResponse property to get the line.
  2. FPiette

    write console code

    Do as @aehimself said: capture the command line you generate with your program and execute it manually by copy/paste in the cmd window. Then check that what seems to be the output of GetDosOutput is writeable. To check, write code in your program.
  3. FPiette

    write console code

    This is a very poor diagnostic which can't be used to help you.
  4. FPiette

    Need help with exception messages

    You didn't mentioned in which source code file this happens. Is it yours or in FastMM source code? The last line you show in the call stack tells that the exception occur in one of the finalization section in one of the unit. The first argument passed to FillChar probably point to an invalid memory location (Random or already freed) or the length passed in the second argument overflow the length of the memory block pointed by the first argument. If the line is located in FastMM, it is probably a line that is used by FastMM to detect buffer overflow or underflow. For madExcept, be sure to check "Report resource leaks" and "instantly crash on buffer ... overrun" if "overrun" doesn't give any error, try with "underrun".
  5. FPiette

    Assign an App procedure to a Component Event??

    You should tell us what is the EXACT error message the compiler give. JobTickets.AfterInsert(DataSet: TDataSet) := JobTicketsAfterInsert(DataSet: TDataSet); It is wrong. Probably it should be : JobTickets.AfterInsert := JobTicketsAfterInsert; A "Unit procedure" is not a proper terminology. It is either a simple procedure or a method of object. The later is required. You should show the declaration of JobTicketsAfterInsert. That's probably where the error is.
  6. FPiette

    Need help with exception messages

    You said it runs under debug. If so, the IDE should show you the exact line of error if it happen in your code. It also show the call stack. The symtoms you describe makes me thing you have an uninitialized pointer or initialized object reference or use of an initialized local variable. Using a tool such as madExcept could help you find the issue.
  7. Your screen shot is useless. The application error dialog hide most of the installer window. I suspect your system is somewhat corrupted. I suggest the following: 1) Scan your computer with a good antivirus 2) Apply all available Windows updates. Restart your computer. 3) Use Microsoft System File Checker to repair missing or corrupted system files. 4) Manually delete all files and folders, including hidden one, related to Delphi and Embarcadero except Delphi 10.4 (If you want to keep that version) 5) Also delete all registry keys related to Delphi and Embarcadero except Delphi 10.4 (If you want to keep that version) 6) Be sure to disable ransomware protection in Windows Security before installing Delphi. Don't forget to enable it after installation. 6) Try once more to install Delphi. If this doesn't work, contact Embarcadero support.
  8. Of course you can! Windows is always available and can't be deselected. Installing only for Windows means not selecting other platform (iOS, Android, MAC, Linux).
  9. I would suggest to install basic Delphi for Windows, without any additional platform. Then when successful (Create an hello world type FMX application to check) add other platforms. It is likely that Delphi 11.2 use newer platform SDK compared to 10.4. Not sure you don't have to remove the existing SDK before installing it again thru Delphi installer.
  10. FPiette

    ICS & DelphiMVCFramework

    What I meant is that it is not the best way to use ICS. What Angus suggested is a good idea. Have your pool of ICS components run asynchronously in a single thread dedicated to that. And from the session thread, call the pool thread to execute the HTTP requests. Use thread synchronization object to make sure no conflict with concurrent access from all session threads. You can use ThreadAttach and thread detach if you like but you must be sure to attache before socket is opened and before any communication take place and detach after all communication is done and socket closed. I'm not sure about OpenSSL work when used from several threads.
  11. FPiette

    Load font into TStringlist

    This article explain how to use a font without installing it. This is not Delphi but make almost only use of Windows API which you can use from Delphi. Once the font is loaded, you can use it to paint individual characters to bitmaps and add them to TImageList.
  12. FPiette

    ICS & DelphiMVCFramework

    Why in the first place do you create a thread? Is this a DelphiMVCframework requirement? Of course you can put your TSslHttpCli component in a thread. You should better create it at the beginning of the Execute method and free it before returning from the execute method (With a try/finally construct). Your thread need to have a message pump or call the one in TWSocket to work properly. There are a few samples of threads in ICS distribution. Multi-threading is always more complex and overkill with an asynchronous component.
  13. FPiette

    ICS & DelphiMVCFramework

    Use pure asynchronous operation.
  14. FPiette

    FinalizeSsl

    You have to manage that yourself. Abort all communications when you detect the stop request and handle any error/exception before existing.
  15. I mean the code you posted and which contains unknown function js_keres.
  16. FPiette

    FinalizeSsl

    Are you sure all communications are done when you stop your service? Remember ICS component are asynchronous and work in the background.
  17. FPiette

    ICS & DelphiMVCFramework

    At first glance it is not correct. The component is asynchronous. Calling one method will merely start the process in the background. You shouldn't detach the component from the thread before it has finished the operation you requested. You should remind that ICS components are asynchronous and doesn't require multi-threading to execute a lot of operations in parallel. Multi-threading is only useful if you have a large number (hundreds) of active communications simultaneously. Other operations that your application does may require multi-threading, for example lengthy SQL requests if they don't use an asynchronous programming model.
  18. FPiette

    custom fonts and sizes showmessage()

    Why not create your own ShowMessage function? After all it is simply a modal form that you can easily build yourself to fit your needs.
  19. Please also fix your message. You can edit it.
  20. What is js_keres function?
  21. Use one of the functions: function ObjectIsType(const obj: ISuperObject; typ: TSuperType): boolean; function ObjectGetType(const obj: ISuperObject): TSuperType;
  22. Ask the developer! Before asking, read the SuperObject documentation.
  23. FPiette

    Create an XSD validated XML file

    I have no idea about XSD but for sure you can do the check in Delphi using System.RegularExpressions to do the check.
  24. FPiette

    Net Find Component

    You have to try the component in a sample application, creating the component at runtime. When it works, you can consider installing it in the IDE. That's not specific to that component but it is how any component has to be developed. When the component is in the sample application, you can use the debugger to understand where and why it blocks.
  25. FPiette

    Net Find Component

    You probably forgot to change Winsock to OverbyteIcsWinSock. The use clause should be this: uses Windows, Classes, SysUtils, ExtCtrls, OverbyteIcsWSocket, OverbyteIcsWSocketS, OverbyteIcsWinSock;
×