Jump to content

PeaShooter_OMO

Members
  • Content Count

    80
  • Joined

  • Last visited

Community Reputation

11 Good

Recent Profile Visitors

2926 profile views
  1. PeaShooter_OMO

    TppIBOPipeline for Delphi 11.2

    @Sennerei You can contact Jason Wharton, the author of IBObjects. He is very helpful. There is an evaluation on the IBObjects site which you can download as well.
  2. PeaShooter_OMO

    Edge Webview2 Environment

    Can you elaborate?
  3. PeaShooter_OMO

    Edge Webview2 Environment

    Attached you wll find a sample project that works for me. It is a 32bit project. My Dev machine is Windows 10 with Delphi 11. I have a Windows 7 (64bit OS) machine around. It did not have Edge or the WebView2 Runtime installed on it and WebView2Loader.dll did not exist on it. I installed the runtime (32bit version) on the Win7 machine using what I downloaded from https://www.catalog.update.microsoft.com/Search.aspx?q=webview2 Runtime version 109 Windows 7 is only supported by Runtime 109 and older. For instructions on how to get the Runtime installed from the update catalog file: After the installation the WebView2Loader.dll still did not exist on the machine. I copied the WebView2Loader.dll I found in my Delphi installation under c:\Program Files (x86)\Embarcadero\Studio\22.0\Redist\win32\ to the executable folder and copied the EXE and DLL to the Win7 machine. It works there as well as on my Win10 machine. The runtime is important as it does not work without it. EdgeBrowserSample.zip
  4. PeaShooter_OMO

    Edge Webview2 Environment

    Yes. I do not set BrowserExecutableFolder at all and I make sure WebView2Loader.dll is located in the same folder as my project executable. I use Delphi 11 As a side note; above the BrowserExecutableFolder property declaration in the Vcl.Edge source it says "If the path contains \Edge\Application\ then the WebView2 creation will fail".
  5. @Darian Miller In times like these I just use pointers. Not sure whether that will affect the API interaction though. PRecordB = ^TRecordB; PRecordC = ^TRecordC; TRecordA = record Field1 : Integer; Field2 : PRecordB; Field3 : string; TopX : PRecordC; end; TRecordB = record Field4 : Integer; Field5 : TRecordA; end; TRecordC = record Items : TArray<TRecordA>; end;
  6. @o815 TAdvStringGrid does not have any functionality to satisfy your request, at least not as far as I can remember. You will have to iterate font sizes to do that. You can have a look at Canvas.TextHeight Canvas.TextWidth Canvas.TextExtent
  7. PeaShooter_OMO

    Set form in read only mode

    Another thing to consider is the visual aspect. When you disable a single control it may have a change in its visual representation as is the case with a button or an edit box that goes gray/grey and for good reason because that gives an indication to the user that it has been disabled. If you want that level of indication then you will have to disable each visually relevant control by itself. Disabling a parent container control does not affect the child controls visually. Disabling a few controls are easy and just a few lines but if you have many then you can loop through them and disable them that way. Have a look at the Controls and ControlCount properties of the parent containers (Form, Panel, TabSheet, GroupBox).
  8. PeaShooter_OMO

    TEdgeBrowser how to clear the cache

    I use TEdgeBrowser and it creates a sub-folder in the folder where my executable is outputted to. It is called <name of executable>.exe.WebView2 Many folders in it seem to be related to "Cache" Do you have such a folder?
  9. @PeterBelow @DelphiUdIT I understand and edited my post.
  10. type TMyRec = record Int : Integer; Str : String; end; PMyRec = ^TMyRec; var LPointer : Pointer; begin New(PMyRec(LPointer)); PMyRec(LPointer)^.Int := 200; PMyRec(LPointer)^.Str := 'Blah'; Dispose(PMyRec(LPointer)); end; I do not know why this approach bothers me but for some reason it does. I am casting a Pointer to a PMyRec to use it with New() and Dispose(). I do not get a memory leak from this so I am assuming it will be operating correctly. Am I right? Edit: I understand that typed pointers are to be used with New() and Dispose(). This is just an experiment into the working of the memory around this and also New() and Dispose(). That's all.
  11. What should be deleted? Your reply?
  12. @Kas Ob. If you look at the replies of that Gitter post you will see that the issue is actually not SSL/TLS. I did submit a demo app and code to that Gitter post which demonstrates the issue.
  13. Indeed I understand that even though connections are separated by means of sockets one would still be able to look at the incoming data across them as sort of "sequential" in nature and I assume in general one would be able to process that data similarly but these servers don't just do that the whole day. They also look at other processes which also include FTP and disk access along with DB access and then need to create new data and send it between them whenever required. The whole cycle is a bit time critical and in the very least I would expect the listening Server side to be in its own thread and perhaps hand off some major work to another thread, even socket access. Obviously Indy's server side does the thread per connection automatically and I might well be overthinking this when looking at ICS but the question I asked above about Sending from another thread was the very first thing I was thinking about. You see, I created a re-usable TCP framework which is used in different projects at our company including the above Server service and I want to adopt an approach that can be used in general by most if not all those projects. I also need my applications to be able to send network data to the other side at any point and from any thread. If ICS does not work well with that any thread sending then sure, I could transfer the data to be sent to the thread owning the socket. No problem. Now that I think of it, I wonder if that is not perhaps the reason for my issue with the current Indy implementation.... maybe Indy also does not like that I do that. Maybe @Remy Lebeau would be able to provide some insight regarding that. My research is to find solutions which I might have to consider in future.
  14. It is the post on the Indy Gitter Chat Room which you are currently looking at. I am researching other libraries while that one simmers in the background. My time might just run out and I need to be prepared. The post on Gitter
×