-
Forum: Win32/Win64 API (native code)
by Rupert,
11. Okt 2021
Ursache gefunden - Problem gelöst.
Das Programm hat nicht nur den Timer, der die Hauptschleife triggert, sondern es gibt noch zwei weitere.
Ein Timer (Timer-A) dient dazu, dass der Heizkessel seinen Impuls bekommt, sich einzuschalten und der andere Timer (Timer-B) erfüllt den Zweck, dass ein oder mehrere Räume schnell aufgeheizt werden (Ferienwohnung wurde kurzfristig gebucht und muss auf...
-
Forum: Win32/Win64 API (native code)
by Rupert,
9. Okt 2021
Natürlich habe ich das nicht ignoriert das Programm modifiziert und den System-Timer probiert. Auch mit einem anderen externen Timer (Sulako) hatte ich auch schon experimentiert.
Stets das selbe, bei Timer.enable kracht es.
Aber dank der vielen Inputs bin ich dem Problem schon sehr nahe gekommen und glaube die Ursache bis kommende Woche gefunden zu haben, denn erstmals konnte ich eine...
-
Forum: Win32/Win64 API (native code)
by Rupert,
9. Okt 2021
Mit dem Debugger kann ich den Punkt auffinden, es ist nach wie vor Timer.enabled...
https://www.delphipraxis.net/attachment.php?attachmentid=54460&stc=1&d=1633765765
https://www.delphipraxis.net/attachment.php?attachmentid=54461&stc=1&d=1633766035
-
Forum: Win32/Win64 API (native code)
by Rupert,
6. Okt 2021
Ich finde absolut nichts...
hier sind die letzten 2 Sekunden vor dem Ende
"Process Profiling" in Heizung2020.exe ist der Timer, und ist das letzte Ereignis vor dem Absturz.
Der Absturz passierte um 17:49:21.
vlt. sieht jemand etwas anhand der beiden Logfiles.
Logfile6-10-21-a.txt ist nur der Log von Heizung0202.exe, Logfile6-10-21-alles.txt beinhaltet auch die anderen Programme.
...
-
Forum: Win32/Win64 API (native code)
by Rupert,
5. Okt 2021
Danke - werde dem nachgehen:)
-
Forum: Win32/Win64 API (native code)
by Rupert,
3. Okt 2021
Neue Erkenntnisse:
Also die Variablen habe ich vorerst nicht als Verursacher des Absturzes isolieren können.
Deshalb habe ich nun den Processmonitor mitlaufen lassen und dabei festgestellt, dass der Absturz ähnlich damit ist, als würde jemand den Menüpunkt "Beenden" klicken.
Ähnlich deshalb, weil nach dem Processname 17:56:11 1087389 (CloseFile) noch Dinge geschehen, die beim manuellen...
-
Forum: Win32/Win64 API (native code)
by Rupert,
19. Sep 2021
Habe ich berreits hier kommentiert
-
Forum: Win32/Win64 API (native code)
by Rupert,
15. Sep 2021
Ich glaube, die Ursache gefunden zu haben.
Die Software läuft nämlich seit Samstag Abend fehlerfrei.
Was habe ich geändert?
Es gibt 3 Variable, die in der Hauptschleife verändert werden.
Hauptschleifencounter, Regel_intervall_ist und Speicherintervall_ist.
Alle drei habe ich, zurück wie bisher, auf Integer geändert.
Ich hatte sie - fragt nicht was mich geritten hat - auf Shortint...
-
Forum: Win32/Win64 API (native code)
by Rupert,
15. Sep 2021
ProcessMessages - nein
-Ich verwende die Arduino NANO's als Temperaturmesser in den Räumen. Sie senden mir seriell die Temperaturdaten auf meine Steuerplatine.
Die Bilder sollen ein wenig den Umfang erkennen lassen.
Wichtig war schon immer der remote Zugriff, weil wir zwei Ferienwohnungen haben, und die Heizung entsprechend aktivieren/deaktivieren.
-es war von Anfang an Delphi 4 und...
-
Forum: Win32/Win64 API (native code)
by Rupert,
8. Sep 2021
Du meinst das Lesen von und die Ausgabe auf die Steuerkarte.
Das wird diese Woche nicht mehr gehen, aber ab Montag kann ich das probieren.
Danke!
-
Forum: Win32/Win64 API (native code)
by Rupert,
8. Sep 2021
Dieser Dateifehler wurde von mir provoziert, um MadExcept zu testen.
Suf duesem Computer läuft nichts. Kein Backup, kein Virenscanner.
-
Forum: Win32/Win64 API (native code)
by Rupert,
8. Sep 2021
Natürlich wurde MadExcept richtig installiert und auch zuvor getestet
Aufgrund der unterschiedlichen Meinungen zu diesem Problem bin ich mir aber ziemlich sicher, dass es kein Programmfehler ist.
-
Forum: Win32/Win64 API (native code)
by Rupert,
8. Sep 2021
Keine Mitteilung von madExcept. Nichts...
Auffällig ist, dass die letzte Eintragung immer der Timerist und der Crash stets um 5:56 bzw. 5:58 passiert.
https://www.delphipraxis.net/attachment.php?attachmentid=54296&stc=1&d=1631078722
https://www.delphipraxis.net/attachment.php?attachmentid=54295&stc=1&d=1631078722
...
-
Forum: Win32/Win64 API (native code)
by Rupert,
7. Sep 2021
Das passiert nicht, denn das würde ich anhand der Aufzeichnungen in meiner Ereignisdatenbank sehen!
madExcept ist seit heute implementiert
https://www.delphipraxis.net/attachment.php?attachmentid=54290&stc=1&d=1631034734
-
Forum: Win32/Win64 API (native code)
by Rupert,
7. Sep 2021
Nach Enable wird aber das Ereignis OnTimer nicht mehr ausgeführt - sollte ich in meiner Ereignistabelle sehen.
procedure THauptformular.Hauptschleife(Owner: TObject);
var zaehler: shortint;
Begin
begin
inc (Hauptschleifencounter,1);
Ereignis_notieren('HS 1. Start Hauptschleife - '+inttostr(Hauptschleifencounter));
SchleifenBar.position:=11-Hauptschleifencounter;
-
Forum: Win32/Win64 API (native code)
by Rupert,
7. Sep 2021
Habe MadCollection implementiert - danke für den Tipp
Die Schleife dauert halt nun 30 sec., aber wenn's hilft ;)
-
Forum: Win32/Win64 API (native code)
by Rupert,
7. Sep 2021
Heute um 5:56 passierte zum Zeitpunkt TimerEx1.Enable:=true folgendes:
und
Der Sync beeindruckt mich nicht wirklich, aber der Fehler im kernel32.dll.
Es ist aber absolut sicher, dass durch das Starten des Timers der Fehler ausgelöst wird (siehe Bild).
Die Fragen sind:
- Gibt es eine andere Möglichkeit - ohne Timer - dei Hauptschleife zyklisch durchlaufen zu lassen
-
Forum: Win32/Win64 API (native code)
by Rupert,
6. Sep 2021
Es läuft ein Countdown mit, der signalisiert, wann der nächste Regelvorgang startet.
In der Statuszeile werden die jeweiligen "Stationen" - was soeben durchgeführt wird - visualisiert.
Werde ich beim nächsten Crash auf 2 sec. erhöhen und testen. Führt m.e. jedoch nicht zum Verursacher des Problems, wäre aber vlt. eine Lösung - Danke!
...
-
Forum: Win32/Win64 API (native code)
by Rupert,
6. Sep 2021
FastMM4 kannte ich nicht. Halte es vorerst im Focus - Danke.
Taskmanager läuft bereits mit.
-
Forum: Win32/Win64 API (native code)
by Rupert,
6. Sep 2021
JA, das ist so gedacht.
Die Regelintervalle sind 20 sec. damit die Mischermotoren nicht dauernd auf/zu fahren. Deren Gesamtlaufzeit ist 140 sec.
Die Sericherintervalle sind 30 x Regelintervall also 600 sec.
der Hauptschleifencounter wird auf 0 gesetzt - habe ich beim Löschen der Kommentierung (wegen der Lesbarkeit des Codes) versehentlich mitgelöscht - sorry - aber danke, würde ohne...
-
Forum: Win32/Win64 API (native code)
by Rupert,
6. Sep 2021
CleanupInstance ist erst zuletzt hinzugefügt worden, um ev. Puffer zu bereinigen - aus Verzweiflung, weil bisher nichts zur Lösung beigetragen hat.
Wird remarkt - Danke!
-
Forum: Win32/Win64 API (native code)
by Rupert,
5. Sep 2021
Liebe Freunde.
Ich habe ein Programm geschrieben, das meine Heizung steuert. Seit 1997 läuft das Programm klaglaos, bis ich vor 6 Monaten die Pumpen- und Mischersteuerung ausgegliedert habe, und mit einer Siemens-LOGO durchführen lasse.
Im Grunde genommen hat sich nicht viel geändert:
- die Steuerbefehle für 4 Pumpen und 4 Mischer werden nicht mehr von der Steuerkarte in meinem PC...