AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi OnShow, OnActivate wird nicht ausgeführt, wenn Programm schon mal geladen wurde

OnShow, OnActivate wird nicht ausgeführt, wenn Programm schon mal geladen wurde

Ein Thema von Helmi · begonnen am 21. Sep 2013 · letzter Beitrag vom 22. Sep 2013
Antwort Antwort
Benutzerbild von Helmi
Helmi

Registriert seit: 29. Dez 2003
Ort: Erding, Republik Bayern
3.312 Beiträge
 
Delphi XE2 Professional
 
#1

OnShow, OnActivate wird nicht ausgeführt, wenn Programm schon mal geladen wurde

  Alt 21. Sep 2013, 13:31
Hallo,

ich habe ein verzwicktes Problem.

Ich nutze als Datei-Manager FreeCommander, in der Arbeit, als auch zu Hause.

Ich habe mir ein Programm geschrieben, dass aus dem FreeCommander über einen sog. "Programmfavoriten" geladen
wird. Dabei wird der aktuelle Pfad und die aktuelle Datei mit übergeben.
Das funktioniert alles tadellos.

Ist nun mein Programm nicht nicht geladen und es wird über FreeCommander gestartet (mittels Klick auf das Icon
im Commander) so öffnet es sich und es wird auch der Pfad etc. übergeben.

Klicke ich aber noch einmal auf das Icon im Commander, obwohl mein Programm schon geöffnet ist, so kommt mein
Programm in den Vordergrund, aber ich bekomme das in meinem Programm nicht mit.
Weder OnShow, noch OnActivate werden ausgelöst.

Wie kann ich mitbekommen, wenn das Programm nochmals "gestartet" wird, bzw. anscheinend in den Vordergrund
gebracht wird?
mfg
Helmi

>> Theorie ist Wissen, dass nicht funktioniert - Praxis ist, wenn alles funktioniert und keiner weiss warum! <<
  Mit Zitat antworten Zitat
Volker Z.

Registriert seit: 3. Dez 2012
Ort: Augsburg, Bayern, Süddeutschland
419 Beiträge
 
Delphi XE4 Ultimate
 
#2

AW: OnShow, OnActivate wird nicht ausgeführt, wenn Programm schon mal geladen wurde

  Alt 21. Sep 2013, 13:48
Hallo,

steht bei Dir im Code irgendwie so etwas?
Delphi-Quellcode:
procedure TForm1.FormActivate(Sender: TObject);
begin
// Dein Aktivierungscode
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  Application.OnRestore := FormActivate
end;

Gruß
Volker Zeller
  Mit Zitat antworten Zitat
Benutzerbild von Helmi
Helmi

Registriert seit: 29. Dez 2003
Ort: Erding, Republik Bayern
3.312 Beiträge
 
Delphi XE2 Professional
 
#3

AW: OnShow, OnActivate wird nicht ausgeführt, wenn Programm schon mal geladen wurde

  Alt 21. Sep 2013, 13:51
nein - sowas steht bei mir ned

würde auch nicht funtionieren
hab´s gerade mit ApplicationEvents ausprobiert.
mfg
Helmi

>> Theorie ist Wissen, dass nicht funktioniert - Praxis ist, wenn alles funktioniert und keiner weiss warum! <<

Geändert von Helmi (21. Sep 2013 um 13:56 Uhr)
  Mit Zitat antworten Zitat
Volker Z.

Registriert seit: 3. Dez 2012
Ort: Augsburg, Bayern, Süddeutschland
419 Beiträge
 
Delphi XE4 Ultimate
 
#4

AW: OnShow, OnActivate wird nicht ausgeführt, wenn Programm schon mal geladen wurde

  Alt 21. Sep 2013, 14:10
Hallo,

sorry mein Fehler. Es ist nicht OnRestore, es müsste
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin
  Application.OnActivate := FormActivate
end;
sein.

Gruß
Volker Zeller
  Mit Zitat antworten Zitat
Benutzerbild von Helmi
Helmi

Registriert seit: 29. Dez 2003
Ort: Erding, Republik Bayern
3.312 Beiträge
 
Delphi XE2 Professional
 
#5

AW: OnShow, OnActivate wird nicht ausgeführt, wenn Programm schon mal geladen wurde

  Alt 21. Sep 2013, 14:16
