Einzelnen Beitrag anzeigen

Benutzerbild von TERWI
TERWI

Registriert seit: 29. Mär 2008
Ort: D-49626
381 Beiträge
 
Delphi 11 Alexandria
 
#9

Re: Brauche ich einen Thread ?

  Alt 16. Sep 2009, 19:54
Die DLL - wie gesagt für besagtes DVB-Proggie (DVBDream) - beinhaltet:

- 3 Formulare (EPG_MAIN, Scheduler und SetUp)
- 1 Unit (DATA - alle Deklarationen und allgemeine Funktionen zu Daten, in allen Forms eingebunden)
- Init- und Exit-Prozeduren der DLL
- Event-func's des Hauptprogramm's für jeweilige Reaktion (8 Stück)

Via Sendmessage setze ich den Zeiger auf meine CallBack und starte / stoppe ein Delivery nach Bedarf.
Das mache ich aber nur bei Umschaltung auf einen anderen Transponder (andere Daten...).

D.h. mein CallBack wird im 'laufenden Betrieb' kontinuierlich gerufen und abgearbeitet.
Diese Funktion ist in der DATA-Unit deklariert und allen anderen Form's bekannt.
... Keine Ahnung wie sich der Kontext für Zugriffe da verhält. Sollte aber laufen / lief auch bisher.

Die Datenanzeige ist logo eine Form wie Setup und Scheduler.
Wird wie alle anderen in der DLL bei INIT erzeugt und im EXIT zerstört.

JEDE Form hat ihre eigene Initialisierung über eine separate Prozedur, da das bei Create (und Destroy) in der Form noch nicht erledigt werden kann, bzw. noch nicht alle erforderlichen Daten vorhanden sind.
Passiert dann halt bei ON_INIT der DVB-App.
Rückwärts bei Exit: Alle Daten werden bei ON_Exit der DVB_App aus allen Forms gelesen und die Daten gesichert.

Da habe ich lange dran geknobelt, weil das vom zeitlichen Ablauf her nicht so wirklich einfach war, Daten zu intialisieren und vor Programm-Ende auch alle passend zu schreiben.
Das als solches klappt aber sehr gut und ist auch nicht neu. Nur ein wenig überarbeitet und verfeinert...

Aber darum als solche geht es wahrscheinlich ja auch gar nicht. Das Modul/Plugin ist wie gesagt schon gut 2 Jahre alt und hat derzeit in einer etwas anderen Konstellation mit den gleichen Daten-Routinen absolut einwandfrei gefunkt.


Sorry der vermeintlich doofen Frage:
... aber wie bekomme ich denn nun genau heraus, wer oder was den nun die Exception wo verursacht ???
Dazu muss ich zu meiner Schande gestehen (... ja lacht alle nur, höhöhö) das ich bisher immer kleine aber feine Progs gebastelt und das nie gebraucht habe.
Erst denken, dann proggen - hatte ich bisher nie Probs ...
Nur jetzt sch--ßt es mich an.

Help Please !?
  Mit Zitat antworten Zitat