Autor Beitrag
zappa2
Hält's aus hier
Beiträge: 2



BeitragVerfasst: Di 05.06.18 09:03 
Ich habe ein kleines Client-Server-Tool geschrieben, welches bis gestern auf mehreren PCs in einem Win7-Netzwerk klaglos lief. Firebird3.0-DB auf einem als DB-Server fungierenden separaten PC, die Clients greifen über TCP und NICHT-3050-Port auf diese DB zu. Das klappt auch heute noch tadellos.

Gestern hat eine PC-Betreuerfirma diverse Updates eingespielt, wonach das Programm auf nur einem einzigen Client nicht mehr läuft. Ich sehe das Prog im Taskmanager, aber weder in der Taskleiste noch ist das Programmfenster irgendwo auf dem Desktop zu sehen.

Ich habe das Prog nun schon in der Firewall explizit freigegeben sowie den benutzen Firebird-Port für die DB-Kommunikation.

Ich bekomme auch keine Fehlermeldung sondern einfach nur einen Eintrag im Taskmanager.

Hat irgend jemand eine Idee, wo ich noch ansetzen könnte?
doublecross
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 125
Erhaltene Danke: 23

Windows 7
C#; Visual Studio 2015
BeitragVerfasst: Di 05.06.18 14:52 
Hallo,

hast du in deinem Programm einen Globalen Exceptionhander implementiert, um Fehler z.B. in eine Logdatei zu schreiben? Wird dieser ausgelöst?

Falls nicht, wird es ein ziemliches Rätzelraten, da ja auch bevor ein Programm sichtbar wird, schon eine ganze menge im Hintergrund abläuft.

Wenn du das Programm an der Konsole startest, wird dann ein Fehler in dieser ausgegeben?

Und handelt es sich um einen Linux oder Windows Client?

Für diesen Beitrag haben gedankt: zappa2
zappa2 Threadstarter
Hält's aus hier
Beiträge: 2



BeitragVerfasst: Di 05.06.18 20:16 
Hallo!
Besten Dank erst mal für Deinen Post!
Ja klar habe ich ein Exception Handling. Nur: es wird keine Exception ausgelöst. Die einzige Idee, die ich jetzt noch hätte wäre, Lazarus auf dem betreffenden PC zu installieren und mich Step by Step durch zu debuggen. Aber selbst das wird mich nicht weiterbringen, weil ja eben kein Fehler kommt.
Ich denke, es liegt an irgendwelchen Windows-Updates oder -noch ärger- an Avira. Gerade mit Avira habe ich in letzter Zeit nur noch schlimmste Erfahrungen sammeln müssen. Avira-freie PCs laufen meiner Erfahrung nach mittlerweile stabiler, streßfreier und vor allem schneller.
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 18677
Erhaltene Danke: 1616

W10 x64 (Chrome, IE11)
Delphi 10.2 Ent, Oxygene, C# (VS 2015), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Mi 06.06.18 07:59 
Ich würde zuerst einmal an wichtigen Punkten eine Messagebox ausgeben lassen. Sprich in einer der ersten eingebundenen Units unter initialization, nach dem begin in der Projektdatei, im OnCreate des Formulars, ...

Kommt keine wird da wohl wirklich etwas geblockt, andernfalls hast du Anhaltspunkte für weiteres Debugging.

user profile iconzappa2 hat folgendes geschrieben Zum zitierten Posting springen:
Ich denke, es liegt an irgendwelchen Windows-Updates oder -noch ärger- an Avira. Gerade mit Avira habe ich in letzter Zeit nur noch schlimmste Erfahrungen sammeln müssen. Avira-freie PCs laufen meiner Erfahrung nach mittlerweile stabiler, streßfreier und vor allem schneller.
Das ist deutlich besser geworden. Schlimm war es zu Zeiten von Antivir. Nichtsdestotrotz liegt es bei Problemen auch aus meiner Erfahrung heute immer noch weit vorn auch wenn die meisten Tests etwas anderes behaupten.

_________________
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
OlafSt
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 455
Erhaltene Danke: 85

Win7, Win81, Win10
Tokyo, VS2017
BeitragVerfasst: Mi 06.06.18 08:08 
Womöglich ist das Programm auch nur aus dem sichtbaren Bereich des Dektops verschoben worden.

War ein beliebter Spaß, wenn sich das Programm die aktuelle Fensterposition gemerkt hat. Dann läßt man die Taskleiste sich selbst ausblenden, schiebt das Fenster so weit nach unten, das es von der Taskleiste verdeckt wird und fixiert die Taskleiste wieder. Bei jedem Start ist das Fenster dann hinter der Taskleiste unerreichbar (zumindest können 99,99% der Benutzer das Fenster nicht mehr erreichen), sagt nix, tut nix, ist aber trotzdem da.

_________________
Lies, was da steht. Denk dann drüber nach. Dann erst fragen.
doublecross
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 125
Erhaltene Danke: 23

Windows 7
C#; Visual Studio 2015
BeitragVerfasst: Mi 06.06.18 10:11 
Hi,
user profile iconjaenicke hat folgendes geschrieben Zum zitierten Posting springen:
Ich würde zuerst einmal an wichtigen Punkten eine Messagebox ausgeben lassen. Sprich in einer der ersten eingebundenen Units unter initialization, nach dem begin in der Projektdatei, im OnCreate des Formulars, ...


dem Ratschlag kann ich mich anschließen, allerding würde ich die Meldungen lieber ein eine Datei schreiben. Das ist beim Ausführen weniger nervig und du musst nur guschen was war die letzte Zeile.

Darüber hinaus würde ich erst einmal alle stellen verdächtigen an denen du Exceptions unterdrückst (sofern es solche gibt) sowie alles was auf Pereferie zugreift (Dateien, Netzwerk, OLE objekte usw.) und diese Stellen besonders argwöhnisch beobachten (sprich Aktibisch Loggen).

Tipp: Wenn du ein Logging einbaus, gestalte es so, dass du es mit einer Aktion wieder deaktivieren kannst. Sei es in dem deine Logging Funktion immer eine Variable abfragt (so könntest du das Logging drin lassen und z.B. per Parameter aktivierbar machen für zukünftige Probleme) oder per Compilerschalter, so dass du es aus deinen Kompilat wieder entfernen kannst. Es ist nämlich sehr nervig die 200 Stellen an denen man eine Log Ausgabe macht, wieder aus seinen Code löschen zu müssen.

PS: Ich nehme an ALT-Tab hast du mal gedrückt während das Programm steht um sicherzustellen, dass kein geöffnetes Fenster, ohne Taskleisteneintrag, von deinem Hauptfenster verdeckt wird?