AGB  ·  Datenschutz  ·  Impressum  







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

form 2mal starten

Ein Thema von tgreif · begonnen am 9. Nov 2004 · letzter Beitrag vom 10. Nov 2004
Antwort Antwort
Seite 1 von 2  1 2      
tgreif

Registriert seit: 23. Okt 2003
Ort: orbassano
5 Beiträge
 
#1

form 2mal starten

  Alt 9. Nov 2004, 13:44
hi

wie kann ich verhinden das ein form 2mal gestartet werden kann ?

modal ist leider keine loesung!

Vielen dank !!
tom
  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
 
#2

Re: form 2mal starten

  Alt 9. Nov 2004, 13:46


Möchtest du ein Formular nur einmal starten oder deine komplette Anwendung?

Falls die Anwendung nur einmal gestartet werden soll, macht man das so.

Nachtrag: SOnst geht ShowModal schon, da man den Button, der das Formular öffnet, nicht mehr anklickbar ist, solange das 2. Form sichtbar ist.
  Mit Zitat antworten Zitat
Benutzerbild von Ultimator
Ultimator

Registriert seit: 17. Feb 2004
Ort: Coburg
1.860 Beiträge
 
FreePascal / Lazarus
 
#3

Re: form 2mal starten

  Alt 9. Nov 2004, 13:49
Wenn die ganze Anwendung nur einmal gestartet werden darf, dann such mal nach Hier im Forum suchenMutex.

Wenn aber nur eine Form nur einmal gestartet werden darf, dann definiere doch im Hauptprogramm eine Variable vom Typ Boolean, die du auf true setzt, sobald die Form geöffnet wird, und auf false, wenn die Form wieder geschlossen wird.
Dann kannst du die Variable abfragen, bevor die Form gestartet wird und je nachdem entscheiden, ob sie geöffnet werden kann oder nicht.
Julian J. Pracht
  Mit Zitat antworten Zitat
tgreif

Registriert seit: 23. Okt 2003
Ort: orbassano
5 Beiträge
 
#4

Re: form 2mal starten

  Alt 10. Nov 2004, 10:41
danke matze

das mit dem programmstart habe ich schon so .

ich wollte nur das mehrfachstarten der anderen formulare verhindern!
tom
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: Unterhaching
11.412 Beiträge
 
Delphi 12 Athens
 
#5

Re: form 2mal starten

  Alt 10. Nov 2004, 10:46
Wenn Dein Formular TForm2 ist, dann so:
Delphi-Quellcode:
procedure ShowForm2;
begin
  if Form2 = nil then
    Form2 := TForm2.Create(Application);
  Form2.Show;
  Form2.BringToFront;
end;
......
Daniel Lizbeth
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat
Robert_G
(Gast)

n/a Beiträge
 
#6

Re: form 2mal starten

  Alt 10. Nov 2004, 11:46
Ich hatte mich schonmal auf die Suche begeben, aber damlas nix gefunden...
Gibt es wirklich keine Lösung für ein Singleton in Delphi OHNE globale Variable ( ) ?
Nachtrag:
Ich meine, in C# habe cih ja static member für meine Klassen (Ich glaube sogar Delphi.Net kann das ), aber unter Win32 hätte ich auch ganz gerne ein Singleton (Wenn auch nur um bestehenden Code von diesen ekligen Variablen zu befreien...)
Das hier würde ja nur eine Instanz von Miep ermöglichen:
Code:
class Miep
{
   static Miep instance;
   
   private Miep()
   {}

   public Miep CreateInstance()
   {
      if (instance == null)
        instance = new Miep();
     
      return instance;
   }
}
Gibt's da einen ähnlichen Weg für Delphi32?
  Mit Zitat antworten Zitat
Benutzerbild von Jens Schumann
Jens Schumann

Registriert seit: 27. Apr 2003
Ort: Bad Honnef
1.644 Beiträge
 
Delphi 2009 Professional
 
#7

Re: form 2mal starten

  Alt 10. Nov 2004, 11:58
Hallo,
ich würde es mit TApplication.ComponentCount versuchen.
Ich bin mir ziemlich sicher, dass durch
TForm2.Create(Application); das Form in die Collection aufgenommen wird.
Dann kann man über die Collection iterieren und mit
If Application.Component is TForm2 darauf reagieren.
Damit das klappt muss man natülich, wenn Form2 freigegeben wird
TApplication.RemoveComponent das wieder aus der Collection entfernen.
Das wäre jetzt mein Ansatz
I come from outer space to save the human race
  Mit Zitat antworten Zitat
Robert_G
(Gast)

n/a Beiträge
 
#8

Re: form 2mal starten

  Alt 10. Nov 2004, 12:15
@Jens
Das wäre eine annehmbare Notlösung.
Da ich mich demnächst mal wieder über 2 D32 -Projekte setzen muss ( ) komme ich wohl nicht drumrum mich heute Abend hinzuhocken und mir was "hübscheres" einfallen zu lassen* oder deine Lösung zu nehmen.

*Wobei mir da gerade auch nur eine Liste von Instanzen einfällt.

edit: Schlechtschreibung
  Mit Zitat antworten Zitat
tgreif

Registriert seit: 23. Okt 2003
Ort: orbassano
5 Beiträge
 
#9

Re: form 2mal starten

  Alt 10. Nov 2004, 12:26
vielen dank an alle


ich habe mich am ende fuer den vorschlag von Sakura entschlossen !!
funktioniert wunderbar !!
tom
  Mit Zitat antworten Zitat
Morpheus

Registriert seit: 21. Jul 2003
Ort: Rinteln
3 Beiträge
 
Delphi 2006 Professional
 
#10

Re: form 2mal starten

  Alt 10. Nov 2004, 12:33
Hoi,
also ich hab zufällig grade das gleiche Problem....
Aber bei mit funktioniert der Vorschlag von Sakura leider nicht, denn wenn ich mein Formular einmal geschlossen habe und es wieder aufrufen will, kommt es nicht wieder

mfg
der morph
Wieso ist DAS jetzt passiert?
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 04:56 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