Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1

    [delphi] aprire form

    premetto che sono all'inizio.
    ho creato una form con un menu.
    come posso da questo far apparire un'altra form?

    sto impazzendo..

  2. #2
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    37
    nella form principale nel codice dell'evento in cui vuoi far apparire la form:

    Var fSecondaria : frmSecondaria;
    begin
    fSecondaria := frmSecondaria.Create;
    fSecondaria.Show;
    end;

  3. #3
    questa è la unit 1
    unit prova;

    interface

    uses
    Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
    Dialogs, Menus;

    type
    TForm1 = class(TForm)
    MainMenu1: TMainMenu;
    File1: TMenuItem;
    Inserisci1: TMenuItem;
    procedure Inserisci1Click(Sender: TObject);

    private
    { Private declarations }
    public
    { Public declarations }
    end;

    var
    Form1: TForm1;


    implementation

    {$R *.dfm}




    procedure TForm1.Inserisci1Click(Sender: TObject);
    begin
    TForm2.Show;
    end;

    end.
    questa è la unit 2(dove c'è il form che voglio aprire
    unit Unit2;

    interface

    uses
    Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
    Dialogs, DB, ADODB, StdCtrls;

    type
    TForm2 = class(TForm)
    Label1: TLabel;
    Edit1: TEdit;
    Button1: TButton;
    ADOConnection1: TADOConnection;
    ADODataSet1: TADODataSet;
    ADOTable1: TADOTable;
    DataSource1: TDataSource;
    private
    { Private declarations }
    public
    { Public declarations }
    end;

    var
    Form2: TForm2;

    implementation

    {$R *.dfm}

    end.

  4. #4
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    37
    intanto sulla unit1 devi aggiungere:
    uses unit2

    poi nell'evento:
    codice:
    procedure TForm1.Inserisci1Click(Sender: TObject);
    Var Form2 : TForm2;
    begin
     Form2 := TForm2.Create;
     Form2.Show;
    end;

  5. #5
    grazie ma
    Form2 := TForm2.Create;

    in questa riga mi dice:
    Not enough actual parameters

  6. #6
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    37
    che versione di delphi stai usando?

    prova con:

    Form2 := TForm2.Create(self);

  7. #7
    trovata la soluzione


    Form2 := TForm2.Create(Form2);

  8. #8
    Originariamente inviato da niprova
    trovata la soluzione


    Form2 := TForm2.Create(Form2);
    no buono,
    meglio
    Form2 := TForm2.Create(nil);

    ciao
    sergio

  9. #9
    C'è qualcosa che non mi torna... ma in un progetto Delphi standard, la seconda Form non dovrebbe essere creata nel progetto stesso (il .dpr) ? esempio:

    Codice PHP:
    // File Project1.dpr

    program Project1;

    uses
      Forms
    ,
      
    Unit1 in 'Unit1.pas' {Form1},
      
    Unit2 in 'Unit2.pas' {Form2};

    {
    $R *.res}

    begin
      Application
    .Initialize;
      
    Application.CreateForm(TForm1Form1);
      
    Application.CreateForm(TForm2Form2);   // Quì crea il form 2
      
    Application.Run;
    end
    quindi per visualizzare la seconda Form basta dare solo:

    Codice PHP:
    procedure TForm1.Inserisci1Click(SenderTObject);
    begin
      Form2
    .Show;
    end
    dal codice del Form1, senza crearla nuovamente.

    Ciao
    FSL
    Il mio freeware: http://fsl.sytes.net o http://freesoftland.sytes.net; no spyware, no malware

    Vuoi programmare in metà tempo senza spendere una lira? Prova il mio "Developer's Tips & Tricks"...

  10. #10
    è una tua scelta. Puoi crearla tu dinamicamente o farla autocreare dal progetto (una selezione che fai sotto opzioni, mi sembra).
    Sel la crei tu dinamicamente senza assegnarle un genitore, comeTForm.Create(nil) devi ricordarti di distruggerla.

    ciao
    sergio

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.