premetto che sono all'inizio.
ho creato una form con un menu.
come posso da questo far apparire un'altra form?
sto impazzendo..
premetto che sono all'inizio.
ho creato una form con un menu.
come posso da questo far apparire un'altra form?
sto impazzendo..
nella form principale nel codice dell'evento in cui vuoi far apparire la form:
Var fSecondaria : frmSecondaria;
begin
fSecondaria := frmSecondaria.Create;
fSecondaria.Show;
end;
questa è la unit 1
questa è la unit 2(dove c'è il form che voglio aprireunit 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.
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.
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;
grazie ma
Form2 := TForm2.Create;
in questa riga mi dice:
Not enough actual parameters
che versione di delphi stai usando?
prova con:
Form2 := TForm2.Create(self);
trovata la soluzione
Form2 := TForm2.Create(Form2);
no buono,Originariamente inviato da niprova
trovata la soluzione
Form2 := TForm2.Create(Form2);
meglio
Form2 := TForm2.Create(nil);
ciao
sergio
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:
quindi per visualizzare la seconda Form basta dare solo: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(TForm1, Form1);
Application.CreateForm(TForm2, Form2); // Quì crea il form 2
Application.Run;
end.
dal codice del Form1, senza crearla nuovamente.Codice PHP:
procedure TForm1.Inserisci1Click(Sender: TObject);
begin
Form2.Show;
end;
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"...
è 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