Ich hab ja, wie vielleicht der Eine oder Andere bereits gemerkt hat, grade Probleme mit den ToniTools.
Momentan scheint es als wenn die ToniTools instanz beim beenden nicht in die Settings geschrieben wird.
Was ich unternommen hab:
[ul]
[li]Ich hab Stück für Stück den Quellcode auskommentiert bis ich die Ursache eingrenzen konnte[/li][li]Ich habe die Zeile gefunden die das Hauptproblem auslöst[/li][li]Diese Zeile (folgt) versucht zu ersetzen oder auskommentiert - Ohne Erfolg bzw. neues Symptom[/li][li]Das SDK neu heruntergeladen - ist das, was ich auch verwende[/li][li]Das SDK (WinLirc) kompiliert - Selber Fehler wie in den ToniTools[/li][/ul]
Wie sieht der Code aus?
// Sonst knallts beim shutdown
MyID:=vKernel.InstanceManager.GetInstanceIDByName(TIPSToniTools.GetModuleName, 0);
vKernel.LogMessage(KL_MESSAGE, MyID, LibInfo.mName, '... shutting down...');
vKernel.InstanceManager.DeleteInstance(MyID);
// Original aus dem SDK -> MyID ist da einfach 0
vKernel.LogMessage(KL_MESSAGE, MyID, LibInfo.mName, 'Unregister');
vKernel := NIL;
DeleteInstance sorgt nun dafür, dass die Instanz nicht in die Settings gespeichert wird. Gut, leuchtet ja auch ein - ging aber sonst immer.
Lasse ich die Zeile weg, so lässt sich der Dienst nicht beenden. Die Animation bleibt stehen auch wenn der Dienst im Hintergrund offenbar doch beendet wird (Info ohne Gewähr)
Gut, dacht ich mir. Machst es so wie im SDK - Selbe Situation. Der Kommentar, den ich seiner Zeit da reingebastelt hab erinnerte mich daran, dass genau darum dies DeleteInstance drin ist. Der Fehler - wenn es denn einer ist - besteht bei mir also schon seit es die IPS2 gibt. Nur das Workaround funktioniert seit neuestem nicht mehr.
IPS ist seitdem mehrfach neu installiert und geupdatet worden. Er tritt auf mehreren Rechnern auf. Neue Dualcore-Maschienen wie alte Singelcores. Ich arbeite mit meinem altbewährtem aufgebohrtem TurboDelphi. OS ist mittlerweile Vista, aber der Ur-Fehler trat unter W2k auch schon auf. Wo kann ich ansetzen?
Paresy, hilf mir…
Toni