AGB  ·  Datenschutz  ·  Impressum  







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

Form unload

Ein Thema von Web-SZ · begonnen am 9. Aug 2003 · letzter Beitrag vom 13. Aug 2003
Antwort Antwort
Web-SZ

Registriert seit: 9. Aug 2003
Ort: Austria
19 Beiträge
 
Delphi 7 Enterprise
 
#1

Form unload

  Alt 9. Aug 2003, 20:29
Hallo

Bin mal gespannt, welche Antworten mich hier erwarten. Hoffentlich nicht so wie bei der Konkurrenz!

Verstehe schon, dass diese Frage für viele einfach klingen mag, aber für mich nicht.

Ich habe ne Login-Form, ist das Passwort korrekt wird eine weitere Form geöffnet, nur die Login-Form sollte ganz verschwinden. Wenn man sie nicht aus den Speicher lassen kann, dann reicht auch verstecken

Hoffe, das krieg ich hier beantwortet


MFG Web-SZ
  Mit Zitat antworten Zitat
chris01

Registriert seit: 26. Apr 2003
Ort: Ahlen
163 Beiträge
 
Delphi 7 Personal
 
#2

Re: Form unload

  Alt 9. Aug 2003, 20:32
Form1.Hide!!

Es geht aber auch

Form1.Close;
Christopher H.
  Mit Zitat antworten Zitat
Web-SZ

Registriert seit: 9. Aug 2003
Ort: Austria
19 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: Form unload

  Alt 9. Aug 2003, 20:35
Beng!

Das hat gesessen! Wie gesagt sorry für die Frage, habe schon VB programmiert und habe mich irgendwie eh gewundert, dass man da kein hide hernehmen kann (bei delphi)

geht also doch


hab noch eine Frage: kann ich ohne zusätzliche Kompomenten die Buttons nicht farbig machen? habe Delphi 7 Enterprise

Danke für Infos

Super Board hier
najch drei min schon ne helfende Antwort


MFG Web-SZ



Edit: hm ne, bei close das hab ich erst auch probiert, nur der schließt gleich die ganze sache, also auch die nächste Form.
  Mit Zitat antworten Zitat
Web-SZ

Registriert seit: 9. Aug 2003
Ort: Austria
19 Beiträge
 
Delphi 7 Enterprise
 
#4

Re: Form unload

  Alt 9. Aug 2003, 20:41
hm zufrüh gefreut! jetzt habe ich dafür das prob, dass wenn ich jetzt danach die zweite form schließe, er sie nur ausblendet, aber nicht richtig wieder ins code-fenster zurückkehrt. also er bleibt lam laufen ohne form


mfg web-sz
  Mit Zitat antworten Zitat
chris01

Registriert seit: 26. Apr 2003
Ort: Ahlen
163 Beiträge
 
Delphi 7 Personal
 
#5

Re: Form unload

  Alt 9. Aug 2003, 20:50
Dann musst du das Login-Form nicht als Hauptform nehmen, sondern als 'neben' form!!

Du willst also das Programm gleichzeitig beenden??
Christopher H.
  Mit Zitat antworten Zitat
Web-SZ

Registriert seit: 9. Aug 2003
Ort: Austria
19 Beiträge
 
Delphi 7 Enterprise
 
#6

Re: Form unload

  Alt 9. Aug 2003, 21:08
also ich sehe schon, ich bin ein wenig unerfahren, besser gesagt noch zu viel an vb angewöhnt!

also kannst du mir mal erklären, wie du sowas machen würdest? das etwas nebenform wird, etc..

dann habe ich noch eine frage: bei mir ist es im moment so, wenn ich dir zweiten form sage, dass sie beim aufruf messages ausgeben soll, dann kommen diese schon vor der login-form hervor. das heißt dass alles schon mal geladen wird.

bitte erklär mir das genauer...

ich brauche ne login-form, und wenn alles richtig ist, dann sollte sie ausgeblendet (rausgeschmissen wäre mir lieber )und ne zweite form geladen werden. diese ist maximiert und hat ne timer-uhr, der sage ich, dass sie form3 aufrufen soll, die auf 800x600 angepasst ist. dann schalte ich die timer aus.

nur wäre da halt wichtig, dass form2 auch erst wirklich geladen wird, wenn ich es sage.


danke für deine hilfe und vielleicht melden sich ja noch welche


