AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi bringt GetLastError nach raise Exception noch etwas?
Thema durchsuchen
Ansicht
Themen-Optionen

bringt GetLastError nach raise Exception noch etwas?

Ein Thema von QuickAndDirty · begonnen am 16. Aug 2011 · letzter Beitrag vom 17. Aug 2011
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.168 Beiträge
 
Delphi 12 Athens
 
#11

AW: bringt GetLastError nach raise Exception noch etwas?

  Alt 17. Aug 2011, 15:46
Jupp, ich würde auch eher mal versuchen hier mehr Handle freizubekommen.



Ansonsten: Da dieses die Einzige Exception in MyTimer.Enabled ist, mußt du einfach für MyTimer.Enabled und für RefreshDatasets jeweils eine eigene Exceptionbehandlung eingauen.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.359 Beiträge
 
Delphi 11 Alexandria
 
#12

AW: bringt GetLastError nach raise Exception noch etwas?

  Alt 17. Aug 2011, 16:26
Ja aber es hat mit der Timer-Beschränkung in den älteren Windows Versionen nichts zu tun.
Solche Beschränkungen gibt es in allen Windowsversionen. Du kannst auch "nur" 10.000 GDI-Handles oder so erstellen.

Mehr als eine Handvoll Timer braucht man ja ohnehin nie, aber diese teilen sich die Ressourcen mit anderen Elementen. Vielleicht sind zu viele andere Objekte erstellt worden oder so.
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat
QuickAndDirty

Registriert seit: 13. Jan 2004
Ort: Hamm(Westf)
1.884 Beiträge
 
Delphi 12 Athens
 
#13

AW: bringt GetLastError nach raise Exception noch etwas?

  Alt 17. Aug 2011, 17:11
Wie gesagt das ist der Rechner fast eingefroren und dabei kam diese meldung.
Ich sehe diese Meldung eher als Folge und das mehrfachen einfrieren des rechners als ursache. Die (ein Kunde) mussten danach den Rechner neustarten.

Zumindest haben Tausende von Kunden dieses Problem nicht.

Habe nich nicht rausbekommen was da genau lief...die wollen von mir ne Erklärung, haben aber keine Zeit für mich...und ich wollte diesmal auf die Glaskugel verzichten.

Werde die Fehlerbehandlung umbauen und die TimerEnableTrue einzeln und mit SysErrorMessage(GetLastError) behandeln.

Danke alle.
Andreas
Monads? Wtf are Monads?
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.359 Beiträge
 
Delphi 11 Alexandria
 
#14

AW: bringt GetLastError nach raise Exception noch etwas?

  Alt 17. Aug 2011, 19:44
Wie gesagt das ist der Rechner fast eingefroren und dabei kam diese meldung.
Das ist logisch, dass da der Rechner einfriert. Das bestätigt eher, dass die Handles das Problem sind.

Wenn das System keine Handles mehr belegen kann, ist halt nicht mehr viel möglich...

Wie viele von einem Prozess belegt sind siehst du in Tools wie dem Process Explorer. Wenn dort bei einem der laufenden Prozesse sehr hohe Zahlen (z.B. mehrere tausend) stehen, gibt es mit dem Prozess ein Problem...

handlecountprocexp.png
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#15

AW: bringt GetLastError nach raise Exception noch etwas?

  Alt 17. Aug 2011, 19:48
Über wie viele Timer reden wir denn?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.168 Beiträge
 
Delphi 12 Athens
 
#16

AW: bringt GetLastError nach raise Exception noch etwas?

  Alt 17. Aug 2011, 19:56
Und jeder TTimer verbraucht auch zusätzlich noch ein unsichtbares Fenster (also jeweils ein GDI-Handle und dazu ein Timer)
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.359 Beiträge
 
Delphi 11 Alexandria
 
#17

AW: bringt GetLastError nach raise Exception noch etwas?

  Alt 17. Aug 2011, 20:18
Und jeder TTimer verbraucht auch zusätzlich noch ein unsichtbares Fenster (also jeweils ein GDI-Handle und dazu ein Timer)
Das Fensterhandle meinte ich auch, denn ich glaube die Timer zählen als Kernelobjekte. Und die haben keine so enge Beschränkung.
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat
QuickAndDirty

Registriert seit: 13. Jan 2004
Ort: Hamm(Westf)
1.884 Beiträge
 
Delphi 12 Athens
 
#18

AW: bringt GetLastError nach raise Exception noch etwas?

  Alt 17. Aug 2011, 23:14
Über wie viele Timer reden wir denn?
Wir haben in unserer Anwendung sicher mehr als 10 aber es laufen niemals mehr als 2 und auch nur wenn du bestimmte Optionen zu schaltest.
Also es liegt sicher nicht an der Anzahl der Timer außer MS hat dafür eine Gruppenrichtlinie......

Irgendwas ist dort schiefgegangen und unser Programm hat sich darauf gemeldet...also sollen wir das mal heraus finden...ist ja auch ok. So kann ich den Code Eindeutiger machen und wenn es an uns lag, 'nen Fehler entfernen bevor er bei diesem oder anderen Kunden echten schaden anrichtet und wenn es nicht an uns lag ist es eine Dienstleistung außerhalb des Wartungsvertrages ...schließlich warten wir nur das Auto und nicht die Straße auf der es fährt....
Andreas
Monads? Wtf are Monads?
  Mit Zitat antworten Zitat
QuickAndDirty

Registriert seit: 13. Jan 2004
Ort: Hamm(Westf)
1.884 Beiträge
 
Delphi 12 Athens
 
#19

AW: bringt GetLastError nach raise Exception noch etwas?

  Alt 17. Aug 2011, 23:18
Wie gesagt das ist der Rechner fast eingefroren und dabei kam diese meldung.
Das ist logisch, dass da der Rechner einfriert. Das bestätigt eher, dass die Handles das Problem sind.

Wenn das System keine Handles mehr belegen kann, ist halt nicht mehr viel möglich...

Wie viele von einem Prozess belegt sind siehst du in Tools wie dem Process Explorer. Wenn dort bei einem der laufenden Prozesse sehr hohe Zahlen (z.B. mehrere tausend) stehen, gibt es mit dem Prozess ein Problem...

Anhang 34907
Ich weiß leider scheint weder der Admin noch die Sachbearbeiterin mal nachgeschaut zu haben!
Eine ordentliche Fehler Meldung hätte den Admin evtl. zu dem richtigen screenshot bewegt!
Andreas
Monads? Wtf are Monads?
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:50 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz