Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi onDeactivate (https://www.delphipraxis.net/7720-ondeactivate.html)

Pseudemys Nelsoni 20. Aug 2003 04:47


onDeactivate
 
ok wie das on activate/deactivate innerhalb der anwendung funzt weiss ich, aber wie mach ich das wenn ich z.v von einem anderem prog auf meins gehe? dann wird das onactivate ja nicht ausgelöst. Steht ja auch in der delphi hilfe

Zitat:

Beschreibung

Mit OnDeactivate können Sie spezielle Verarbeitungen durchführen, wenn das Formular deaktiviert wird und ein anderes Fenster der Anwendung den Fokus erhält. OnDeactivate wird nicht ausgelöst, wenn eine andere Anwendung den Fokus erhält. Ob eine andere Anwendung aktiviert wurde, können Sie mit dem Ereignis OnDeactivate des TApplication-Objekts feststellen.

btw "Ob eine andere Anwendung aktiviert wurde, können Sie mit dem Ereignis OnDeactivate des TApplication-Objekts feststellen." damit kann ich leider nicht viel anfangen, also wenn jemand eine idee hat bite poste, danke :)

teebee 20. Aug 2003 07:18

Re: onDeactivate
 
Zitat:

Im folgenden Beispiel wird eine Anwendung nach der Deaktivierung auf Symbolgröße verkleinert. Beachten Sie, daß AppDeactivate als Methode von TForm1 deklariert werden muß.


Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);

begin
  Application.OnDeactivate := AppDeactivate;
end;

procedure TForm1.AppDeactivate(Sender: TObject);

begin
  Application.Minimize;
end;

Ist das Beispiel aus der Hilfe...

Ciao, teebee

urs.liska 20. Aug 2003 08:32

Re: onDeactivate
 
Das Beispiel von teebee und Deine zitierten Hilfetexte meinen, dass Du nicht mit dem OnActivate-Event von TForm, sondern mit dem von TApplication arbeiten musst.
in jedem Programm wird von Delphi automatisch eine globale Variable Application: TApplication erzeugt, die die Anwendung repräsentiert und die teebee in seinem Beispiel verwendet.
Seit einiger Zeit (ich glaube Delphi 5 oder 6) gibt es aber auch die Komponente TApplicationEvents in der Registerkarte 'Zusätzlich', über die man auch zur Designzeit auf dem üblichen Wege auf die Anwendungsereignisse zugreifen kann.

Hoffe, das hilft zum Verständnis
MFG
Urs

Pseudemys Nelsoni 20. Aug 2003 13:52

Re: onDeactivate
 
hi leute, danke für die tips

@teebee...der code funzt nicht, undefinierter bezeichner "appDeactivate"

teebee 20. Aug 2003 14:03

Re: onDeactivate
 
Immer, wenn ein undefinierter Bezeichner angemeckert wird, heisst das, Du benutzt eine Variable oder rufst eine Funktion auf, die dem Compiler im Quelltext noch nicht bekannt gemacht wurde. Du musst hier in der Deklaration Deiner Form, z.B. im Public-Teil (bitte nicht im Private-Abschnitt, da hat nur Delphi selbst was verloren) die Prozedur noch aufführen:
Delphi-Quellcode:
Procedure AppDeactivate(Sender: TObject);
Jetzt sollte es gehen.

Gruss, teebee

Pseudemys Nelsoni 20. Aug 2003 14:20

Re: onDeactivate
 
huhu, leider geht das bei mir irgendwie nicht, ich bekomme immer den fehler:

Zitat:

[Fehler] Unit1.pas(12): Ungenügende Forward- oder External-Deklaration: 'TForm1.AppDeactivate'
[Fataler Fehler] Project1.dpr(5): Verwendete Unit 'Unit1.pas' kann nicht compiliert werden

teebee 20. Aug 2003 15:26

Re: onDeactivate
 
Dann poste doch am besten mal die Unit (also zumindest Deine Form-Deklaration und die Deactivate-Prozedur). Es sieht eigentlich so aus, als hättest Du im Programmteil das 'TForm1.' vor AppDeactivate weggelassen, oder Dich vielleicht oben vertippt...?

ach nee, ich seh grad in der Fehlermeldung, vertippt hast Du Dich anscheinend nicht...

Ciao, teebee


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:27 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