Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    [Delphi], passare parametri ad un costruttore

    Data una classe che estende TPanel con il seguente costruttore

    Codice PHP:
        constructor Create(AOwnerTComponent); override
    implementato in questo modo:

    Codice PHP:
    constructor TBachecaTerminale.Create(AOwnerTComponent);
    var
      
    IInteger;
    begin
      inherited
    ;
    .... 
    come posso fare per passare un altro valore oltre ad AOwner: TComponent??

    Grazie mille, Denis.

  2. #2

    Re: [Delphi], passare parametri ad un costruttore

    Originariamente inviato da denis76
    Data una classe che estende TPanel con il seguente costruttore

    Codice PHP:
        constructor Create(AOwnerTComponent); override
    implementato in questo modo:

    Codice PHP:
    constructor TBachecaTerminale.Create(AOwnerTComponent);
    var
      
    IInteger;
    begin
      inherited
    ;
    .... 
    come posso fare per passare un altro valore oltre ad AOwner: TComponent??

    Grazie mille, Denis.
    constructor Create(AOwner: TComponent;altro_parametro : tipo_parametro); override;

    ...

    constructor TBachecaTerminale.Create(AOwner: TComponent;altro_parametro : tipo_parametro);
    var
    I: Integer;
    begin
    inherited Create(AOwner);

    ciao
    sergio

  3. #3
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,463
    Originariamente inviato da denis76
    Data una classe che estende TPanel con il seguente costruttore
    [...]
    come posso fare per passare un altro valore oltre ad AOwner: TComponent??
    Semplicemente, non puoi, a meno di non creare un altro costruttore con parametri differenti in overload o con un nome diverso.

    Se ridefinisci il costruttore ereditato tramite override, esso deve avere ovviamente gli stessi parametri in quanto dev'essere accessibile anche utilizzando una variabile che appartiene alla classe base che lo introduce (TComponent).

    In ogni caso, non potresti ottenere la chiamata al costruttore "appoggiando" il controllo sul Form in quanto Delphi invocherebbe il costruttore di TComponent e non il tuo "costruttore alternativo"; il tuo costruttore viene chiamato ovviamente se, sfruttando il concetto di polimorfismo della OOP, ridefinisci il costruttore ereditato dalla classe base tramite override, ma in tal caso - come detto all'inizio - non puoi variarne il prototipo.

    A cosa ti servirebbe? Qual è lo scopo che desideri ottenere? :master:

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.