Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Prism 2. Form im Projekt anzeigen (https://www.delphipraxis.net/70807-2-form-im-projekt-anzeigen.html)

Andidreas 5. Jun 2006 10:58


2. Form im Projekt anzeigen
 
hi,

ich mach mir grad ein kleines pojekt in dem unter anderem auch mehrere forms angezeigt werden sollen, je nach dem was der benutzer macht...

ich würd jetzt gern eine 2.form die ich dem pojekt hinzugefügt hab anzeigen... bloss wie geht das in .net????

folgendes hab ich schon ausprobiert:

Delphi-Quellcode:
procedure Main_Form.btn_Click(sender: System.Object; e: System.EventArgs);

var
Form2 : System.Windows.Forms.Form;

begin

  Form2 := System.Windows.Forms.Form.Create;

  Try
    Form2.ShowDialog;
  Finally
    Form2.Free;
  End;

end;
aber das erstellt mir eine neue form, und zeigt mir nicht die an die ich im projekt hinzugefügt hab....

wie krieg ich das hin das mir die 2.form aus meinem projekt angezeigt wird???

hat mir jemand bitte nen kleinen tipp???

SirThornberry 5. Jun 2006 11:02

Re: 2. Form im Projekt anzeigen
 
ist ja auch klar weil du mit
Delphi-Quellcode:
System.Windows.Forms.Form.Create
eine Instanz von "Form" erstellst und keine Instanz von deinem Form. du müsstest also dementsprechend diese Zeile anpassen so das durt nicht "Form" aus "System" genutzt wird sondern dannwohl deine eigene Klasse.

Andidreas 5. Jun 2006 11:04

Re: 2. Form im Projekt anzeigen
 
also ungefähr so:


Delphi-Quellcode:
Form2.Form.Create;
oder????

Andidreas 5. Jun 2006 18:37

Re: 2. Form im Projekt anzeigen
 
hmm ich habs jetzt mal so probiert:

Delphi-Quellcode:
procedure Main_Form.btn_Click(sender: System.Object; e: System.EventArgs);

begin

  Form_New.Create;
  Form_New.ShowDialog;

end;
aber wenn ich des so mach krieg ich folgende fehlermeldung beim kompelieren:

[Fehler] Project1_main.pas(644): E2382 Konstruktoren können mit Instanzenvariablen nicht aufgerufen werden

ich kapier aber nicht warum...
wenn ich mir andere code snippets anschau wird des da auch so gemacht... oder hab ich bei denen was übersehen?

SirThornberry 5. Jun 2006 21:42

Re: 2. Form im Projekt anzeigen
 
FormNew ist bei dir die Instanzvariable. Von welchem Typ ist bei dir FormNew?

Andidreas 6. Jun 2006 08:29

Re: 2. Form im Projekt anzeigen
 
so, inzwischen hab ich es geschafft :lol:

so gehts bei mir:
Delphi-Quellcode:
unit programm1

interface

uses
....

implementation
uses
programm2;

....


procedure main_form.btn_click(sender: System.Object; e: System.EventArgs);

var
frm : programm2.Form2;

begin

  frm := programm2.Form2;
  frm.ShowDialog;

end;

end.
was ich nur bisl komisch find, in vielen beispielen genügts wenn man einach denn form name angibt, aber wie man in meinem bsp. sieht, muss ich unit_name.form_name angeben damit das ganze geht....

das find ich bischen seltsam...

Edit: hatte ein "uses" vergessen ;)


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:05 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz