AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Klasse soll Anwendung nur bei best. Änderung benachrichtigen
Thema durchsuchen
Ansicht
Themen-Optionen

Klasse soll Anwendung nur bei best. Änderung benachrichtigen

Ein Thema von Sunshine21 · begonnen am 26. Jun 2008 · letzter Beitrag vom 27. Jun 2008
Antwort Antwort
Seite 2 von 6     12 34     Letzte »    
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.625 Beiträge
 
Delphi 12 Athens
 
#11

Re: Klasse soll Anwendung nur bei best. Änderung benachricht

  Alt 26. Jun 2008, 13:47
Das OnChange-Ereignis soll ausgelöst werden, wenn Status geändert wird?
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von spaxxn
spaxxn

Registriert seit: 19. Nov 2004
253 Beiträge
 
Delphi XE2 Enterprise
 
#12

Re: Klasse soll Anwendung nur bei best. Änderung benachricht

  Alt 26. Jun 2008, 13:49
Hihi, du löst den Event auch gar nicht aus


Hast du dem OnChange eine Procedure zugewiesen?

Zitat von Sunshine21:
Delphi-Quellcode:
 procedure TMyClass.OnChange;
begin
  if Assigned(FOnChange) then
    FOnChange;
end;

procedure TMyClass.testTimer(Sender:TObject);
begin
    GetAvailable;
    ShowMessage('Timer läuft auch');
    OnChange; <---------- z.B.
end;

function TMyClass.GetAvailable: Boolean;
begin
  if FStatus = true then
  result := true
  else
  result := false
end;

end.
  Mit Zitat antworten Zitat
Sunshine21

Registriert seit: 26. Jun 2008
27 Beiträge
 
#13

Re: Klasse soll Anwendung nur bei best. Änderung benachricht

  Alt 26. Jun 2008, 13:51
Zitat von spaxxn:
Hihi, du löst den Event auch gar nicht aus
Eigentlich doch ich wollte das machen indem ich über einen Button FStatus ändere? Aber das kann ich ja noch nicht machen da die Klasse so wie ich sie gepostet habe wohl noch nicht läuft wie sie sollte.... denke ich.
  Mit Zitat antworten Zitat
Benutzerbild von spaxxn
spaxxn

Registriert seit: 19. Nov 2004
253 Beiträge
 
Delphi XE2 Enterprise
 
#14

Re: Klasse soll Anwendung nur bei best. Änderung benachricht

  Alt 26. Jun 2008, 13:53
Ja ne, du musst OnChange in der Funktion/Prozedur von der du die Mitteilung über eine Änderung erhalten möchtest auch aufrufen.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.625 Beiträge
 
Delphi 12 Athens
 
#15

Re: Klasse soll Anwendung nur bei best. Änderung benachricht

  Alt 26. Jun 2008, 13:55
Du brauchst eine Setter-Methode.
Delphi-Quellcode:
type Tmyclass = class
  ...
private
  procedure SetStatus(value: Boolean);
  ...
public
  property Status : Boolean read FStatus write SetStatus;
  ...
end;

procedure Tmyclass.SetStatus(value: Boolean);
begin
  FStatus := value;
  if Assigned(FOnChange) then
    FOnChange;
end;
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von spaxxn
spaxxn

Registriert seit: 19. Nov 2004
253 Beiträge
 
Delphi XE2 Enterprise
 
#16

Re: Klasse soll Anwendung nur bei best. Änderung benachricht

  Alt 26. Jun 2008, 14:00
Und denke dran, dass in deinem Hauptformular(z.B.) auch eine Methode deklariert und dem OnChange zugewiesen wird.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.625 Beiträge
 
Delphi 12 Athens
 
#17

Re: Klasse soll Anwendung nur bei best. Änderung benachricht

  Alt 26. Jun 2008, 14:01
Jepp, sonst kommt wieder nichts an
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Sunshine21

Registriert seit: 26. Jun 2008
27 Beiträge
 
#18

Re: Klasse soll Anwendung nur bei best. Änderung benachricht

  Alt 26. Jun 2008, 14:08
Zitat von spaxxn:
Und denke dran, dass in deinem Hauptformular(z.B.) auch eine Methode deklariert und dem OnChange zugewiesen wird.
Bingo, das wäre dann wohl die "Schnittstelle" zwischen den beiden die ich suche. Bloß wie mache ich das denn? Eine einfache Instanz mit der die Prozedur Onchange aufgerufen wird reicht ja nicht, oder?

Wenn ich das hinbekommen habe könnte ich nämlich alles mit austesten
  Mit Zitat antworten Zitat
Benutzerbild von spaxxn
spaxxn

Registriert seit: 19. Nov 2004
253 Beiträge
 
Delphi XE2 Enterprise
 
#19

Re: Klasse soll Anwendung nur bei best. Änderung benachricht

  Alt 26. Jun 2008, 14:13
Z.B.:

Delphi-Quellcode:
type
  TMeinFormular= Class(TForm)
  private
    procedure EineFunktion(Sender:TObject);
  end;
im Create dann noch
  MyClassInstance.OnChange_Func := EineFunktion;
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.625 Beiträge
 
Delphi 12 Athens
 
#20

Re: Klasse soll Anwendung nur bei best. Änderung benachricht

  Alt 26. Jun 2008, 14:13
Delphi-Quellcode:
type TMyForm = class(TForm)
  ...
private
  procedure DoChange; //eine Methode mit identischer Signatur wie in der Klasse
...
end;

...

procedure TMyForm.DoChange;
begin
  ShowMessage('Status geändert');
end;

procedure TMyForm.Wuppdi;
begin
  MyClass := TMyClass.Create;
  ...
  MyClass.OnChange_Func := DoChange; //Zuweisung der Routine
  ...
end;
[edit] Einen Tick zu spät [/edit]
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 6     12 34     Letzte »    


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 21:25 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