AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Mehrere Instanzen des Programms verhindern
Thema durchsuchen
Ansicht
Themen-Optionen

Mehrere Instanzen des Programms verhindern

Ein Thema von Shaman · begonnen am 18. Aug 2004 · letzter Beitrag vom 19. Jan 2009
Antwort Antwort
Seite 2 von 3     12 3      
Paul0703

Registriert seit: 24. Sep 2008
Ort: Halle(Saale)
138 Beiträge
 
Delphi 7 Professional
 
#11

Re: Mehrere Instanzen des Programms verhindern

  Alt 17. Jan 2009, 20:48
Wenn ich Dateien über das Symbol von meinem Programm ziehe, läuft alles, wie es soll!
Dann werden alle Parameter übergeben.
  Mit Zitat antworten Zitat
Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#12

Re: Mehrere Instanzen des Programms verhindern

  Alt 17. Jan 2009, 21:21
Wie teilst du der laufenden Anwendung den Parameter mit, den die neue Instanz erhält?

Die Kompo verhindert, dass mehrere Instanzen gestartet werden - dass die erste Instanz die Parameter der 2. mitbekommt, dafür musst du selbst sorgen
  Mit Zitat antworten Zitat
Paul0703

Registriert seit: 24. Sep 2008
Ort: Halle(Saale)
138 Beiträge
 
Delphi 7 Professional
 
#13

Re: Mehrere Instanzen des Programms verhindern

  Alt 17. Jan 2009, 21:25
achso! Ich habe mir das mal in der Demo angesehen, aber ich bekomme es nicht so richtig hin
Kannst du mir zeigen, wie ich das machen kann?
  Mit Zitat antworten Zitat
Paul0703

Registriert seit: 24. Sep 2008
Ort: Halle(Saale)
138 Beiträge
 
Delphi 7 Professional
 
#14

Re: Mehrere Instanzen des Programms verhindern

  Alt 19. Jan 2009, 14:43
Kann mir vielleicht noch mal jemand erklären, wie man alle Parameter der ersten Instanz übergibt

MfG
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.771 Beiträge
 
Delphi 10.4 Sydney
 
#15

Re: Mehrere Instanzen des Programms verhindern

  Alt 19. Jan 2009, 15:10
Hallo,

hat die Komponete nicht das Ereignis/Event OnSwitch?
wird dort nicht als String der/die Parameter (durch '|' getrennt) übergeben?

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
Paul0703

Registriert seit: 24. Sep 2008
Ort: Halle(Saale)
138 Beiträge
 
Delphi 7 Professional
 
#16

Re: Mehrere Instanzen des Programms verhindern

  Alt 19. Jan 2009, 15:17
Die Komponente hat nur die Ereignisse OnAllow und OnGetParams.
Hab ich vielleicht eine alte Version?
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.771 Beiträge
 
Delphi 10.4 Sydney
 
#17

Re: Mehrere Instanzen des Programms verhindern

  Alt 19. Jan 2009, 15:27
Zitat von Paul0703:
Die Komponente hat nur die Ereignisse OnAllow und OnGetParams.
Hab ich vielleicht eine alte Version?
Das weiß ich nicht, ob Du eine alte Version hast.
Ich habe mir nur den Quelltext aus dem Eingangsbeitrag angeschaut und dort
steht im Header:

{>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>}
{> Komponente: TOneInstance >}
{> Beschr. : Verhindert mehrere Instanzen der Anwendung >}
{> Properties: Enabled: Überwachung aktiv >}
{> AutoBringToFront: Nach Wechsel erste Instanz in den Vordergrund bringen >}
{> OnExists: Wird in der zweiten Instanz ausgelöst, wenn die erste läuft >}
{> OnSwitch: Wird in der ersten Instanz ausgelöst, nachdem die zweite die >}
{> Kommandozeilen-Parameter übermittelt hat und beendet wurde >}
{> Version : 1.0, 18.08.2004 >}
{> Autor : Daniel Pauli >}
{> Kontakt : daniel.pauli@gmx.ch >}
{> Lizenz : Frei verfügbar für Delphi-PRAXiS-Mitglieder >}
{>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>}

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
Paul0703

Registriert seit: 24. Sep 2008
Ort: Halle(Saale)
138 Beiträge
 
Delphi 7 Professional
 
#18

Re: Mehrere Instanzen des Programms verhindern

  Alt 19. Jan 2009, 16:01
Ok. Ich hatte eine andere Version der Komponente.
Jetzt habe ich die richtige, aber ich bekomme es irgendwie immernoch nicht hin. Ich fülle im OnSwitch der Komponente eine Listbox mit den Parametern, die ja als "Parameters" definiert sind, wie du schon sagtest.
Aber irgendwas haut da nicht hin
Wenn ich das Programm starte, sagt Vista, dass das programm nicht mehr richtig funktioniert!
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.771 Beiträge
 
Delphi 10.4 Sydney
 
#19

Re: Mehrere Instanzen des Programms verhindern

  Alt 19. Jan 2009, 21:12
Hallo Paul,

Deine Fehlerbeschreibung ist nicht sehr präziese.
Was funktioniert nicht?

Ich habe kein Vista um es auf diesem OS zu testen,
aber unter XP funktioniert es so:

Komponente auf das Formular ziehen.
Ereignisse OnExists und OnSwitch zuordnen.


Delphi-Quellcode:
procedure TForm1.OneInstance1Switch(Parameters: TStrings);
begin
  Listbox1.Items.Assign(Parameters);
end;

procedure TForm1.OneInstance1Exists(var Switch: Boolean);
begin
  close;
end;
Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
Paul0703

Registriert seit: 24. Sep 2008
Ort: Halle(Saale)
138 Beiträge
 
Delphi 7 Professional
 
#20

Re: Mehrere Instanzen des Programms verhindern

  Alt 19. Jan 2009, 21:29
Jetzt habe ich es so gemacht, wie du es beschrieben hast. Aber jetzt passiert folgendes:
Wenn ich eine Datei im Explorer mit rechts anklicke und dann auf einen selbst erstellt KontextMenü eintrag für mein Programm klicke, öffnet es sich jetzt wieder für jede Datei einmal und in der ListBox steht nichts
Ich kann es gleich mal auf XP testen, aber ich denke, das ändert nichts.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


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 12:00 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