Re: Mehrere Instanzen des Programms verhindern
Wenn ich Dateien über das Symbol von meinem Programm ziehe, läuft alles, wie es soll!
Dann werden alle Parameter übergeben. |
Re: Mehrere Instanzen des Programms verhindern
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 ;) |
Re: Mehrere Instanzen des Programms verhindern
achso! Ich habe mir das mal in der Demo angesehen, aber ich bekomme es nicht so richtig hin :angel2:
Kannst du mir zeigen, wie ich das machen kann? |
Re: Mehrere Instanzen des Programms verhindern
Kann mir vielleicht noch mal jemand erklären, wie man alle Parameter der ersten Instanz übergibt :?:
MfG |
Re: Mehrere Instanzen des Programms verhindern
Hallo,
hat die Komponete nicht das Ereignis/Event OnSwitch? wird dort nicht als String der/die Parameter (durch '|' getrennt) übergeben? Grüße Klaus |
Re: Mehrere Instanzen des Programms verhindern
Die Komponente hat nur die Ereignisse OnAllow und OnGetParams.
Hab ich vielleicht eine alte Version? |
Re: Mehrere Instanzen des Programms verhindern
Zitat:
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 |
Re: Mehrere Instanzen des Programms verhindern
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 :roll: Wenn ich das Programm starte, sagt Vista, dass das programm nicht mehr richtig funktioniert! |
Re: Mehrere Instanzen des Programms verhindern
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:
Grüße
procedure TForm1.OneInstance1Switch(Parameters: TStrings);
begin Listbox1.Items.Assign(Parameters); end; procedure TForm1.OneInstance1Exists(var Switch: Boolean); begin close; end; Klaus |
Re: Mehrere Instanzen des Programms verhindern
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 :pale: Ich kann es gleich mal auf XP testen, aber ich denke, das ändert nichts. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:52 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