Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi eine Art onchange für Variabeln? (https://www.delphipraxis.net/132247-eine-art-onchange-fuer-variabeln.html)

buster55 8. Apr 2009 16:07

Re: eine Art onchange für Variabeln?
 
dies macht eie dritte Quelle, auf die man keinen Einfluss hat, um genau zu sein die Anzahl der austehenden Druchaufträge, aber das tut denke ich nichts zur Sache solange sie korrekt ausgelesen werden.

Andreas L. 8. Apr 2009 16:09

Re: eine Art onchange für Variabeln?
 
Zitat:

Zitat von buster55
dies macht eie dritte Quelle, auf die man keinen Einfluss hat, um genau zu sein die Anzahl der austehenden Druchaufträge, aber das tut denke ich nichts zur Sache solange sie korrekt ausgelesen werden.

Und da wo du ausliest kannst du auch die Variable abfragen, oder?

Delphi-Quellcode:
MeineVar := GetDruckaufträge;
if MeineVar = 0 then
....

buster55 8. Apr 2009 16:10

Re: eine Art onchange für Variabeln?
 
richtig aber ich will sie ja nicht nur überprüfen wenn sie ausgelesen wird sondern fortwährend

Andreas L. 8. Apr 2009 16:12

Re: eine Art onchange für Variabeln?
 
Zitat:

Zitat von buster55
richtig aber ich will sie ja nicht nur überprüfen wenn sie ausgelesen wird sondern fortwährend

Aber die Variable verändert sich doch nur wenn du die Druckaufträge ausliest?!? Naja, dann halt QuickAndDirty mit einem Timer oder der Methode von jfheins.

DeddyH 8. Apr 2009 16:13

Re: eine Art onchange für Variabeln?
 
Dann setz doch die geposteten Beispiele einfach um, Unsinn oder nicht.

khh 8. Apr 2009 16:14

Re: eine Art onchange für Variabeln?
 
Zitat:

Zitat von buster55
richtig aber ich will sie ja nicht nur überprüfen wenn sie ausgelesen wird sondern fortwährend

ich verstehe nicht ganz, was du willst.

Wenn du sie andauernd prüfen möchtest musst du sie doch auch andauernd neu übernehmen?

in dem Moment wo du die Variable übernimmst kannst du sie prüfen.

DeddyH 8. Apr 2009 16:16

Re: eine Art onchange für Variabeln?
 
Wenn man das aber an 100 Stellen im Code macht, ist eine Property IMHO die bessere Wahl, da man an zentraler Stelle reagieren kann ;)

Luckie 8. Apr 2009 16:19

Re: eine Art onchange für Variabeln?
 
Zitat:

Zitat von buster55
richtig aber ich will sie ja nicht nur überprüfen wenn sie ausgelesen wird sondern fortwährend

Noch mal, eine Varaible ändert sich nicht aus heiterem Himmel, sondern nur, wenn ihr ein neuer Wert zugewiesen wird. Und dann weißt du ganz genau, wann sie sich geändert hat, nämlich nach der Zuweisung und dann kannst du ihren Zustand abfragen. Geschiet dies mehr mals im Quellcode, ist, wie schon gesagt wurde, eine Property mit Setter sinnvoll, da man dann eine zentrale Stelle im Code hat.

Gib mal ein Beispiel, wo du meinst nicht mitzubekommen, wann sich der Wert der Varaiblen ändert.

mjustin 8. Apr 2009 16:39

Re: eine Art onchange für Variabeln?
 
Zitat:

Zitat von buster55
Meine Frage ist recht simpel, gibt es eine Möglichkeit direkt auf eine Veränderung einer Variabel zu reagieren.
Natürlich kann ich auch eine Schleife machen die das fortwährend abfragt, das macht die ganze Sache aber ein wenig langsam.


greetz
buster

Ist es eine eigene Variable oder eine 'fremde'? Die Anzahl Druckaufträge könnte ja eine Variable sein, die man nur abfragen kann, und keine Möglichkeit bietet, ein 'PropertyChangeEvent' in Form einer Setter-Methode daranzupappen.

'Fremd' ist alles, was z.B. ohne Sourcecode vorliegt (oder in Sourcen steht die man nicht ändern darf).

stoxx 8. Apr 2009 17:13

Re: eine Art onchange für Variabeln?
 
Zitat:

Noch mal, eine Varaible ändert sich nicht aus heiterem Himmel, sondern nur, wenn ihr ein neuer Wert zugewiesen
Luckie hat nur halb gelesen ..


wenn Du benachrichtig werden willst, kannst Du mal gucken, ob das Windows nicht vielleicht schon selber macht und es eine API Funktion dafür gibt. (da es ja wohl um Druckaufträge ging? ) Ansonsten müsstest du Dir eine Klasse schreiben, die eben wirklich ständig prüft und ein Event generiert, wenn sich die Zahl ändert.
in eine Liste könntest alle Events eintragen, wenn sich mehrere Objecte benachrichtigen lassen wollen.
Event Multicaster müsstest Du da basteln .. .NET kann das schon von Haus aus.
In Delphi selber basteln.

Oder such mal nach Observer Pattern .. wobei das in der Grundidee quatsch ist, weil Multicast Events völlig ausreichend sind und man da nicht von einer speziellen Klasse abgeleitet sein muss ..

kommt halt drauf an, wie groß das Projekt ist, bei einem 5 Minutenprojekt reicht sichherlich ein Timer, der ab und zu mal prüft :)


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:16 Uhr.
Seite 2 von 3     12 3      

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz