![]() |
Programm beenden
Liste der Anhänge anzeigen (Anzahl: 2)
Hallo Leute bin am verzweifeln,
ich habe eine Anwendung die auf jeden Einzelplatzrechner problemlos beendet wird. In einem Netzwerk kann ich das Programm starten und beenden. Bein zweiten Start und beenden kommen dann folgende Meldungen. siehe Anhang (Medlung1 dann Meldung 2) Ich habe keine Ahnung woher die Meldungen kommen und warum nur auf einem Client im Netzwerk egal ob Client Server oder Peer to Peer. Hat einer eine Idee. |
AW: Programm beenden
Sieht irgendwie nach einem nicht initialisierten oder bereits freigegebenen Objekt aus. Schau mal ob du im OnClose einer Form oder in der DPR irgendwelche Dinge versuchst freizugeben bzw. darauf zuzugreifen.
Alternativ könntest du mal ShowMessage() oder eine Logging Funktion einbauen um dich ranzutasten. Oder ganz professionell MadExcept einbinden und dir den StackTrace ausgeben lassen. |
AW: Programm beenden
Hallo Walter,
mein Instinkt sagt mir: Das riecht extrem nach Datenbank. Weil, Zitat: "...die auf jeden Einzelplatzrechner problemlos beendet wird" Ich würde darum erst mal in den Datenbank-Modulen die Initialization und Finalization Sektionen abklappern. |
AW: Programm beenden
Ich habe jetzt mal viel ausprobiert. Die Datenbanken werden definitiv vor dem Beenden disconnected. Es ist auch seltsam dieser diese Meldungen nicht überall vorkommen sondern hauptsächlich bei Windows 10 Rechnern. Lasse ich die Software im Kompatibilitätsmoduns WindowsXP SP3 laufen funktioniert es. Habe keine Ahnung was es da für Unterschiede geben soll.
|
AW: Programm beenden
Ich tippe mal auf eine Rechtegeschichte ... seit Windows 7 werden hier die Zugriffsrechte (korrekter Weise) immer weiter eingeschränkt.
Das bedeutet dann aber auch, dass man als Programmierer passende Zugriffsrechte bereitstellen muss (in der Regel sollte das vom Installer der Applikation aus geschehen). |
AW: Programm beenden
Zitat:
|
AW: Programm beenden
was ist JCL?
Oh Schande auf mein Haupt. Es lag an folgenden Code:
Delphi-Quellcode:
Ich mache es nie wieder.
for x := 0 to ComponentCount - 1 do
if Components[x] is TDataSource then TDataSource(Components[x]).Dataset := Nil; PatientQry.Close; <---- Diese Zeile hat den Fehler verursacht. |
AW: Programm beenden
Hallo Günter,
ich frag auch mal: Was meinst Du mit JCL statt madExcept? Gruß |
AW: Programm beenden
![]() In der "JEDI Code Library" gibt es auch ein paar Funktionen für die Exceptionbehandlung und zum Auslesen des Stacktraces. |
AW: Programm beenden
Danke!
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:56 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz