Hola:
Me temo que es algo compleja y demasiado genérico como para que haya un algoritmo específico para hacerlo.
Se me ocurre, con algo de pseudocódigo, algo así, pero depende de las estructuras que hayas elegido, etc...
Sub TimerTareas_Tick
For each tarea as TipoTarea in matriz_tareas
If tarea.fecha_hora_ejecucion = fecha_hora_actual Then
TareaVinculada = TareasVinculadas.Get(tarea.posicion)
Comprobar condiciones TareaVinculada
If Condiciones Then
EjecutarTarea(tarea)
End if
End if
Next
End Sub
Podrías echar un vistazo al código del compañero Ganso, y buscar algo de inspiración ahí.
Buenas. Hace algún tiempo hice como trabajo fin de grado una aplicación con B4A, Pictorario, y ya cuenta con una cierta comunidad de usuarios y varias versiones. La cuestión es que por falta de tiempo (he tenido dos niñas más desde entonces, entre otras cosas 🤪), no puedo mantenerla al ritmo...
saludos,