Jump to content

shineworld

Members
  • Content Count

    269
  • Joined

  • Last visited

  • Days Won

    3

Everything posted by shineworld

  1. Amazing Anders, works perfectly also in Linux with Wine.
  2. shineworld

    What new features would you like to see in Delphi 13?

    So, to use a 3rd part DLL made with C++, eg: MSVC or C++Builder itself, it is necessary to create a Proxy C DLL with C++ Builder. https://blogs.embarcadero.com/how-to-use-a-c-dll-in-any-delphi-program/
  3. shineworld

    What new features would you like to see in Delphi 13?

    Good to hear but no real match. There are two libraries in git for porting OpenCV to Delphi. Both use a middle-man C DLL made in C++ Builder to access the DLLs...
  4. shineworld

    What new features would you like to see in Delphi 13?

    Delphi can use external DLL made with C. I Delphi13 will be useful to import DLL made with C++ to open road to use directly tools like OpenCV, VTK, numpy, etc. I don't know how complex it is but would be amazing...
  5. shineworld

    TFrame versus SubForm

    I use practically 90% of TFrame and 10% of TForm. IDE sometimes is wrong to place or list the available TFrame so I add them programmatically. No issue in this way.
  6. shineworld

    2 seperate installs of Indy in the one IDE?

    I'm some commits far from latest in Indy10 git repository but to work I've: 1] moved all files in folder from git project to be close on what I've found on Delphi 2] changed the .inc to be close to Delphi originals all work fine and I'm free to modify Indy to meet my "odd and old" protocols...
  7. shineworld

    2 seperate installs of Indy in the one IDE?

    I've missed saying that you also have to "disable" temporary the native Delphi Indy10 in the Browsing path: I simply added a '_' char so it is fast to re-enable it with normal projects.
  8. shineworld

    2 seperate installs of Indy in the one IDE?

    I'm used to using a different Indy version in some programs. I've left the official Indy of Delphi installation and I don't touch it. In a project I add a sources\Indyxx path with the desired Indy version source code. Usually this is a modified version of the current GitHub because I need to manage some base mechanism to adapt it to my embedded devices. In the program options I added this path to Search Path: Obviously I don't use IDE to place Indy components onto form but I've to create them programmatically. At now building exe Delphi uses .\sources\Indy10 version file instead of Delphi native Indy.
  9. shineworld

    VTK in DelphiVCL or DelphiFMX

    Hi all. Recently I've been using VTK to manage 3D Views. Unfortunately, I've found only info on how to use it with QT Pyside6 with QVTKRenderWindowInteractor. I will hope to use DelphiVCL (my first choice) or DelphiFMX + VTK. Do you have any idea on how to use VTK in a TForm or any other Windows-based window object?
  10. shineworld

    VTK in DelphiVCL or DelphiFMX

    Perhaps the solution is to watch what VTK do with tkinter to implement the vtkTkRenderWindowInteractor. I will study and try to do a close thing with a compatible DelphiVCL Windows based component. https://github.com/Kitware/VTK/blob/master/Wrapping/Python/vtkmodules/tk/vtkTkRenderWindowInteractor.py
  11. shineworld

    VTK in DelphiVCL or DelphiFMX

    Yes, maybe I explained myself wrongly. I am using Python + VTK + QT. VTK is a very good Python library for working with 3D scenes. QT is terrible for me and I love DelphiVCL e DelphiFMX UI for Python. Unfortunately, to do the rest of the interface, I had to switch from Python4Delphi (DelphiVCL or DelphiFMX) to QT precisely because there is a lack of coverage to OpenGL in them, and however, found no way to integrate VTK to DelphiVCL/DelphiFM. So I was asking if anyone had already done this or could point me to how to create a VTK component that would appear in an area of a Python DelphiVCL TForm, as in the example in the picture below.
  12. shineworld

    What new features would you like to see in Delphi 13?

    1. Sorry for mistakes in post, I never studied English. 2. I use GExpert, and I've to thank the project manager, but I would like to have a better grep in the native IDE. 3. Usually mine are very big project subdivided in many customized versions managed as project group with shared sources. To manage manually the versions info for single project is an hard work which requires jumps as like as a monkey in the three. DDExpert does something to simplify. 4. OpenGL and 2D mix is not so unusual in industry automation related projects, where Delphi, at least in Italy, is yet used also by big firms. I k know FMX, but it's not a level of VCL for many reasons, at least in my cases. Some samples on how VCL + OpenGL can live and be happy: https://youtu.be/3IC15XM_8ow?si=RLuDHZmpU9PgdFj7 And as VCL + OpenGL + Python are a good team: https://youtu.be/ehyZanI54c8?si=dCV6nZd3kbLHa2K4
  13. shineworld

    What new features would you like to see in Delphi 13?

    For me: arm64 compiler for Linux a better refractory tool (often fails also with 100% compilable project) that can work also at a project group level. grep as like as available in GExperts sort lines as like as available in GExpers set version info (to fastly manage version info in a group of projects) as like as in DDevExtension an Embarcadero-managed OpenGL / Vulkan library, like GLScene, for VCL. a more simple way to create ActiveX (to migrate Delphi-made visual components to other platforms).
  14. shineworld

    What new features would you like to see in Delphi 13?

    When you have collected all the ideas, it would be interesting to add a pool where everyone gives one or more preferences. Just to understand what is really needed.
  15. A native VCL, and not Windows-based, TComboBox cotrol. In one application I have hundreds and hundreds of TComboBoxes with values None and then from 1 to 256. I have used many strategies to enter values in these combos but the time required is enormous. The fastest system was to leave them empty, at FormCreate create the fields by hand by searching all TComboBox components ...... and on some PCs it takes almost 3 or more seconds.... // creates components hash and binds component events to code and adds inputs/outputs items C := ComponentCount - 1; for I := 0 to C do begin Component := Components[I]; FComponentsHashManager.Add(Component); if Component is TComboBox then begin with TComboBox(Component) do begin if Pos('InputNum', Name) <> 0 then begin SendMessage(Handle, WM_SETREDRAW, Ord(False), 0); SendMessage(Handle, CB_INITSTORAGE, I_O.MAX_DIGITAL_INPUTS + 1, COMBOBOX_MAX_TEXT_LENGTH * (I_O.MAX_DIGITAL_INPUTS + 1)); for J := 0 to I_O.MAX_DIGITAL_INPUTS do Items.Insert(J, InputsList.Strings[J]); SendMessage(Handle, WM_SETREDRAW, Ord(True), 0); Continue; end; if Pos('OutNum', Name) <> 0 then begin SendMessage(Handle, WM_SETREDRAW, Ord(False), 0); SendMessage(Handle, CB_INITSTORAGE, I_O.MAX_DIGITAL_OUTPUTS + 1, COMBOBOX_MAX_TEXT_LENGTH * (I_O.MAX_DIGITAL_OUTPUTS + 1)); for J := 0 to I_O.MAX_DIGITAL_OUTPUTS do Items.Insert(J, OutputsList.Strings[J]); SendMessage(Handle, WM_SETREDRAW, Ord(True), 0); Continue; end; end; end; ...
  16. shineworld

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

    Interesting solution.
  17. shineworld

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

    I've used a TComboBox set as List because arguments start from None, 1, 2 .. 256 and use can fastly move to any using key: However, I guess I to move them to the Edit field and check the entered data as suggested. In the past I've used old SweedControls combobox made by zero with Delphi code but moving to 64bit the old and not supported library does not work fine.
  18. shineworld

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

    Me to. Updated to 1st of most (I hope) patches 🙂
  19. shineworld

    RemoteApp

    For the Remote Support, you can choose a lot of tools (AnyDesk, Teamviewer, Supremo, etc.). In recent times a new actor has entered the scene: RustDesk. RustDesk is an open-source project made with Rust. RustDesk covers either client or server. So you can use default open servers or if you have an external server you can place your RusDesk server in your net service. https://github.com/rustdesk/rustdesk I'm used to placing some of them in my software (some customized with annual payment, and rust desk as an open system): End-users can so choose what remote support service prefer to use (and what does not have connection issues at that time).
  20. shineworld

    Athens Skia TSkPaintBox error in compile

    Hi all. I'm trying to use Skia TSkPaintBox on Athens VCL application. I've enabled Skia in the project. I can use TSkLabel. I can place a TSkPaintBox. And run... But if I try to create the TSkPaintBox Draw event I get this error: [dcc64 Error] Unit1.pas(13): E2003 Undeclared identifier: 'TRectF' [dcc64 Error] Unit1.pas(27): E2005 'TRectF' is not a type identifier [dcc64 Fatal Error] Project1.dpr(5): F2063 Could not compile used unit 'Unit1.pas' Thank you in advance for your answers. Best regards Silverio
  21. shineworld

    Opensource scripting language?

    I don't know if support Unicode (I guess) but I've used it in past years and was very simple to use: https://www.remobjects.com/ps.aspx
  22. shineworld

    TCP/IP Server with OpenSSL TLS 1.2

    After finishing and testing the configuration to have TLS 1.2 on TIdFTPServer I was asked to add OpenSSL and TLS 1.2 also on the API server (based on TIdTCPServer TCP/IP communication). Unfortunately when I set Active to True, and IdSSLOpenSSL.InitContext is called, in the CiperList settings step it always returns error = 1 and I don't understand what I am doing wrong: if StatusInfoOn then begin SSL_CTX_set_info_callback(fContext, InfoCallback); end; //if_SSL_CTX_set_tmp_rsa_callback(hSSLContext, @RSACallback); if fCipherList <> '' then begin {Do not Localize} error := SSL_CTX_set_cipher_list(fContext, {$IFDEF USE_MARSHALLED_PTRS} M.AsAnsi(fCipherList).ToPointer {$ELSE} PAnsiChar( {$IFDEF STRING_IS_ANSI} fCipherList {$ELSE} AnsiString(fCipherList) // explicit cast to Ansi {$ENDIF} ) {$ENDIF} ); end else begin // RLebeau: don't override OpenSSL's default. As OpenSSL evolves, the // SSL_DEFAULT_CIPHER_LIST constant defined in the C/C++ SDK may change, // while Indy's define of it might take some time to catch up. We don't // want users using an older default with newer DLLs... (* error := SSL_CTX_set_cipher_list(fContext, {$IFDEF USE_MARSHALLED_PTRS} M.AsAnsi(SSL_DEFAULT_CIPHER_LIST).ToPointer {$ELSE} SSL_DEFAULT_CIPHER_LIST {$ENDIF} ); *) error := 1; end; Server code: https://pastebin.com/z82zhGyQ I am using the latest Indy sources from the git repository. I thank you in advance for any suggestions Best Regards Silverio
  23. shineworld

    TCP/IP Server with OpenSSL TLS 1.2

    Appreciated exemplify. I need to start using Gist too.
  24. shineworld

    TCP/IP Server with OpenSSL TLS 1.2

    OK! Some forums do not permit, by forum rules, to attach external code links. Next will use Pastebin.
  25. shineworld

    TCP/IP Server with OpenSSL TLS 1.2

    I've missed to set PassTrough 🙂 error = 1 stay for OK, another my misunderstanding. https://pastebin.com/f9sEw2eY
×