mfg web-sz
  Mit Zitat antworten Zitat
chris01

Registriert seit: 26. Apr 2003
Ort: Ahlen
163 Beiträge
 
Delphi 7 Personal
 
#7

Re: Form unload

  Alt 9. Aug 2003, 21:13
Also, du kannst forms über form1.show anzeigen!!

Wenn Form2 jetzt das passwort logim ist, dann würde ich schreiben

Delphi-Quellcode:
if edit1.text = 'passwortthen
begin
  LogIn.Hide;
  Form3.show;
end;
Und so verschwindet das LogIn und Form3 wird angezeigt!!
Christopher H.
  Mit Zitat antworten Zitat
Web-SZ

Registriert seit: 9. Aug 2003
Ort: Austria
19 Beiträge
 
Delphi 7 Enterprise
 
#8

Re: Form unload

  Alt 9. Aug 2003, 21:22
achso du meinst, ich sollte eine form starten, diese zum beispiel maximiert, ihr per uhr sagen, dass sie login anzeigen soll und timer wieder disabeln.

und danach sage ich der login dass sie bei richtig verschwinden soll und form3 reinladen soll.


meine frage/poroblem: ich sage der timer sie sollte login.show machen und dann sage ich timer1.enabled:=false;

nur der macht das nicht und macht lsutig weiter

nebeneffekt könnt ihr euch dann ja ausmalen


danke für weitere hilfe
  Mit Zitat antworten Zitat
chris01

Registriert seit: 26. Apr 2003
Ort: Ahlen
163 Beiträge
 
Delphi 7 Personal
 
#9

Re: Form unload

  Alt 9. Aug 2003, 21:26
Dann mach doch statt den Timer in die Create-Funktion von Form1 (Doppelklick auf Form1, entwicklungsumgebung), dass er LogIn.Show und Form3.show machen soll!!

Dann kann man sich den Timer sparen!!
Christopher H.
  Mit Zitat antworten Zitat
urs.liska

Registriert seit: 6. Aug 2003
Ort: Freiburg
195 Beiträge
 
Delphi 6 Professional
 
#10

Re: Form unload

  Alt 13. Aug 2003, 22:30
Du solltest auf jeden Fall 3 Forms haben:
Form1 (Hauptformular der Anwendung)
Form2 (LoginFormular)
Form3 (Arbeitsfenster)
Form2 und Form3 weist Du im OI visible = false zu.

In den Projektoptionen soll stehen, dass Formulare 1 und 3 automatisch erzeugt werden und Form1 das Hauptfenster ist.

Im Ereignis OnShow der Form1 rufst Du Form2.ShowModal auf.
Dort weist Du (je nach Erfolg des Login) Form2.ModalResult den Wert mrOK oder mrCancel zu, dadurch wird das Fenster geschlossen. (Dazu kann ich nichts genaueres sagen, weil ich nicht weiß, wie Dein Login funktioniert).
Delphi-Quellcode:
var loginForm: TForm;
begin
  loginForm := TForm2.Create(Application);
  if Form2.ShowModal = mrOK
     then
     begin
       Form2.FreeAndNil;
       Form3.Show
     end
     else Form1.Close;
end;
Was passiert?
1. Form1 und Form3 werden erzeugt (d.h. speicher reserviert und der ganze kram. Das siehst Du auch in der 'Projekt'.dpr-Datei vor Application.Run.
2. Form1 (als Hauptformular) wird angezeigt. Dann wird OnShow ausgelöst.
3. In OnShow erzeugst Du eine Instanz des Loginfensters und zeigst es mit ShowModal an. Das heißt, dass das Fenster im Vordergrund bleibt (d.h. man nichts anderes in der Anwendung gleichzeitig machen kann).
Wenn der Loginvorgang erfolgreich war (mrOK), wird Form2 befreit (und ist dann auch nicht mehr im Speicher) und Form3 angezeigt, in der wohl die eigentliche Arbeit des Programms abläuft.
Wenn der Login fehlgeschlagen ist, wird Form1 geschlossen.
Wenn Du das Hauptformular einer Anwendung schließt, wird die Anwendung beendet.

Ich hoffe, das hat es klarer gemacht
MFG
Urs

P.S. Timer oder sowas brauchst Du auf jeden fall nicht.
  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 23:21 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