Leider konnte ich noch nicht herausfinden, warum das so ist.
Ich habe nur eine Vermutung, dass eventuell bei der alten Multicolor Procedure List-Version folgendes passiert:
Wenn man PB beendet, dann werden zuerst alle PB-Gadgets und andere Objekte freigegeben und zum Schluss wird der PB-Prozess freigegeben.
Wenn die PB-Gadgets und der PB-Prozess nicht mehr existieren und mein Tool ermittelt
danach, ob PB noch läuft, dann bekommt er False zurück und beendet sich erfolgreich.
Falls aber stattdessen mein Tool zufälligerweise genau dazwischen in diesem Millisekundenbereich abfragt,
nachdem die Gadgets freigegeben wurden,
bevor der PB-Prozess freigegeben wurde, dann denkt mein Tool, dass die Gadgets nur neu erstellt wurden, weil man im PB-Einstellungsfenster auf Speichern geklickt hat. So würde mein Tool versuchen, seine Custom-Prozedurliste in PB neu zu implementieren, aber genau in dem Moment wird der PB-Prozess freigegeben und es entsteht dabei eine "Geisterverbindung" und gerät in eine Endlosschleife.
Komisch ist nur, dass sowohl Threads als auch BindEvents wie z.B. Timer in diesem Fall einfach hängen bleiben bzw, stehen bleiben. Nur die Haupt-Eventschleife bleibt bestehen und man kann da noch auf Events reagieren.
Warum läuft mein Tool mit dem Thread und BindEvents nicht ganz normal weiter? Und warum entsteht (auch bei mir) die durchgehende 25 %-Prozessorauslastung?
Zuerst habe ich an folgenden Wikipedia-Artikel gedacht:
https://de.wikipedia.org/wiki/Zombie-Prozess
Was aber bei meinem Tool glaube ich nicht der Fall sein kann.
Ich verwende auch nur BindEvent-Prozeduren, weil man damit den Quellcode besser trennen und übersichtlicher gestalten kann.
Ich werde später mal versuchen, ob ich mit einem einfachen, kurzen BindEvent-Beispiel (ohne sich an PB zu hängen) nachstellen kann. Falls man das bei einem einfachen BindEvent-Beispiel ebenfalls nachstellen kann, dann ist das ein PB-Bug.
Ich gebe dir ein paar Tage Zeit zum weiteren Testen der Beta-Version, falls du mein Tool benutzen möchtest. Falls nach ein paar Tagen der Fehler nicht mehr auftreten sollte, dann kann ich eine neue offizielle Version veröffentlichen.