RaelB
Members-
Content Count
72 -
Joined
-
Last visited
Everything posted by RaelB
-
Hello, Delphi's THttpClient is built on the OS API, and therefore one does not need to include OpenSSL dll with the app, or worry about their version etc. Is there an open source library similar to this, that can be used with older Delphi versions before THttpClient was introduced..?
-
Open source http client similar to Delphi's THttpClient
RaelB replied to RaelB's topic in Delphi Third-Party
@Dave and @Vincent, thanks, that is what I was looking for. -
What you can do is download the Konopka Signature controls from getit package manager, and look at the source for RzTabs
-
Switch MorMot webserver from Get to Post
RaelB replied to Die Holländer's topic in Delphi Third-Party
Should that not be: Param:='http://localhost:8181/rootp/<ApplicationName>/Add'; -
What is your experience Debugging Front and Back with MVC Delphi?
RaelB replied to Juan C.Cilleruelo's topic in Delphi Third-Party
Why can't you run both on the host machine? If you want to understand what code is doing, I highly recommend using a TraceTool or logger: https://github.com/capslock66/Tracetool -
Hi, I am needing to store a large number of small images, e.g. 10,000+ images (so could be 50,000 or more..), where each image is around 30kb. Generally I will not be iterating through all of them. Main operations are check if exists, load, and save. I'm considering to use the filesystem for this purpose, as apposed to using a database e.g. sqlite. Is there any downside to using the filesystem in this scenario? Thanks
-
Store a large number of images in the filesystem or in a DB?
RaelB replied to RaelB's topic in Databases
Thanks for all the replies. It has helped me consider all the various factors to keep in mind. @Der schöne Günther: Which setting/setup are you referring to with regards to sqlite db corruption and power losses? -
Hi, I've been looking at this YT Video: "First look at Delphi 10.4.2 on Windows 11 ARM & macOS 12 ARM" (youtube watch?v=9p4cL1wt8bk) from which it sounds like Delphi apps are able to run on Windows 11 ARM. However, I have a user who says that my app does not start at all on Windows 11 ARM. Should it in fact be able to run? Thanks
-
@Dave Nottage Thanks for trying that. Yes, I am using 10.4. I am using WinLicense to "protect" the exe, so my first suspect would be that.
-
Would you mind trying my app (RightNote), to see if it starts? https://bauerapps.com/downloads/ https://bauerapps.com/files/RightNote.zip (portable version)
-
Ok, thanks for the info. I will need to make further investigations.
-
Hi, Some users who do not have the ENG-US keyboard installed, report that when app starts, the ENG-US keyboard is added to the system. Any ideas what is causing this? Is it VCL, or maybe a third party control (such as TRichview)? Thanks
-
Not sure. I haven't asked. It is not an error. It is an unexpected behaviour, but it is documented in the component itself.
-
Thanks for the tip. I am using HotKeyManager, and looking at the source I see that it is calling LoadKeyboardLayout, and that is what is causing the problem. Not sure if that will make a difference. Documentation says "Beginning in Windows 8: This flag is not used. "
-
https://oreans.com/WinLicense.php
-
I create a number of Frames and store them in a Frame Object List (declared as FFrames: TObjectList<TMyFrame>) The frames are also added to the VCL form. I try to replace a Frame with below code, but it results in an "Invalid Pointer Operation": (I'm replacing the last Frame in the list with a new one) procedure TForm1.btnReplaceClick(Sender: TObject); var NewFrame: TMyFrame; OldFrame: TMyFrame; begin if FFrames.Count = 0 then exit; NewFrame := GetNewFrame; OldFrame := FFrames[FFrames.Count - 1]; FFrames[FFrames.Count - 1] := NewFrame; OldFrame.Free; end; What's wrong with the code? Full code follows: unit Unit1; interface uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, System.Generics.Collections, MyFrameU; type TForm1 = class(TForm) ScrollBox1: TScrollBox; btnAdd: TButton; btnReplace: TButton; procedure btnAddClick(Sender: TObject); procedure btnReplaceClick(Sender: TObject); procedure FormDestroy(Sender: TObject); procedure FormCreate(Sender: TObject); private { Private declarations } FFrames: TObjectList<TMyFrame>; function GetNewFrame: TMyFrame; public { Public declarations } end; var Form1: TForm1; Counter: Integer; implementation {$R *.dfm} procedure TForm1.FormCreate(Sender: TObject); begin FFrames := TObjectList<TMyFrame>.Create; end; procedure TForm1.FormDestroy(Sender: TObject); begin FFrames.Free; end; function TForm1.GetNewFrame: TMyFrame; begin Result := TMyFrame.Create(Self); Result.Name := 'MyFrame' + Counter.ToString; Result.Parent := ScrollBox1; Result.Align := alLeft; Result.SetName(Result.Name); Inc(Counter); end; procedure TForm1.btnAddClick(Sender: TObject); var Frame: TMyFrame; begin Frame := GetNewFrame; FFrames.Add(Frame); end; procedure TForm1.btnReplaceClick(Sender: TObject); var NewFrame: TMyFrame; OldFrame: TMyFrame; begin if FFrames.Count = 0 then exit; NewFrame := GetNewFrame; OldFrame := FFrames[FFrames.Count - 1]; FFrames[FFrames.Count - 1] := NewFrame; OldFrame.Free; end; end.
-
Well no. We're not saying ob1 is now obj2. The ObjectList is pointing to one object, then pointing to a different object. And when you make that change, it automatically frees the first object. This I didn't know before.. 🙂
-
So, if I keep OwnObjects True, I can just call: FFrames[FFrames.Count - 1] := GetNewFrame; I don't need to worry about Freeing the previous object.
-
Thanks - didn't realise it would affect the operation I was doing.
-
Which Database do you want to use? I like Delphi-ORM. It is easy to use. It does not create the database tables. I have a fork at https://github.com/raelb/delphi-orm - it creates the session object for SQLite without requiring a config file..
-
Looking for thread-safe repeatable random sequence generator
RaelB posted a topic in Delphi Third-Party
I'm wanting to generate a repeatable random number/character sequence based on a given seed value. Using the in built Randomize function with global RandSeed can do this, but is not thread-safe. Any recommendation for open source/light weight solution? Thanks -
Hi, Anybody know which iconset is being used in PowerArchiver 2022?
-
oh..found it.. 🙂 https://icons8.com/icons/fluency
-
How to execute code "synchronously" or know when script is done?
RaelB posted a topic in Python4Delphi
The GUI examples work fine for demonstration purposes, but how do I use the components to execute python code and get a result within my own code, i.e synchronous execution, or be notified when execution is done? e.g: S := PythonExec(input_script) Then I can use S in next line of code, or in an event that notifies script is done. Thanks -
How to execute code "synchronously" or know when script is done?
RaelB replied to RaelB's topic in Python4Delphi
By bad, it looks like the code does in fact execute synchronously..