AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Problem beim Schließen von Form2

Ein Thema von Tobias · begonnen am 26. Okt 2004 · letzter Beitrag vom 27. Okt 2004
Antwort Antwort
Benutzerbild von Tobias
Tobias

Registriert seit: 26. Okt 2004
Ort: Pforzheim
18 Beiträge
 
Delphi 6 Personal
 
#1

Problem beim Schließen von Form2

  Alt 26. Okt 2004, 22:24
Hallo...
Ich hab grad n kleines Problem; vielleicht kann mir ja jemand helfen...

Und zwar hab ich mein Hauptformular "Form1". Dort sitzt ein "TMenu" drauf...
Wenn ich auf auf den Eintrag "Neu" klicke, dann soll sich "Form2" öffnen...

Ich weiß net ob der Code stimmt, auf jeden Fall kommt beim Schließen von "Form2" ein Fehler...
" is not a valid integer value Hier mal mein Code zum Öffnen des Fensters:
Delphi-Quellcode:
implementation

uses Unit2;

{$R *.dfm}

procedure TForm1.New1Click(Sender: TObject);
 Form1.Enabled:=False;
 Form2.ShowModal;
end;

"uses Unit2" deshlab, weil auf dem "Form2" zwei Edit-Felder sitzen, in die ich später Werte eintragen will, und beim Schließen des Fensters (mit einem Button) wieder in "Unit1" übertragen will...

Form2:
Delphi-Quellcode:
implementation

uses Unit1;

{$R *.dfm}

procedure TForm2.Button1Click(Sender: TObject);
begin
 Form2.Close;
 width:=strtoInt(Edit1.Text);
 height:=strtoInt(Edit2.Text);
end;

procedure TForm2.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
 CanClose:=True;
 Form1.Enabled:=True;
end;


den Code hab ich von der Internetseite hier....
Inzwischen hab ich allerdings herausgefunden, dass das ganze eigentlich auch nur mit "Form2.ShowModal:" und "Form2.Close;" gehen, sollte, das funktioniert allerdings nicht... :-/
Und dann is da eben immernoch dieser fehler, den ich oben beschrieben habe...





Wenn das hier alles irgendwie komplett falsch sein sollte (bin noch ein ziemlicher Newbie), kann mir dann vielleicht jemand mit nem komplett neuen Code weiterhelfen, mit dem ich zwei Werte aus "Form2" an "Form1" weitergeben kann?
Danke im voraus...
Tobias
  Mit Zitat antworten Zitat
Benutzerbild von Dani
Dani

Registriert seit: 19. Jan 2003
732 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: Problem beim Schließen von Form2

  Alt 26. Okt 2004, 22:28
Der Text in Edit1 ist leer. Ein leerer String kann nicht in einen Integer-Wert konvertiert werden.
StrToIntDef() dagegen liefert bei einem Fehler einen Standardwert zurück.

Welchen Sinn hat es überhaupt, die Größe von Form2 zu setzen, nachdem du es geschlossen hast?


Edit: Probier mal folgendes:

Delphi-Quellcode:
implementation

uses Unit2;

{$R *.dfm}

procedure TForm1.New1Click(Sender: TObject);
begin
 Form2.ShowModal;
end;
In Form2 die Eigenschaft "ModalResult" von Button1 auf "mrOK" setzen. OnClick kannst du dann frei lassen. Du könntest sogar folgendes machen:

Delphi-Quellcode:
implementation

uses Unit2;

{$R *.dfm}

procedure TForm1.New1Click(Sender: TObject);
begin
 case Form2.ShowModal of
  mrOK: //User hat Button1 gedrückt;
  //usw...
 end;
end;
Um einen Wert aus Form2 an Form1 "weiterzugeben" musst du eigentlich nichts weiter machen, als Unit2 in die Uses-Liste aufzunehmen (was du ja bereits getan hast *g*). Die Werte Height und Width müssten eigentlich auch verfügbar sein, wenn das Formular versteckt ist.
Dani H.
At Least I Can Say I Tried
  Mit Zitat antworten Zitat
Benutzerbild von Nikolas
Nikolas

Registriert seit: 28. Jul 2003
1.528 Beiträge
 
Delphi 2005 Personal
 
#3

Re: Problem beim Schließen von Form2

  Alt 26. Okt 2004, 22:30
