Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi 2. Form erstellen (https://www.delphipraxis.net/125421-2-form-erstellen.html)

Affemitwaffe93 5. Dez 2008 22:32


2. Form erstellen
 
Hallo Leute,

ich hab mich jetz zwar schon seit einer heidenewigkeit durch verschiedenste Posts gelesen aber irgendwie bin ich zu blöd ne 2. Form zu erstelllen.

wenn ich nur
Delphi-Quellcode:
Form2.Show;
nehme dann komme ich auf eine sehr komische Fehlermeldung raus und die dazugehöhrige Delphi Hilfe bringt mich auch nicht weiter.

Pls helft mir ich verzweifle ^^

blawen 5. Dez 2008 22:37

Re: 2. Form erstellen
 
Wenn ich es richtig interpretiere, existiert das 2. Formular noch gar nicht.

Datei -> Neu -> Formular

BullsEye 6. Dez 2008 00:19

Re: 2. Form erstellen
 
Hallo und willkommen in der DP :dp:


Zitat:

Zitat von blawen
Datei -> Neu -> Formular

So erstellst du ein Formular und so:

Delphi-Quellcode:
Form2.Show;
Zeigst du Formular 2 während der Laufenden Anwendung an! Der dazugehörige verstecken Code lautet wie folgt:

Delphi-Quellcode:
Form2.Hide;

alzaimar 6. Dez 2008 09:13

Re: 2. Form erstellen
 
Zitat:

Zitat von Affemitwaffe93
dann komme ich auf eine sehr komische Fehlermeldung raus und die dazugehöhrige Delphi Hilfe bringt mich auch nicht weiter

Du hast ja einen sehr eigenartigen Humor, aber wenn Du uns diese Fehlermeldungen zeigst, lachen wir mit. Versprochen :zwinker:

Affemitwaffe93 6. Dez 2008 09:54

Re: 2. Form erstellen
 
Erstmal viiiiiiieeleeenn liiiieeben dank ^^

omg des hät ich nie gefunden xD

jetzt kommt allerdings die Fehlermeldung

Zitat:

Zugriffsverletzung bei Adresse 00447BC2 in Modul 'Projekt1.exe'. Lesen von Adresse 00000328.
:wall:

PS: Ich hab mich da glaub in dem Debugger Fenster verklickt, wie bekomm ich des alte wiederhehr ? Bei mir kann ich jetz nur noch auf OK drücken.

Affemitwaffe93 6. Dez 2008 16:47

Re: 2. Form erstellen
 
hat keiner ne ahnung warum die fehlermeldung kommt ?

mkinzler 6. Dez 2008 16:53

Re: 2. Form erstellen
 
Zitat:

hat keiner ne ahnung warum die fehlermeldung kommt ?
Eigentlich ja komisch, da du uns ja im Überfluss mit Informationen überschüttest hast.

fkerber 6. Dez 2008 16:55

Re: 2. Form erstellen
 
Hi!

Da meine Glaskugel kaputt ist, fällt es mir leider sehr schwer, ohne Code zu vermuten, wo der Fehler herkommt... :glaskugel:


Ciao, Frederic

omata 6. Dez 2008 16:58

Re: 2. Form erstellen
 
Die Fehlermeldung kommt, weil du das Formular jetzt nicht mehr automatisch beim Programmstart erstellst. Das Anzeigen über Form.Show geht nur, wenn das Formular auch existiert.

Also entweder läßt du das Formular beim Programmstart erstellen (was eigentlich kein guter Programmstil ist!), dann kannst du auch einfach ein Show bzw. Hide machen.
Oder du erstellst es selber, bevor du es benutzt...
Delphi-Quellcode:
procedure FormMain.ButtonClick(Sender:TObject);
var Form2:TForm2;
begin
  Form2:=TForm.create(Self);
  try
    if Form2.showmodal = mrOK then begin
      ...
    end;
  finally
    Form2.release
  end;
end;

Affemitwaffe93 6. Dez 2008 17:12

Re: 2. Form erstellen
 
@ fkerber: sry aber eig gab/gibt es keinen richtigen code da ich nicht blick wie mer ne 2. Form erstellt

@ omata : sry check ich net ganz

Delphi-Quellcode:
Form2:=TForm.create(Self);
mit dem erstell ich doch die 2. Form

aber für was brauch ich

Delphi-Quellcode:
try
    if Form2.showmodal = mrOK then begin
      ...
    end;
  finally
    Form2.release
un noch ne frage: wie kann ich die 2. Form bearbeiten ?

Affemitwaffe93 8. Dez 2008 16:01

Re: 2. Form erstellen
 
mir würds auch reichen wenn ihr mich au nen anderen thread hinweisst oder nen tut ausm i net habt aber i wie check ich des net

mkinzler 8. Dez 2008 16:08

Re: 2. Form erstellen
 
Zeig doch einfach mal deinen Code

DeddyH 8. Dez 2008 16:50

Re: 2. Form erstellen
 
Zitat:

mir würds auch reichen wenn ihr mich au nen anderen thread hinweisst oder nen tut ausm i net habt aber i wie check ich des net
Geht das auch auf Deutsch? Vielleicht solltest Du Dir das hier mal durchlesen (endlich kann ich mal drauf verweisen *g*).

Affemitwaffe93 8. Dez 2008 16:51

Re: 2. Form erstellen
 
Zitat:

Zitat von Affemitwaffe93
@ fkerber: sry aber eig gab/gibt es keinen richtigen code da ich nicht blick wie mer ne 2. Form erstellt

wie schon gesagt dreht es sich nur daram das ich wissen möchte, wie man mit der schon 1. Form z.B. mit nem Button ne 2. Form, die dann hald genauso wie die erste auch im Interface und Funktion frei einstellbar ist, erstellt.

Die Muhkuh 8. Dez 2008 16:53

Re: 2. Form erstellen
 
Schau doch nach, was die Funktionen / Prozeduren machen, dann siehst Du, dass Du die brauchst. ;)

Affemitwaffe93 8. Dez 2008 18:34

Re: 2. Form erstellen
 
ok dann versuch ichs mal xD

Delphi-Quellcode:
procedure FormMain.ButtonClick(Sender:TObject);
var Form2:TForm2;
begin
  Form2:=TForm.create(Self);
naja des is kein problem und soweit versteh ichs auch noch

Delphi-Quellcode:
  try
    if Form2.showmodal = mrOK then begin
      ...
    end;
  finally
    Form2.release
  end;
end;
des mit dem showmodal hab ich auch schon gekannt aber was ist mrOK und für was sind die ... ?

try und finally hab ich bis jetzt zwar noch nicht benutzt, versteh ich aber glaub auch

Die Muhkuh 8. Dez 2008 18:36

Re: 2. Form erstellen
 
ShowModal ruft das Fenster modal auf, das heißt, dass das Fenster Priorität hat und man erst wieder auf die Hauptanwendung Zugriff hat, wenn das mit ShowModal aufgerufene Fenster geschlossen wird.

Ein mit ShowModal aufgerufenes Fenster gibt einen ModalResult zurück, der in diesem Fall auf mrOK überprüft wird. Angenommen Du trägst etwas in eine Datenbank ein, dann wäre das mrOK, dass der Eintrag erfolgreich gemacht wurde.

Die ... stehen für Deinen Code, was passieren soll, wenn der Vorgang erfolgreich war.

Affemitwaffe93 8. Dez 2008 18:45

Re: 2. Form erstellen
 
dann müsste ich das ganze doch auch auf

Delphi-Quellcode:
begin
Form2:=TForm1.create(Self);
Form2.release

end;
beschränken können oder ? ich will eigentlich gar nichts nach dem check ausführen

und jetzt noch ne frage : Warum passiert nichts, wenn ich den Code in Delphi eingeb.

DeddyH 9. Dez 2008 07:17

Re: 2. Form erstellen
 
So erzeugst Du ein Formular und gibst es anschließend sofort wieder frei.

Affemitwaffe93 9. Dez 2008 14:49

Re: 2. Form erstellen
 
Ohhhh gott bin ich blöööööd xD ok also noch mal vielen dank ^^

jetz noch eine frage ^^

wie kann ich jetz die neue Form bearbeiten (hald genauso wie die Form1) und warum steht bei der neuen Form auch Form1 dran ?

