AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Doppelten Start eines Programmes verhindern
Thema durchsuchen
Ansicht
Themen-Optionen

Doppelten Start eines Programmes verhindern

Ein Thema von Andidreas · begonnen am 25. Okt 2006 · letzter Beitrag vom 10. Feb 2007
Antwort Antwort
Seite 3 von 3     123   
Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#21

Re: Doppelten Start eines Programmes verhindern

  Alt 26. Okt 2006, 10:22
Application.Title := 'hier muss ich denn text reinschreiben';´// <-- und diese auch Und das wird nicht klappen, Delphi (zumindest mein D6) mekert dan rum und will das Project nicht mehr
starten und oder laden.

Die CreateMutex - Version ist ein wenig flexibler und sicherer.
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  Mit Zitat antworten Zitat
Benutzerbild von Andidreas
Andidreas

Registriert seit: 27. Okt 2005
1.110 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#22

Re: Doppelten Start eines Programmes verhindern

  Alt 27. Okt 2006, 07:52
Zitat von turboPASCAL:
Application.Title := 'hier muss ich denn text reinschreiben';´// <-- und diese auch Und das wird nicht klappen, Delphi (zumindest mein D6) mekert dan rum und will das Project nicht mehr
starten und oder laden.

Die CreateMutex - Version ist ein wenig flexibler und sicherer.
warum ist createmutex flexibler und sicherer??? also bis jetzt funktioniert deine variante einwandrei

ich hab nur das problem, das wenn das programm im tray liegt (also als symbol neben der uhr), das dann das wieder
anzeigen der form nicht klappt...

muss mal kucken ob ich des da noch irgendwie rauskrieg *gg*

zur info ich arbeite mit cooltrayicon...
Ein Programmierer Programmiert durchschnittlich 15 Code Zeilen pro Tag
Wir sind hier doch nicht bei SAP!!!

Aber wir habens bald
  Mit Zitat antworten Zitat
Benutzerbild von Andidreas
Andidreas

Registriert seit: 27. Okt 2005
1.110 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#23

Re: Doppelten Start eines Programmes verhindern

  Alt 27. Okt 2006, 09:17
ok ich habs ^^

folgende zeile hab ich in turboPASCAL's code anpassen müssen

If IsIconic(FirstInstance) Then ShowWindow(FirstInstance, SW_SHOW) da stand vorher SW_RESTORE, und des hat er irgendwie nicht gepackt....
mit SW_SHOW kriegt ers hin... nur das icon im tray wird nicht gekillt
Ein Programmierer Programmiert durchschnittlich 15 Code Zeilen pro Tag
Wir sind hier doch nicht bei SAP!!!

Aber wir habens bald
  Mit Zitat antworten Zitat
Benutzerbild von Sunlight7
Sunlight7

Registriert seit: 17. Sep 2006
Ort: Sonnensystem, Zentral
1.522 Beiträge
 
Delphi 5 Standard
 
#24

Re: Doppelten Start eines Programmes verhindern

  Alt 19. Nov 2006, 00:43
Zitat:
Application.Title := 'hier muss ich denn text reinschreiben';´// <-- und diese auch
Und das wird nicht klappen, Delphi (zumindest mein D6) mekert dan rum und will das Project nicht mehr
starten und oder laden.
Ich hab das so:

In der Projekt Datei:
SetAppTitle('Ein Titel'); In einer Unit:
Delphi-Quellcode:
procedure SetAppTitel(const Titel:String);
begin
   Application.Title:=Title;
end;
Und Delphi gibt Ruhe
Windows: Ja - Microsoft: Nein -> www.ReactOS.org
  Mit Zitat antworten Zitat
Proddi

Registriert seit: 4. Sep 2003
9 Beiträge
 
#25

Re: Doppelten Start eines Programmes verhindern

  Alt 10. Feb 2007, 15:51
Zitat von pertzschc:
Zitat von Hansa:
Ganz einfach : beim Programmstart wird eventuell eine Menge initialisiert, Dateien geöffnet usw.
Meinst Du Dinge innerhalb der Delphi-Anwendung, sprich Forms per Autocreate oder Datamodule oder meinst Du Dinge, die Windows automatisch macht, worauf man im Code der Anwendung keinen Einfluss hat?

Wenn zweiteres, bitte erläutere doch mal genauer, was genau man da Windows zerschiessen könnte mit einem Halt?

Danke+Gruß,
Christoph
Ich denke, das ist eher eine Stil-Sache.
In diesem Fall mag HALT funktionieren. Allerdings ist das obergrauenvoller Programmierstil und genau deswegen hab ich auch bei jedem HALT Bauchschmerzen. Wenn man ein Programm abbricht, dann sollte es ordnungsgemäß beendet werden. Windows alle Aufräumarbeiten zu überlassen ist was für Scriptkiddies, die es nicht besser wissen. Wir wissen doch alle, daß dies nie in 100% aller Fälle funktioniert. "Nach mir die Sinnflut" trifft das recht gut.
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#26

Re: Doppelten Start eines Programmes verhindern

  Alt 10. Feb 2007, 23:46
Wieso werde ich in Verbindung mit "HALT" gebracht ? Wer verwendet denn so was ? Wenn schon, dann gleich mit GOTO.

Es gibt zwei grundsätzliche Methoden, ein Programm nur einmal zu starten. Entweder beim Starten der zweiten Instanz eines Programmes die erste zu beenden und das eben wieder zu starten, egal wo das zuerst gestartete gerade war. Das hat meistens schwerwiegende Konsequenzen. Holzhammermethoden. 8) Das wäre wirklich "nach mir die Sintflut" mit HALT etc.

Die andere ist : Semaphore setzen, wie von mir vorgeschlagen, um eben genau wieder da zu sein, wo der irgendwann zu bearbeitende Text oder sonstwas, der 5 Stunden vergessen wurde eben ist. Und zwar so ungefähr :

Delphi-Quellcode:
     hWndMe := FindWindow(appClass,appTitle);
    // falls andere Instanz existiert : diese in Vordergrund bringen,
    // Programm steht dann wieder genau an der Stelle, an der es verlassen wurde
    if (hWndMe <> 0) then begin
      BringWindowToTop(hWndMe);
      ShowWindow(hWndMe,SW_SHOWNORMAL);
    end;
Vielleicht geht das mit Mutex auch. Kann allerdings aus eigener Erfahrung nur sagen, dass es mit Semaphoren genau so geht. Sehr viele Fragen und Hinweisversuche in zig Foren über Mutex, die diesem ca. 80 % "Fragen-Marktanteil" beschert haben geben mir aber zu denken. 8)
Gruß
Hansa
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 3     123   


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 09:16 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