AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Programm beendet sich einfach

Ein Thema von franktron · begonnen am 17. Mär 2009 · letzter Beitrag vom 31. Mär 2009
Antwort Antwort
franktron

Registriert seit: 11. Nov 2003
Ort: Oldenburg
1.446 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#1

Programm beendet sich einfach

  Alt 17. Mär 2009, 17:59
Ich habe ein Programm das ich in Lazarus Programmiert haben (ein Server)

Ich nutze Indy (TCPServer) und MySQL Komponenten von Devart
keine Gui nur Konsole

So jetzt zu meinem Problem
Unter Windows XP und unter Wine läuft das Prog ohne Probleme Wochenlang unter Windows 2000 Server läuft es nur ca. 1 Min dann beendet es sich ohne irgend eine Meldung keine AV oder sowas.

Was kann das sein.

P.S. das Programm macht in der Minute nichts

Delphi-Quellcode:
  While FRun do
  Begin
    If IDatum<>Date then //Tages Wechsel
    Begin
      ShowStatus('Tages Start');
      IDatum:=Date;
      If Not FServerClass.DB.Connected then FServerClass.DB.Connect;
      For i:=0 To Plugins.Plugins.Count-1 do
      Begin
        TONLPlugin(Plugins.Plugins.Items[i]).UPDTabs;
        TONLPlugin(Plugins.Plugins.Items[i]).StartDay;
      End;
      If FServerClass.AnzClients=0 then FServerClass.DB.Disconnect;
    End;
    //If KeyPress=VK_ESCAPE then FRun:=False;
    Sleep(1000);
  End;
Nur das hier
Frank
Tux sein Lieblingsquellcode
While anzfische<TuxSatt do begin
Fisch:=TFisch.Create; Tux.EssenFisch(Fisch); Fisch.Free;inc(anzfische); end;
  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#2

Re: Programm beendet sich einfach

  Alt 17. Mär 2009, 18:08
Hi,

Du musst Exceptions abfangen. Tritt in der Console eine Exception auf, die nicht abgefangen wird, dann wird das Programm beendet.

Delphi-Quellcode:
While FRun do
begin
  try
    if IDatum<>Date then //Tages Wechsel
    begin
      ShowStatus('Tages Start');
      IDatum:=Date;

      If Not FServerClass.DB.Connected then
        FServerClass.DB.Connect;
    
      for i:=0 To Plugins.Plugins.Count-1 do
      begin
        TONLPlugin(Plugins.Plugins.Items[i]).UPDTabs;
        TONLPlugin(Plugins.Plugins.Items[i]).StartDay;
      end;

      if FServerClass.AnzClients=0 then
        FServerClass.DB.Disconnect;
    end;

  //if KeyPress=VK_ESCAPE then
  // FRun:=False;

    Sleep(1000);
  except
     writeln('Ein Fehler ist aufgetreten!');
  end;
end;
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."
  Mit Zitat antworten Zitat
franktron

Registriert seit: 11. Nov 2003
Ort: Oldenburg
1.446 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#3

Re: Programm beendet sich einfach

  Alt 17. Mär 2009, 20:19
Zitat von Neutral General:
Hi,

Du musst Exceptions abfangen. Tritt in der Console eine Exception auf, die nicht abgefangen wird, dann wird das Programm beendet.
Ja aber in einem sleep eine exception ??
Frank
Tux sein Lieblingsquellcode
While anzfische<TuxSatt do begin
Fisch:=TFisch.Create; Tux.EssenFisch(Fisch); Fisch.Free;inc(anzfische); end;
  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#4

Re: Programm beendet sich einfach

  Alt 17. Mär 2009, 20:27
Hi,

Warum gehst du davon aus, dass gerade sleep ne Exception wirft? o.o
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.201 Beiträge
 
Delphi 10.4 Sydney
 
#5

Re: Programm beendet sich einfach

  Alt 17. Mär 2009, 21:55
Zitat von franktron:
... unter Windows 2000 Server läuft es nur ca. 1 Min dann beendet es sich ohne irgend eine Meldung keine AV oder sowas.
Ein unerwartetes Programmende deutet sehr stark auf einen Stack-Overflow hin. Schau mal in der Ereignisanzeige nach ob was vermerkt ist. Ansonsten mach eine Remote Debugging Session - Falls es sowas unter Lazarus gibt.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
franktron

Registriert seit: 11. Nov 2003
Ort: Oldenburg
1.446 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#6

Re: Programm beendet sich einfach

  Alt 18. Mär 2009, 09:48
Es kommt tatsächlich eine Fehlermeldung in der Eregnisanzeige

Fehlgeschlagene Anwendung kas_server.exe, Version 0.0.0.0, fehlgeschlagenes Modul kernel32.dll, Version 5.2.3790.4062, Fehleradresse 0x0000bee7.

Aber was kann ich damit jetzt anfangen ?

Ich habe jetzt auch in die schleife Try Except eingebaut bringt aber leider keine Meldung

Was kann ich jetzt noch tun

P.S. das Problem tritt nur unter Windows 2003 Auf
Frank
Tux sein Lieblingsquellcode
While anzfische<TuxSatt do begin
Fisch:=TFisch.Create; Tux.EssenFisch(Fisch); Fisch.Free;inc(anzfische); end;
  Mit Zitat antworten Zitat
Udo

Registriert seit: 19. Jan 2003
54 Beiträge
 
Delphi 8 Architect
 
#7

Re: Programm beendet sich einfach

  Alt 31. Mär 2009, 11:44
Delphi-Quellcode:
except
     writeln('Ein Fehler ist aufgetreten!');
  end;
Das ist nicht gerade aussagekräftig.
Wie wärs damit:
Delphi-Quellcode:
except
     on E: Exception do writeln(E.Message);
  end;
  Mit Zitat antworten Zitat
franktron

Registriert seit: 11. Nov 2003
Ort: Oldenburg
1.446 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#8

Re: Programm beendet sich einfach

  Alt 31. Mär 2009, 19:31
Zitat von Udo:
Delphi-Quellcode:
except
     writeln('Ein Fehler ist aufgetreten!');
  end;
Das ist nicht gerade aussagekräftig.
Wie wärs damit:
Delphi-Quellcode:
except
     on E: Exception do writeln(E.Message);
  end;
Das bringt auch nicht mehr wenn er da gar nicht hinkommt
Frank
Tux sein Lieblingsquellcode
While anzfische<TuxSatt do begin
Fisch:=TFisch.Create; Tux.EssenFisch(Fisch); Fisch.Free;inc(anzfische); end;
  Mit Zitat antworten Zitat
Antwort Antwort


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:56 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