DeddyH 9. Dez 2008 14:52

Re: 2. Form erstellen
 
Du erzeugst ja eine weitere Instanz von Form1, deshalb sind die auch gleich ;)

Affemitwaffe93 9. Dez 2008 14:57

Re: 2. Form erstellen
 
hmmhmh ok aber wie bekomm ich dann eine neue Form ?

weil das ist eigentlich das was ich wollte :mrgreen:

DeddyH 9. Dez 2008 15:00

Re: 2. Form erstellen
 
Was meinst Du jetzt mit neue Form? Eine völlig andere als Form1?

Affemitwaffe93 9. Dez 2008 15:02

Re: 2. Form erstellen
 
[langsam sollten wir uns echt mal über ICQ unterhalten ^^ wär einfacher ^^]

jaaaaaa ^^ des war eigentlich des Ziel von dem Thread ^^

DeddyH 9. Dez 2008 15:06

Re: 2. Form erstellen
 
Hast Du diese neue Form denn bereits in Delphi erstellt oder gibt es die noch gar nicht? Im letzteren Falle geh mal auf Datei - Neu - Formular (ich hoffe, das geht unter D2005 noch genauso).

mkinzler 9. Dez 2008 15:06

Re: 2. Form erstellen
 
Was meinst du nun mit anderer Form? Entwerfe halt eine andere im Formualrdesigner oder generiere sie dynamisch

Affemitwaffe93 9. Dez 2008 15:09

Re: 2. Form erstellen
 
Liste der Anhänge anzeigen (Anzahl: 1)
mhmhmhh ok hab ich

aber wenn ich jetzt

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
Form2.showmodal ;
end;
eingeb dann kommt die schon erwähnte fehlermeldung ^^

Zugriffsverletzung bei Adresse 00447BC2 in Modul 'Projekt1.exe'. Lesen von Adresse 00000328.

ok is dabei

DeddyH 9. Dez 2008 15:19

Re: 2. Form erstellen
 
Häng doch das Projekt mal an, sonst geht das noch ewig weiter.

ToFaceTeKilla 9. Dez 2008 15:25

Re: 2. Form erstellen
 
Nur ne Vermutung:
Kann es sein, dass da eventuell der Eintrag in der Uses fehlt?
In deiner Unit zu Form1 (ich nehm mal stark an Unit1 ;-) ), hast du, nachdem du Datei->Neu->Formular gemacht hast, oben hinter
Delphi-Quellcode:
uses
die neue Unit (unit2 ?) geschrieben?


Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, unit2;///<<<< so hier

type
  TForm1 = class(TForm)
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

end.

mkinzler 9. Dez 2008 15:26

Re: 2. Form erstellen
 
Endlosschleifen sind immer schlecht ob im Programm oder hier im Forum

DeddyH 9. Dez 2008 15:27

Re: 2. Form erstellen
 
Dann wäre Form2 aber nicht bekannt, d.h. das Projekt ließe sich gar nicht kompilieren.

quendolineDD 9. Dez 2008 15:29

Re: 2. Form erstellen
 
Der Fehler liegt hier:
Delphi-Quellcode:
var
  Form1: TForm1;
  Form2: TForm1;
in Form1.
Nehm das Form2 : TForm1 heraus und deklariere anstelle dessen Form2 in der Uses-Klausel
Delphi-Quellcode:
implementation

uses Unit2;
Lg

Affemitwaffe93 9. Dez 2008 15:54

Re: 2. Form erstellen
 
@ quendolineDD: jap funktioniert ^^ spitze

@ all: also jetz zum 3. mal nochmal vielen daaaank an alle, die geholfen haben und sorry das ich son noob bin aber ich versuch mich zu besser :-D.

seim 9. Dez 2008 15:55

Re: 2. Form erstellen
 
Guck mal..

Delphi-Quellcode:
if not Assigned(RapeCubeAboutWindow) then begin
  RapeCubeAboutWindow := TRapeCubeAboutWindow.Create(nil);
    try
      RapeCubeAboutWindow.ShowModal;
    finally
      RapeCubeAboutWindow.Free;
    end;
Ersetze jeweils mit Form2 bzw TForm2 sofern der Name nicht geändert wurde..


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:13 Uhr.

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