hab ich auch ausprobiert, über ApplicationEvents (sorry, hab´s vergessen zu erwähnen)

das funktioniert, Danke!

Wollte zuerst schreiben, dass es nicht funktioniert, aber es wird ausgelöst, nur die
Param´s werden ned aktualisiert..
mfg
Helmi

>> Theorie ist Wissen, dass nicht funktioniert - Praxis ist, wenn alles funktioniert und keiner weiss warum! <<
  Mit Zitat antworten Zitat
Volker Z.

Registriert seit: 3. Dez 2012
Ort: Augsburg, Bayern, Süddeutschland
419 Beiträge
 
Delphi XE4 Ultimate
 
#6

AW: OnShow, OnActivate wird nicht ausgeführt, wenn Programm schon mal geladen wurde

  Alt 21. Sep 2013, 23:39
Hallo,

Zitat:
nur die Param´s werden ned aktualisiert [...]
jetz sog no welche des nocha san, nocha käma do vielleicht no wos macha

Gruß
Volker Zeller
  Mit Zitat antworten Zitat
Benutzerbild von Helmi
Helmi

Registriert seit: 29. Dez 2003
Ort: Erding, Republik Bayern
3.312 Beiträge
 
Delphi XE2 Professional
 
#7

AW: OnShow, OnActivate wird nicht ausgeführt, wenn Programm schon mal geladen wurde

  Alt 22. Sep 2013, 08:33
woast, i moan "ParamCount" und "ParamStr"
die wer´n ned neu gschrie´m

[Übersetzung für nicht Bayern]
weisst, ich mein "ParamCount" und "ParamStr"
die werden nicht neu beschrieben
mfg
Helmi

>> Theorie ist Wissen, dass nicht funktioniert - Praxis ist, wenn alles funktioniert und keiner weiss warum! <<
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.330 Beiträge
 
Delphi 11 Alexandria
 
#8

AW: OnShow, OnActivate wird nicht ausgeführt, wenn Programm schon mal geladen wurde

  Alt 22. Sep 2013, 08:46
Wollte zuerst schreiben, dass es nicht funktioniert, aber es wird ausgelöst, nur die
Param´s werden ned aktualisiert..
Können sie auch gar nicht, denn wenn das so passiert, bedeutet das, dass der FreeCommander einfach nach dem Fenster sucht und es nach vorne schiebt. Von den Parametern aus deinem FreeCommander kann dein Programm ja gar nichts wissen.

Du kannst nur mal schauen, ob die Parameter vom FreeCommander vielleicht z.B. als Windows Message verschickt werden...
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat
Benutzerbild von Helmi
Helmi

Registriert seit: 29. Dez 2003
Ort: Erding, Republik Bayern
3.312 Beiträge
 
Delphi XE2 Professional
 
#9

AW: OnShow, OnActivate wird nicht ausgeführt, wenn Programm schon mal geladen wurde

  Alt 22. Sep 2013, 08:57
Wollte zuerst schreiben, dass es nicht funktioniert, aber es wird ausgelöst, nur die
Param´s werden ned aktualisiert..
Können sie auch gar nicht, denn wenn das so passiert, bedeutet das, dass der FreeCommander einfach nach dem Fenster sucht und es nach vorne schiebt. Von den Parametern aus deinem FreeCommander kann dein Programm ja gar nichts wissen.
Das dacht ich mir auch! - die Parameter werden ja zum Laden mitgegeben - und nicht beim Anzeigen

Du kannst nur mal schauen, ob die Parameter vom FreeCommander vielleicht z.B. als Windows Message verschickt werden...
Gibt's da "fertige" Messages, für so etwas?
mfg
Helmi

>> Theorie ist Wissen, dass nicht funktioniert - Praxis ist, wenn alles funktioniert und keiner weiss warum! <<
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.330 Beiträge
 
Delphi 11 Alexandria
 
#10

AW: OnShow, OnActivate wird nicht ausgeführt, wenn Programm schon mal geladen wurde

  Alt 22. Sep 2013, 09:52
Gibt's da "fertige" Messages, für so etwas?
Nein, wenn, dann nur etwas Eigenes.
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 02:05 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