Hallo zusammen!
Ich bitte Euch um dringende Hilfe, denn ich weiss keinen Rat mehr.
Ich habe ein sehr sehr grosses Projekt entwickelt unter
win2000 und Delphi5. Ein Client kommuniziert mit einem Server und
forderd diverse Datenbestände vom Server an. Der Client benutzt dabei
keine handelsüblichen Datenbankschnittstellen
sondern ich habe eine eigene Schnittstelle programmiert.
Der Client enthält und erstellt folgende Hauptpunkte
in dieser Reihenfolge:
- div. Datenmodule erzeugen
- Hauptformular (Main) erzeugen
- Inifile lesen
- Erstellung der Kommunikationseinheit (eigene Datenbankschnittst.)
- Resourcefiles laden (BMP und Strings)
- Hauptformular (Main) anzeigen
- 2 Forms als WS_CHILD erstellen und Form.Parent:=Main setzen
- Benachrichtigungs-Thread (=class(TThread)) erzeugen (in Main.FormShow)
mit Hilfe von TIdFTPClient (Indy 9.02)
- Lesen der relevanten Datenbestände vom Server
- Fertig.
Unter WinNT/Win2000 und WinXP funktioniert alles einwandfrei.
Unter Win98 ist die Stabilität auch noch gegeben.
Aber unter Win95 habe ich folgendes Problem (500MHZ, 64MB Ram):
- von Zeit zu Zeit verschwindet die Taskleiste !!!!!!
Scheinbar hängt sich der Explorer auf.
Ich starte das Programm, und genau im Moment, in dem das Programm
die 2 Forms anzeigt, verschwindet die Taskleiste.
Die Resourcenauslastung in diesem Moment ist 7MB, danach 8MB.
Wie gesagt, das passiert nicht immer. Wenn das Programm
einwandfrei startet, kann ich den ganzen Tag damit ohne Probleme
arbeiten. Dann beende ich das Programm, starte es wieder,
beende es, starte es wieder, kontrolliere
die Resourcen (sind OK)..., und dann plötzlich ist
die Taskleiste wieder weg.
Mit Ctrl+Esc komme ich zum Win95 Taskman und kann den Prozess
Explorer.exe neu starten.
Dann geht alles eine Zeit lang, und dann beginnt das Spiel
von neuem. Nach mehreren "Explorer Aufhängern" muss ich dann
die Maschine neu starten.
Ich habe mir die Resourcenauslastung angeschaut. Das Programm
benötigt ca. 8MB Speicher. Nach dem Beenden meines Programmes
stehen mir wieder alle Resourcen zur Verfügung.
WinDbg oder MemChecker geben keinen Hinweis auf ein mögliches
Problem oder auf einen Fehler in meinem Programm.
In meinem Programm verwende ich keine IExplorer Instance,
keine speziellen WinNT API Funktionen. Ich verwende zwar
eine Word/Excel Instance, die aber beim Auftreten des
Fehlers noch nicht erstellt sind.
Meine eigentliche Frage ist nun:
- hat schon jemand das gleiche oder ein ähnliches Problem
gehabt und gelöst?
- Wie kann ich Herr dieses Problems werden, wo soll ich ansetzen?
- Ich verwende eigentlich keine Kritischen Funktionen, aber
ist vielleicht der Thread schuld?
- Ist in den Projekteinstellungen irgendetwas zu beachten?
- Auf was sollte ich aufpassen?
Ich bin für absolut jede Antwort, jeden Hinweis, jede Anregung dankbar.
Danke.
mfg.
Robert Schardl
Ich bitte Euch um dringende Hilfe, denn ich weiss keinen Rat mehr.
Ich habe ein sehr sehr grosses Projekt entwickelt unter
win2000 und Delphi5. Ein Client kommuniziert mit einem Server und
forderd diverse Datenbestände vom Server an. Der Client benutzt dabei
keine handelsüblichen Datenbankschnittstellen
sondern ich habe eine eigene Schnittstelle programmiert.
Der Client enthält und erstellt folgende Hauptpunkte
in dieser Reihenfolge:
- div. Datenmodule erzeugen
- Hauptformular (Main) erzeugen
- Inifile lesen
- Erstellung der Kommunikationseinheit (eigene Datenbankschnittst.)
- Resourcefiles laden (BMP und Strings)
- Hauptformular (Main) anzeigen
- 2 Forms als WS_CHILD erstellen und Form.Parent:=Main setzen
- Benachrichtigungs-Thread (=class(TThread)) erzeugen (in Main.FormShow)
mit Hilfe von TIdFTPClient (Indy 9.02)
- Lesen der relevanten Datenbestände vom Server
- Fertig.
Unter WinNT/Win2000 und WinXP funktioniert alles einwandfrei.
Unter Win98 ist die Stabilität auch noch gegeben.
Aber unter Win95 habe ich folgendes Problem (500MHZ, 64MB Ram):
- von Zeit zu Zeit verschwindet die Taskleiste !!!!!!
Scheinbar hängt sich der Explorer auf.
Ich starte das Programm, und genau im Moment, in dem das Programm
die 2 Forms anzeigt, verschwindet die Taskleiste.
Die Resourcenauslastung in diesem Moment ist 7MB, danach 8MB.
Wie gesagt, das passiert nicht immer. Wenn das Programm
einwandfrei startet, kann ich den ganzen Tag damit ohne Probleme
arbeiten. Dann beende ich das Programm, starte es wieder,
beende es, starte es wieder, kontrolliere
die Resourcen (sind OK)..., und dann plötzlich ist
die Taskleiste wieder weg.
Mit Ctrl+Esc komme ich zum Win95 Taskman und kann den Prozess
Explorer.exe neu starten.
Dann geht alles eine Zeit lang, und dann beginnt das Spiel
von neuem. Nach mehreren "Explorer Aufhängern" muss ich dann
die Maschine neu starten.
Ich habe mir die Resourcenauslastung angeschaut. Das Programm
benötigt ca. 8MB Speicher. Nach dem Beenden meines Programmes
stehen mir wieder alle Resourcen zur Verfügung.
WinDbg oder MemChecker geben keinen Hinweis auf ein mögliches
Problem oder auf einen Fehler in meinem Programm.
In meinem Programm verwende ich keine IExplorer Instance,
keine speziellen WinNT API Funktionen. Ich verwende zwar
eine Word/Excel Instance, die aber beim Auftreten des
Fehlers noch nicht erstellt sind.
Meine eigentliche Frage ist nun:
- hat schon jemand das gleiche oder ein ähnliches Problem
gehabt und gelöst?
- Wie kann ich Herr dieses Problems werden, wo soll ich ansetzen?
- Ich verwende eigentlich keine Kritischen Funktionen, aber
ist vielleicht der Thread schuld?
- Ist in den Projekteinstellungen irgendetwas zu beachten?
- Auf was sollte ich aufpassen?
Ich bin für absolut jede Antwort, jeden Hinweis, jede Anregung dankbar.
Danke.
mfg.
Robert Schardl
Comment