Du schließt das Form zwei doch über den Button hier:
Delphi-Quellcode:
procedure TForm2.Button1Click(Sender: TObject);
begin
Form2.Close;
width:=strtoInt(Edit1.Text);
height:=strtoInt(Edit2.Text);
end;
oder? Wahrscheinlich ist eines der Edits leer und somit soll dann '' in einen String konvertiert werden, was dann zu dem erwähnten Fehler führt. Mit einem Try...except sollte da was zu machen sein.
Erwarte das Beste und bereite dich auf das Schlimmste vor.
  Mit Zitat antworten Zitat
Benutzerbild von Tobias
Tobias

Registriert seit: 26. Okt 2004
Ort: Pforzheim
18 Beiträge
 
Delphi 6 Personal
 
#4

Re: Problem beim Schließen von Form2

  Alt 26. Okt 2004, 22:50
ok, kleiner Fehler meinerseits:

Ich öffne Form2 über den TForm1.New1Click()-Befehl.
In Form2 hab ich zwei Edit-Felder und einen "Neu"-Button

Breite: "Edit1"-Feld
Höhe: "Edit2"-Feld
Button: "Button1"

Wenn ich nun im Formular1 im Menü auf "Neu" klicke, dann soll sich "Form2" öffnen...
Dann soll ich in die Edit-Felder die Breite und die Höhe einer TImage-Komponente eintragen können.
Mit einem Klick auf den "Neu"-Button in Form2 soll dann "Form2" geschlossen werden, und die Werte aus den edit-feldern sollen an "Form1" übertragen werden, damit ich dort mit ihnen weiterarbeiten kann, und dann in Form1 mit dem edit1-Wert die Breite und mit dem edit2-Wert die Höhe meiner "canvas" festlegen kann.

So soll das ganze funktionieren....

@Dani: dein Tipp hat leider nicht funktioniert....

Die Fehlermeldung tritt auch auf, wenn ich eine Zahl in die edit-Felder eintrage, das ist ja das komische...
Tobias
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#5

Re: Problem beim Schließen von Form2

  Alt 26. Okt 2004, 23:05
Herzlich willkommen!

Achso meinst du das, dann darfst du aber nicht einfach width schreiben, da du sonst die Breite des Formulars veränderst.

Schreib lieber
FOrm1.Image1.Width := ... oder was du verändern mächtest.
  Mit Zitat antworten Zitat
Benutzerbild von Dani
Dani

Registriert seit: 19. Jan 2003
732 Beiträge
 
Turbo Delphi für Win32
 
#6

Re: Problem beim Schließen von Form2

  Alt 26. Okt 2004, 23:12
Zitat:
Die Fehlermeldung tritt auch auf, wenn ich eine Zahl in die edit-Felder eintrage, das ist ja das komische...
Hab mal schnell was hingepfuscht, da funktioniert es

Edit: Huch, hab garnicht gesehen dass das dein erster Beitrag ist! Herzlich Willkommen in der Delphi-Praxis
Angehängte Dateien
Dateityp: zip tobias.zip (9,2 KB, 2x aufgerufen)
Dani H.
  Mit Zitat antworten Zitat
Benutzerbild von Tobias
Tobias

Registriert seit: 26. Okt 2004
Ort: Pforzheim
18 Beiträge
 
Delphi 6 Personal
 
#7

Re: Problem beim Schließen von Form2

  Alt 26. Okt 2004, 23:12
Danke für den Tipp
Hab jetzt einfach den Code für das "Setzen der Größe der Image1-Komponente" in Form2 reingesetzt und jeweils ein "Form1." davorgesetzt und jetzt funktionierts bestens!

Jetzt muss ich mir nurnoch ein Codeschnippselchen suchen, damit man in die Edit-felder nur zahlen eingeben kann....
Tobias
  Mit Zitat antworten Zitat
Benutzerbild von Tobias
Tobias

Registriert seit: 26. Okt 2004
Ort: Pforzheim
18 Beiträge
 
Delphi 6 Personal
 
#8

Re: Problem beim Schließen von Form2

  Alt 26. Okt 2004, 23:17
@Dani: dein Vorschlag ist ja noch um einiges komfortabler.... *freu*
Dann brauch ich net immer zwischen zwei Units rum-switchen....


Danke, dass ihr alle so schnell geantwortet habt 8)
Tobias
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#9

Re: Problem beim Schließen von Form2

  Alt 27. Okt 2004, 07:20
Zitat von Tobias:
Jetzt muss ich mir nurnoch ein Codeschnippselchen suchen, damit man in die Edit-felder nur zahlen eingeben kann....
Hier ein Tipp.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:11 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