Jump to content

All Activity

This stream auto-updates     

  1. Past hour
  2. Vincent Parrett

    VSoft.System.Console - Delphi implementation of c# Console class

    The valid sizes will depend on your screen resolution. on my machine I get LargestWindowHeight 85 LargestWindowWidth 320 So that call to SetWindowSize is out of bounds for your machine. I guess I should make the demo use more conservative values.
  3. Same as above D10.2.3 window 7
  4. Vincent Parrett

    VSoft.System.Console - Delphi implementation of c# Console class

    Oh that's weird. What version of delphi are you using?
  5. Since long I wonder, how the different views that I configured for iOS and Android form-factors apply to displays, that do not fit in. For example, I saw at a friend's 6.5" Samsung that a "wrong" text size is used. I configured 5.8" and 6.8" views and would like to know which one (if any?) of the two was applied to the 6.5" device. I tried to find a way to display the currently applied fmx view, e.g. by pressing a label but have found no way yet. Maybe this is not possible as events are inherited? Or is there a way? I use TGrindPanelLayout to evenly spread components over the screen but have found no way yet, to scale text size for displays from 3.5 to 10 Inch displays other than using views. I'd be happy to abandon views and solve the text-size scaling problem with code. Any ideas for this out there?
  6. KenR

    wuppdi Welcome Page for Delphi 11 Alexandria?

    Sorry, that works fine. I didn't rename it!
  7. Der schöne Günther

    VSoft.System.Console - Delphi implementation of c# Console class

    For me, the demo code bails out with an exception on SetWindowSize(..). For some reason, GetLargestConsoleWindowSize returns (240, 54) which then causes your function to raise an EArgumentOutOfRangeException. Which seems to be matching the .NET counterpart. So all is fine, and my computer is acting up. Weird.
  8. KenR

    wuppdi Welcome Page for Delphi 11 Alexandria?

    Thanks but still get an error.
  9. Ian Branch

    wuppdi Welcome Page for Delphi 11 Alexandria?

    Here... WP.gksoftPlugin290.bplx86.rar WP.gksoftPlugin290.bpl.x64.rar
  10. KenR

    wuppdi Welcome Page for Delphi 11 Alexandria?

    Bugger. I downloaded B36 without taking a backup. Anywhere I can get B33?
  11. Hi All This is a port of the dotnet/c# Console class, which makes easy to do things like set colors, move the cursor etc. https://github.com/VSoftTechnologies/VSoft.System.Console Currently only Windows supported, however it's architected so that other platforms can be added - happy to take pull requests for that if anyone wants to add other platforms. Supports Delphi XE3 or later (compiles with XE2 but encoding issues stop it from working correctly).
  12. Today
  13. Die Holländer

    Embarcadero needs my location?

    So, if the message is because of a Windows update does that mean Rad studio has always asked for your location without the notification of Windows beforte the update?
  14. I am having a weird issue with Delphi which at first looked like a bug in the IDE, but now I'm thinking it's a combination with me not doing something right. The problem is as follows: - I have a bunch of TDataModules in the project and I needed to change them to descend from a base class that adds a method and some data the descendants can use. - The base class won't contain any designable items (no published elements), so I don't necessarily need a base DFM. - So I went and changed all the places that descend from TDataModule to descend from the new base class; all builds and runs fine. However, when I open the descendant data module in the designer, it opens it as a form and so adds a bunch of form related properties to the DFM, after which I will get runtime errors such "Error reading MainDataModule.ClientHeight: Property ClientHeight does not exist." For completeness, here is the PAS for the base data module: unit uBaseDataModule; interface uses System.Classes; type TBaseDataModule = class(TDataModule) private FSomeList: TList; protected procedure SomeMethod; end; implementation [...] end. And here is the PAS for the descendant data module: unit fMainDataModule; interface uses System.SysUtils, System.Classes, uBaseDataModule; type TMainDataModule = class(TBaseDataModule) private { Private declarations } public { Public declarations } end; var MainDataModule: TMainDataModule; implementation {%CLASSGROUP 'Vcl.Controls.TControl'} {$R *.dfm} end. The DFM for the descendant looks like this: object MainDataModule: TMainDataModule Left = 0 Top = 0 Height = 480 Width = 640 end If I did it "properly", the DFM above would inherit the base DFM, so the keyword object would have to be changed to inherited, as I'm sure you know. So I am aware I'm doing things in a slightly hacky way, I just figured if it works for forms, it should work for data modules, but for some reason Delphi assumes the data module is a form. This is what the descendant's DFM looks like after opening the designer and saving (notice the form related properties having been added): object MainDataModule: TMainDataModule Left = 0 Top = 0 ClientHeight = 402 ClientWidth = 608 Color = clBtnFace Font.Charset = DEFAULT_CHARSET Font.Color = clWindowText Font.Height = -12 Font.Name = 'Segoe UI' Font.Style = [] TextHeight = 15 end On the project I'm working on, there was already a base form - without a DFM - with many forms descending from it, with the designer not having any issues. I'm really curious to know how Delphi determines what is a form and what is a data module when it opens the DFM in the designer. My short term solution is to create a DFM file and change all descendant data modules to say inherited instead of object, and add the base data module to the DPR with the correct bits going into the bit inside the curly braces like so (I simply re-added the base data module unit after adding the {$R *.dfm} bit): uBaseDataModule in 'uBaseDataModule.pas' {BaseDataModule: TDataModule}; As an aside, it's weird that Delphi assumes there is a global variable named BaseDataModule. There isn't one defined. It appears to be using this name ("BaseDataModule") when going to File -> Add -> Other -> Inheritable Items. Otherwise, in there, it's just "TDataModule". Surely it should use "TBaseDataModule", not the name defined in curly braces. Similarly, I've noticed that the DFM's root object also has a name, i.e., "MainDataModule: TMainDataModule". What's the point of that? Surely it should just be the type as there may not be a MainDataModule global variable (removing it doesn't break anything; in fact, putting anything for the name works, but Delphi will correct it after saving). This is probably some really ancient Delphi stuff that isn't going to change any time soon, but I wonder if anyone has a workaround so I can avoid needlessly having a base DFM for all my data modules. All I wanted was to add a method and some data to existing data modules, so having them descend from a base data module looked like the way to go.
  15. Ian Branch

    wuppdi Welcome Page for Delphi 11 Alexandria?

    It won't load in my D12.3 I went back to B33 and it loads fine.
  16. gkobler

    wuppdi Welcome Page for Delphi 11 Alexandria?

    Version 1.2.0.B36 is ready for D11 and D12 (32 + 64 Bit) Changes: - Replaced the TTreeView with the TVirtualStringTree component for better handling. - You can activate the "Draw Background" option. - Drag and Drop functionality at the TreeView. - You can add Child Nodes at the Tree. Max depth are 5.
  17. Yesterday
  18. Vincent Parrett

    VSoft.WindowsCredentialManager - Windows Credential Manager Api

    I don't use delphi for cross platform dev so didn't look at those.
  19. dummzeuch

    formatting private const identifier = value

    Just to be clear: I'm not asking whether you like the 'private const bla=blub;' in one line syntax, but how it should be indented: 1. like 'private' on its own line -> same indentation as the class/record 2. like other constants / fields / types -> one indentation more than the class/record I assume that most (including myself) would like to split that line (whether between 'private' and 'const' or between 'const' and the identifier would be yet another point for debate.
  20. Darian Miller

    tthreadedqueue and dictionary

    TThreadedQueue has had its problems, but it seems pretty stable now.
  21. Darian Miller

    formatting private const identifier = value

    My preference would be similar, but I'd start with private const and end with private fields.
  22. Mark-

    VCL Styles Utils...

    Hello, Anyone using it with success? (https://github.com/RRUZ/vcl-styles-utils) Or have another solution to style common dialogs? Mark
  23. dummzeuch

    formatting private const identifier = value

    No, I missed that one. This is a contrived example not real code, personally I always put a line feed after the visibility modifier and rather than using var I start a new visibility section.
  24. Anders Melander

    formatting private const identifier = value

    type TClass = class(TObject) private FSomeField: integer; private const SomeConstant = 5; private type SomeType = integer; private class var SomeClassVar: integer; end; etc. etc.
  25. Uwe Raabe

    formatting private const identifier = value

    Are you aware that your second example won't compile? It needs an additional var keyword between the constant declaration and the following field declaration.
  26. How do you think the following should be formatted? 1. Like this: type TClass = class(TObject) private FSomeField: integer; private const SomeConstant = 5; end; 2. Like this: type TClass = class(TObject) private FSomeField: integer; private const SomeConstant = 5; end; Note: This is only about code where the 'private const SomeConstant = 5;' is in one line without a line feed in between. And what about the following: 1. Like this: type TClass = class(TObject) private FSomeField: integer; private const SomeConstant = 5; FSomeOtherField: string; end; 2. Like this: type TClass = class(TObject) private FSomeField: integer; private const SomeConstant = 5; FSomeOtherField: string; end; Note: This is only about code where the 'private const SomeConstant = 5;' is in one line without a line feed in between.
  27. Yes, of course. My consideration was that Macos & Co might have their similar credential API worth to abstract then here under one umbrella: Nevermind, thanks for clarification.
  1. Load more activity
×