Jump to content

CoMPi74

Members
  • Content Count

    43
  • Joined

  • Last visited

Posts posted by CoMPi74


  1. @darnocian This is not the case I presented. I wanted to have an event handler which generic parameter T is same as in the class definition. I mean fevent2 should be rather TEvent2<T> instead of TEvent2<integer>. Did you try such a case? I did :/

    I need it because I want to implement validation mechanism in TCustomEdit<T>.Change method, like in the code below:

    TEvent<V: record> = procedure (AValue: V) of object;
    
    TCustomEdit<T: record> = class(TEdit)
    public
      fValue: T;
      fEvent: TEvent<T>;
    protected
      procedure Change; override;
    published
      property Event: TEvent<T> read fEvent write fEvent; 
    end;
      
    procedure TIMEdit<T>.Change;
    begin
      if Assigned(fEvent) then fEvent(fValue);
    end;
    
    
      

     


  2. It is look like none of a generic property is visible in Object Inspector. But, of course, they are accessible from code.

     

    TCustomEdit<T: record> = class;
    
    TEvent1 = procedure (AValue: Integer) of object;
    TEvent2<V: record> = procedure (AValue: V) of object;
    TEvent3<V: record> = procedure (ASender: TCustomEdit<V>; AValue: V) of object;
    
    TCustomEdit<T: record> = class(TEdit)
    public
      fEvent1: TEvent1;
      fEvent2: TEvent2<T>;
      fEvent3: TEvent3<T>;
    published
      property Event1: TEvent1    read fEvent1 write fEvent1; // Accesible from Object Inspector and from code
      property Event2: TEvent2<T> read fEvent2 write fEvent2; // Only from code
      property Event3: TEvent3<T> read fEvent3 write fEvent3; // Only from code
    end;
    
    TEditEx = class(TCustomEdit<Integer>);
    
    ...
    
    RegisterComponents('Test controls', [TEditEx]);

     

    BTW. It looks like Delphi (10.4 CE) crashes because of CnMemProfProject wizard (CnPack, v. 1.2.0.1040 Unstable). But it is just an intermediate reason. The AV comes from System.TypInfo.GetPropInfos so definitely something is up.

    SharedScreenshot.jpg


  3. Hi there, 

     

    I have a component like this: 

    TCustomEdit<T: record> = class;
    TOnValidate<T: record> = function (ASender: TCustomEdit<T>; AValue: T): Boolean of object;
    
    TCustomEdit<T: record> = class(TEdit)
    private
      fOnValidate: TOnValidate<T>;
      // code here
    published
      property OnValidate: TOnValidate<T> read fOnValidate write fOnValidate;
    end;
    
    TIntEdit = class(TCustomEdit<Integer>)
      // code here
    end;

    The code compiles and TIntEdit registers without any complaints. But, when I want to drop the component onto a form, Delphi crashes with AV. What I am missing? 

    I tested it on Delphi XE4 and Delphi 10.4 CE. It's a bug, feature of just "by design"? @Stefan Glienke, will you help? Anyone?


  4. On 6/25/2021 at 5:05 PM, Der schöne Günther said:

    I had the same use case a few months ago, and I was glad to find out that you can at least easily select, copy & paste the compiler output as text lines. Writing yourself a tool that filters the output (for example, by unit or severity) should be trivial. The extra step to select, copy & paste might be annoying, but better than nothing.

    This is the way I am doing it right now. Though, I do not use a "special" tool ;) Instead I use Notepad++. It is enough for small projects but I am going to cleanup a significantly larger project and I need a better tool.


  5. 9 minutes ago, Lars Fosdal said:

    When you say messages - do you mean hints and warnings?


    (IMO, Hints and warnings are bugs waiting to happen and needs to be fixed on sight)

    Yes, exactly. And I have to say, I fully agree with above claim :) That is my main reason I am looking for such a tool. Any suggestions?


  6. Hi there,

     

    I am looking for some kind of plugin which allows to catch and filter out build / output messages for selected group of files (let say, I have a project with hundreds of units but I just want to see messages for a few units I am assigned to). Is there such a tool? Or any suggestion how to develop such a tool?

     

    Thanks in advance

     

    Piotr 


  7. Thank you very much! All of you! I did not even realize that there exists so many tools for that. I tried to use all suggested apps but most of them failed. More precisely, I failed because, as I suppose, I did not use it properly. Anyway, finally I used DBeaver and DbSchema (Free edition). Both works as expected and were able to prepare ER Diagrams for PostgreSQL schema with 500+ tables. It looks astonish, really. A small example, generated by DbSchema, can be seen below. 🙂

     

    image.thumb.png.aff5c9662e382ab33f25a43b626a015c.png

    Thank a lot again.

     

    Piotr

    • Like 1
    • Confused 1

  8. Hi there!


    I want to create ER Diagrams from existing PostgreSQL database (100+ tables) to figure out how the tables relate to each other. I am looking for a tool (preferably standalone one) which I am gonna use once only. Any suggestions?


    Best regards,


    Piotr

×