Jump to content

DelphiUdIT

Members
  • Content Count

    734
  • Joined

  • Last visited

  • Days Won

    17

Everything posted by DelphiUdIT

  1. DelphiUdIT

    Import .NET Assembly list is empty

    Uhmm, may be I'll probably say bullshit, but you can import assemblies from .NET only if they are flagged as COM compatible (they must be compiled in this way from Visual Studio). Others way are to use some instruments like CrossTalk or also JCL (from Jedi project). But I don't think that you will able to import like a component, only to call them like a DLL. You can also use some open source software like " ILSpy, the open-source .NET assembly browser and decompiler" to analize the .NET DLL. OF COURSE YOU MUST HAVE THE RIGHTS TO DO SO !!!
  2. There are already know components on the fly without to work for new ones. For communications, one of the standard that works on serial COM, TCP and UDP is ModBus. With that you can communicate whatever you want, ghost I/O, virtual I/O, GPIO and others. Surely there is a ModBus implementation for STM32 (this one for example: https://github.com/nimaltd/master-modbus ). But, if you choose a STM32 with BLE, also BLE stack should be and you can create GATT service (so no physical connection for communication). You miss to read my full post: the communication is simple, the construction of full environment is more complex. EDIT: of course, for Delphi side there are also ModBus implementations (I think I posted here about this).
  3. Communicate with STM32 device is one thing, program a STM32 device is TOTALLY another thing. To program a STM32 (in IDE way) is like to construct a "Delphi Builder" for c language (I mean like Dev C++ that is made with Delphi) mixed with typical automation / building functions and so on. Instead, to communicate with STM32 is simple. There are many options. But I (we ?) don't understand what is your objective ? I think you desire a environment like some "Automation Builder" and with that you want to program a STM32 device, but this is like construct an new IDE and not a simple communication. Other solution is to have a "base" core support with API in STM32 and you construct you application around those API.
  4. DelphiUdIT

    A native VCL, and not Windows-based, TComboBox control.

    Seems that you populate your controls for an automation / building application. It' necessary to view the values with a combobox ? You can use a label (or other simple control) for every field and when a user click in one of them you can propose a combobox to change the present value or numeric keyboard or others custom control.
  5. DelphiUdIT

    Delphi Upgrade from 2007 / 2010 to XE5

    I don't know if XE5 is the useful tool for producing WEB apps. But it was released over 10 years ago, I think that since it involves updating software perhaps you should upgrade to the latest version (or at least to a more recent version). now in addition to the TRIAL version which allows you to carry out a time-limited trial of the Architect version of Rad Studio, there is also the Community Edition version which is free within certain limits: link for the license and conditions of use: https://www.embarcadero.com/products/delphi/starter In this link you can see the features of the individual commercial editions: https://www.embarcadero.com/docs/rad-studio-feature-matrix.pdf I don't think you can use the XE5 if you have bought XE3. You must discharge it but probably the license will not be activated during installation. P.S.: take care that Embarcadero is updating all they server and services, so is possible that the community edition is not installable at this moment.
  6. DelphiUdIT

    Use TIdMessage to construct rfc 5322 message?

    RFC 5322 was updated to RFC 6854 in 2013. In the Indy sources the last comment is on the RFC 2822 regulation (obsolete and replaced by RFC 5322). However, it is known that the comments have not been updated, nor have the existing manuals and docs been updated. The only one who could answer you is @Remy Lebeau This is also a discussion about this argument: https://stackoverflow.com/questions/25576292/indy-smtp-server-how-to-detect-cc-bcc-recipients
  7. DelphiUdIT

    Monitor Windows application and restart if needed

    Inside the program I have a thread that runs independently and keeps the timing of a cyclical event controlled, let's call it the end of the processing sequence (normally a processing cycle lasts around 150 ms.). In all my programs, I generally work on events, the application must react to a given event (reading data from a PLC, receiving an image from a camera, etc ...) and if this does not start the thread goes to monitor the device (or devices) from which input is expected to verify that it is online (if there is no "keep alive" possible). Then every certain time I launch a simulated event to verify that the processing chain is up and running. All devices that have the capability (even devices intended as software, for example third-party applications), MUST launch a "keep alive" towards the application (and also the opposite) to confirm the online operating status: the KEEP ALIVE can happen via TCP or UDP, via physical inputs or various other mechanisms (for example with some third party applications there are COM Object events). In addition to all this, the thread also checks the memory used by the program to verify that it does not exceed certain limits (when a program runs for months without being turned off even a single byte of leak "every now and then" becomes a problem), and the temperature of the CPU package. When possible, following a persistence of high temperature (> 92 degrees) slows down the entire process to check for anomalies in the thermal dispersion of the PC. The application is launched from a ".CMD" batch file which checks the return value of the application and if it is different from $127 (for example) it relaunches it again. The monitoring thread or any other unhandled exception generates an EXITPROCESS($0) or sets the EXITCODE to $0 (depending on how severe the detected anomaly is). The normal exit of the program instead generates an EXITCODE at $127. The same monitoring thread sends an email and writes a log to report the anomaly.
  8. HOW TO DO IT ? Insert this in the code: {$WARN BOUNDS_ERROR ERROR} Refer to: https://docwiki.embarcadero.com/RADStudio/Athens/en/Warning_messages_(Delphi) P.S.: by now this will be a standard directive in all my code
  9. LOOOL, every time is an improvement ...
  10. Uhmm, I think there are good... actually very good reasons why "errors" are generated (AND SHOULD BE) in "Integer and Unsigned Integer" cases and the like. The first and most trivial case is the comparison operation. Comparing (or assigning) integers and unsigned integers is a huge mistake (i.e. it happens in the example from which the topic was generated). I think this is enough to define that there cannot be operations with "automatic" type conversion in these cases. Forcing the operation (therefore through typecasting) is the path that should be followed: the programmer knows what he is doing and solves the problem by forcing the operation. Already the definition of "-1" could create some "stomach ache" (it is an Italian way of saying that it creates "discomfort"). Those who programmed in assembler certainly remember the old Intel CWD-type instructions... A runtime, in Delphi 12 an Error was generated at the second instruction (like you told, "more dangerous") only in Debug mode ('Range check error'), but during compilation many warnings are generated regarding its use. Maybe the Warnings are not enough, they should be switched to error... HandleInteger(B); It is for this reason that it should not be allowed to carry out automatic conversions, already at the compiler level. I use and love Delphi, among other things, because when you write code and compile it you have a good certainty (I said "good" not "sure") that the code will run error-free, at least for basic errors.
  11. May be this is the cause:
  12. Mat be you are using it with UINT32 parameter or something like that ?
  13. DelphiUdIT

    Unknown Delphi Version

    May be there is a little trick to discover something: - open a "dproj" file and search for a "<DCC_UsePackage>" section, inside that should be "Intraweb_xx_D10_3" for example, this means that its developed with Delphi 10.3. Look that and you'll find a version ... - from Delphi XE7 you'll find "emsclientfiredac", inside the same section, if the version used is a Enterprise (or Architect) Version. These informations are not official and not sure, but may be a starting point.
  14. Sorry, but I don't understand ... you have found the issue (in the UTC_Time_Decode function) and change the code to read 4 digit (that you select based on the length of 12 or 14 characters). So how can we help you ?
  15. DelphiUdIT

    The GetIt server is back online - With the 12.0 Patch 1

    Pay attention to the antivirus, it may block the ZIP because it thinks it has been compromised.
  16. DelphiUdIT

    Ummmm. What!!

    This has happened to me in the past when in the source files (even those called in the Uses) there were strange characters or the line ending was not CRLF. I also saw some anomalies when the declared class name and the implemented one (in the methods) differed due to the character case. But I never delved into how much it all impacted the code. Since that time I have made sure of both CRLF characters, especially from what is copied / pasted from sources external to the IDE by first copying into a text editor and forcing the thing and then into the IDE.
  17. DelphiUdIT

    GetIt installation does not work

    To me all is working right, and the image that you send is the same for me. I don't know if patch 1 is needed to use the "new" getit (I use it with patch 1 installed and all works fine).
  18. If you install the patch manually nothing will be displayed, if you install with GetIt you'll get the patch description in the About box. Bye
  19. DelphiUdIT

    RAD Studio 12 Path 1 1.0 class not registered

    It's a GetIt Helper But i don't know how to help you. If someone of the forum have some sight, otherwise you should reinstall Delphi 12
  20. DelphiUdIT

    The GetIt server is back online - With the 12.0 Patch 1

    Why you have to reinstall Delphi12 ? Reinstall it means that you first must uninstall ALL (and delete directories and registry key) and after you can reinstall it. Waiting for new Web Installer, you can install only from ISO again and after that apply patch 1.
  21. DelphiUdIT

    The GetIt server is back online - With the 12.0 Patch 1

    ISO installer, except for registration time, install all without access Internet, and should works. So should not make any difference between now and November (before outage and getit not working) The original ISO release MUST be downloaded from My.Embarcadero.com page.
  22. DelphiUdIT

    Return value from other application

    You can share the form and the code a design time between the applications. But at runtime they are all isolated. You can exchange data between them via the methods mentioned in the previous posts, but also with a database where every application put their results ... you are able to process all these informations like you want. Bye
  23. If components such as DBEdit, DBGrid or similar (dataware components) are present in the Form and these are active at RunTime, it may be that the delay is linked to the connection timeout with the DB engine.
×