Jump to content

aehimself

Members
  • Content Count

    1099
  • Joined

  • Last visited

  • Days Won

    24

aehimself last won the day on September 2

aehimself had the most liked content!

Community Reputation

413 Excellent

2 Followers

Technical Information

  • Delphi-Version
    Delphi 12 Athens

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. A long time ago I did an SQL script editor with syntax highlight via RichEdit. The reason I eventually changed to SynEdit was the speed... I probably could have optimized the coloring code but why to try to do something, if someone else did it already and better than I ever could / would...? I personally oppose file compression utilities (it already bit me in the bottom) so I suggest you skip that entirely. Storage is cheap, network is fast nowdays. Use SynEdit, zip the dowload file and you are all set :)
  2. aehimself

    How to "dim" a TabSheet?

    In theory it's already done automatically, you don't have to do anything. TDimPanel.Resize is supposed to do just that.
  3. aehimself

    How to "dim" a TabSheet?

    The issue is, VisibleChanging is being called BEFORE the new visibility took place. If the panel is currently visible, .VisibleChanging means it's going to be hidden, so it's freeing up the bitmap and the only thing it does is painting the background black. What are you trying to achieve, why are you calling VisibleChanging by hand? It's meant to be automatic, called by the .Visible setter.
  4. aehimself

    Screenshot each sheet in a PageControl

    Hello, I have a pagecontrol with multiple tabs. I would like to make a screenshot (paint the whole control in a TBitmap) for further processing. The currently visible one paints just fine but I have no success of the ones which are not. Either I get an image of the active one, the bitmap is completely white or black. I already tried - PageControl.Pages[a].PaintTo - BitBlt - PrintWindow WinApi I know I can quickly activate each tab and grab a shot of them but I'd like to avoid this "flicker" if I could. I'll keep researching but in the mean time if anyone has an idea of what I can try I would be really thankful :) Cheers!
  5. One is cluttered, mouse-oriented and hard to read and navigate. The other on the other hand also provides other features like built-in webpage preview, AI integration, basic window management, etc. This doesn't seem to be a fair comparison.
  6. The project looks interesting. Are the installed applications auto-detected or you have to configure them somewhere? You could also add file indexing so entering "readme" would pop up all possible readme files across your local drive. If you make a Linux executable it could be a really good launcher for tiling WMs. Even fits in design :)
  7. You really should treat Julia better :D
  8. aehimself

    Exception EReadError

    Did you use the Delphi IDE to rename or remove the component? For a component to be streamed properly you need 3 things (4 if counting the obvious): - Component descriptor in .pas (MyComponent: TSpinEdit) - Unit in Uses list, before the component (usually Interface) - Component descriptor in .dfm (MyComponent: object/inherited MyComponent: TSpinEdit) These have to exist in your frame and all of it's ancestors. When I had this error, it was usually one of the above.
  9. aehimself

    Stringgrid cell value changed arbitrarely

    Try to get rid of the "with dm2 do begin". It might not cause the issue but makes codereading and debugging significantly more difficult (debugger evaluator usually goes nuts). I had strange text in DBGrids some time ago, it was caused by memory corruption in the DB access component. Based on what you posted, there's no mentions of the stringgrid so I tend to think your issue might be caused by something like this too.
  10. As this information might be useful I added TAEIDEVersion.Edition and TAEIDEVersion.ExecutableVersion to my installed version / instance detection component. Tested with TAEDelphiVersion, seems to return correct values.
  11. aehimself

    How to "dim" a TabSheet?

    @yonojoy Sure, go ahead. You might also want to consider @Renate Schaaf's version, which is an installable component and therefore works at design time as well.
  12. aehimself

    Any delphi components for VNC or RemoteDesktop?

    When experimenting with a new component I suggest a "barebone" example first. One control on the form, setting up and connecting in FormCreate. I'm not going to recreate your form layout and filter out the essentials I'm sorry... I already showed how I'm doing it and it works fine. Also keep in mind that by importing the MsTscAx control you are effectively using the current version available in your Windows setup: it can / might / surely will differ between versions, editions and even patch levels.
  13. aehimself

    Any delphi components for VNC or RemoteDesktop?

    The first window warns about "invalidity" of certificate and approval of access for a specific function (drive mapping maybe?). You will not be able to bypass this (you can ignore the certificate so the warning only comes back once the cert is renewed). The second one you can bypass by specifying the username and password. This is how my tabbed remote access application sets up MsTscAx controls for RDP connections: If Self.Credential <> nil Then Begin If Not Self.Credential.DomainName.IsEmpty Then _rdp.Domain := Self.Credential.DomainName; If Not Self.Credential.UserName.IsEmpty Then _rdp.UserName := Self.Credential.UserName; If Not Self.Credential.Password.IsEmpty Then _rdp.AdvancedSettings7.ClearTextPassword := Self.Credential.Password; End; I suggest you check all the .AdvancedSettingsxxx options. There are plenty of tasty settings there to fulfill your needs.
  14. aehimself

    TListView & TJvListView - Subitems line in 255 characters

    The caption isn't truncated, only the display is clipped: procedure TForm1.FormCreate(Sender: TObject); Const MYTEXT = '<RHINOSTRING English="Exploding this mesh will create %d individual meshes. This may be more than your system can safely manage using the available memory. You can use Weld to make the mesh explode into fewer pieces, or see Help for more information.\n\nClick OK to proceed with Explode, or Cancel to leave the mesh as is.[[24836]]" Localized="Exploding this mesh will create %d individual meshes. This may be more than your system can safely manage using the available memory. You can use Weld to make the mesh explode into fewer pieces, or see Help for more information.\n\nClick OK to proceed with Explode, or Cancel to leave the mesh as is.[[24836]]" />'; begin ListView1.Items.Add.Caption := MYTEXT; ShowMessage(MYTEXT.Length.ToString + sLineBreak + ListView1.Items[0].Caption.Length.ToString); end; Shows 661 and 661 respectively. The reason seems to be a WinApi limitation: https://stackoverflow.com/questions/19881409/tlistview-add-600-characters-on-item-caption
  15. Does TJSonSerializer work with TObjectList and TObjectDictionary already? As far as I remember this is why I started to (de)serialize objects manually back around Delphi 10.4 but would love to automate things finally :)
×