ich weiss jetzt nicht,obs erlaubt ist.Aber sobald im Hauptprogramm und in einem Threat je eine Datei (verschiedene Dateinamen und Kanäle) geöffnet werden,kommt immer die Fehlermeldung Schlüsselfeld nicht in Ordnung.Beide Dateien erhalten auch das dbuse(#Kanalnummer).
Tritt aber nur dann auf,wenn zufällig beide Dateien geöffnet werden.
Nun - generell unerlaubt ist in der Thread.Do eigendlich nix.
Nur sollte generell folgendes beachtet werden bzw. würde ich im Umgang mit der Thread.pcu folgendes empfehlen: (Ich werde das separat nochmal posten)
In der Thread.Do würde ich nur global-deklarierte Variablen nutzen.
In Prozeduren die von der Thread.Do in verschiedenen Threadsträngen aufgerufen werden - würde ich ebenfalls nur global-deklarierte Variablen nutzen. Prozeduren welche nur von einem einzigen Thread aufgerufen werden, können auch lokale Variablendeklarationen beinhalten.
Datei & Datenbankaktivitäten nur von einem Thread (jedoch nie Sonderthread 0!) abarbeiten lassen - um Kollisionen zu vermeiden.
Vor dem Erstellen von Windowselementen alle Threads stoppen - ich habe gemerkt das ab XProfan9 sonst Elemente nicht zuverlässig erzeugt werden.
liegt nicht an der unit.Bekomme den Multizugriff auf Files nicht hin.Auch bei unterschiedlichen Kanalnummern hauts nicht hin. Ursache: Habe im Hauptprogramm kein Waitinput,da das Hauptprogramm(wie auch der thread) ständig durchlaufen müssen. Baute mal versuchsweise ein waitinput ins Hauptprogramm ein und schon gings einwandfrei.
Lasse die thread.do jetzt in ein array einlesen und frage dieses dann über das Hauptprogramm ab.