xojo:objectnotifier:start

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
xojo:objectnotifier:start [2021/04/02 13:15]
mz
xojo:objectnotifier:start [2021/04/06 09:27] (aktuell)
mz [Object notification]
Zeile 4: Zeile 4:
  
 <WRAP round download 40%> <WRAP round download 40%>
-{{ :xojo:objectnotifier:object_notification.zip |Object Notification interfaces and class  (xojo-binary-code folder)}}\\+**{{ :xojo:objectnotifier:object_notification.zip |Object Notification interfaces and class  (xojo-binary-code folder)}}**\\
  
 {{ :xojo:objectnotifier:objectnotification.pdf |Sourcecode as pdf}} {{ :xojo:objectnotifier:objectnotification.pdf |Sourcecode as pdf}}
Zeile 20: Zeile 20:
 Simply instantiate this class and call their members like: Simply instantiate this class and call their members like:
  
- +Declare:
-  Declare:+
   private property onb as ObjectNotifierBox   private property onb as ObjectNotifierBox
-  ----- +in //Constructor// Method:
-  Constructor:+
   onb = new ObjectNotifierBox    onb = new ObjectNotifierBox 
-  ----- +Actual implementation of the //objectNotifier// Interface:
-  Method:+
   Sub addObjectNotificationReceiver(receiver as objectNotificationReceiver, optional info as Variant = nil)   Sub addObjectNotificationReceiver(receiver as objectNotificationReceiver, optional info as Variant = nil)
      onb.addReceiver(receiver, info)      onb.addReceiver(receiver, info)
   End Sub   End Sub
-   +
-  Method:+
   Sub removeObjectNotificationReceiver(receiver As objectNotificationReceiver)   Sub removeObjectNotificationReceiver(receiver As objectNotificationReceiver)
      onb.removeReceiver(receiver)      onb.removeReceiver(receiver)
   End Sub   End Sub
  
-For calling all receivers write:+For calling all subscribed receivers write somewhere in your class:
  
   onb.callReceivers(me)   onb.callReceivers(me)
Zeile 43: Zeile 39:
 Instead of "me" you may send any object you need, of course... Instead of "me" you may send any object you need, of course...
  
 +<WRAP round important 100%>
 +Be careful with //removing// if you have multiple subscriptions from the same object (perhaps with different //info//).\\
 +<code>
 +xy.addObjectNotificationReceiver(me, 1)
 +xy.addObjectNotificationReceiver(me, 2)
 +</code>
 +Because //removeObjectNotificationReceiver// obtains no //info// parameter, it cancels only the first object found in the array, thus acting as //fifo//.\\
 +It's therefore not possible to delete only the second entry (with //info// 2).
 +
 +</WRAP>
 +
 +
 +
 +====== Sourcecode ======
  
 {{ :xojo:objectnotifier:objectnotification-tree.png|}} {{ :xojo:objectnotifier:objectnotification-tree.png|}}
Zeile 102: Zeile 112:
   Properties   Properties
      
-  mInfos() As Variant +  Private mInfos() As Variant 
-  mReceivers() As objectNotificationReceiver+  Private mReceivers() As objectNotificationReceiver
      
   End Class   End Class
  • xojo/objectnotifier/start.1617362122.txt.gz
  • Zuletzt geändert: 2021/04/02 13:15
  • von mz