![]() |
Delphi1-Programm unter Windows 2000
Hallo,
ich bin gerade mit den dunklen Seiten meiner Vergangenheit konfrontiert worden: Ein altes 16bit-Programm macht unter Windows 2000 Probleme. Es bringt Windows 2000 gnadenlos zum sofortigen Neustart. Es gibt keinen blauen Bildschirm, keine anderweitige Fehlermeldung oder sonstige Anhaltspunkte, die mir weiterhelfen könnten. Ich konnte die Fehler-Quelle zwar schon auf ein Modul eingrenzen, bin aber noch nicht zum Kern des Fehlers vorgedrungen. Der vom System angelegte Mini-Dump bringt mich leider auch nicht weiter. (Unter XP tritt der Fehler komischerweise nicht auf) Hat jemand von Euch eine Ahnung, wie ich Windows 2000 ein wenig mehr über die Fehler-Ursache entlocken kann? Sei es mit Bordmitteln oder Zusatz-Tools. Ich habe schon überlegt, ob mir eine sog. "Debug-Version" von Windows 2000 weiterhelfen könnte, aber im Moment weiss ich damit nichts Rechtes anzufangen..... |
Hallo Daniel,
hast du den Quellcode ? Falls ja, guck mal welche fremden Units eingebunden sind. Vermute sehr stark, daß das mit 16 bit nur sehr indirekt zu tun hat. Dasselbe gilt für Windows. Hatte selbst vor ein paar Jahren etwas ähnliches. hat da jemand vielleicht zu hardwarenah programmiert ? :mrgreen: Gruß Hansa |
Moin Daniel,
Du könntest ja mal das MiniDump anhängen. Hast Du auch unter Eigenschaften von Arbeitsplatz/Erweitert/Starten und Wiederherstellen/Systemfehler, den Haken bei "Automatisch neu starten" weggenommen? |
Liste der Anhänge anzeigen (Anzahl: 1)
@Hansa:
Ja. Die Quellcodes habe ich. Mittlerweile konnte ich die Quelle recht dicht einkreisen. An Fremd-Kompos sind Teechart 3.0b sowie die LMDTools 3.5.11 installiert. Beide Komponenten laufen in anderen Prorgammen fehlerfrei. @Christian: Dump (64KBytes) ist angehängt. Dein Hinweis, den automatischen Neustart zu verhindern, war gut. Jetzt komme ich wie erwartet zu einem blauen Bildschirm mit der Meldung "MODE_EXCEPTION_NOT_HANDLED". In der fraglichen Passage des Quellcodes werden dem TeeChar Daten hinzugefügt. Ich werde die Daten selber und deren Indices innerhalb eines Arrays genauer untersuchen... |
Hallo Daniel,
finde leider keine Aufzeichnung darüber, was es genau war. Aber weiß es mittlerweile wieder. Es hatte auf jeden Fall etwas mit dem Bildschirm zu tun. Irgendein Bug, der aber nur bei Rechnern ab 400 MHz auftrat. Bei langsamerenn nicht. Vielleicht hilft dir die Spur. Habe immer wieder überlegt, bis mir der Zusammenhang mit der Taktfrequenz auffiel (nach 3 Monaten). Der neue Aldi-PC stand da mit dem noch schöneren krachneuen ME und die mußten mit dem Uralt-Rechner arbeiten, da lief alles. Weihnachten war gerade vorbei. :dancer: Die Medion-Hotline total überlastet. Dann war doch ein Techniker dran, der seinen Frust loswerden wollte. "Wir haben sie (Aldi) vor ME gewarnt, das ist das allerletzte, das liegt am ME". :idea: Aha das wars. Denkste. :evil: Dann blühten die Krokusse schon und ich dachte, ach guck doch einfach mal in Amerika 8) , und sieh an, irgendeiner dort hat den Effekt gemerkt. Das war eine SCH... :mrgreen: :mrgreen: :mrgreen: Naja. Hoffentlich kriegst du's VOR Weihnachten hin. :mrgreen: Gruß Hansa |
Moin Daniel,
dieser vermaledeite Automatischen Neustart hat mich schon mal zu einer Neuinstallation gezwungen. Keine Reparaturmöglichkeit hat geholfen, und der Fehler trat beim Start von Windows 2000 auf (also eine Endlosschleife :? ) Seitdem schalte ich das sofort nach der Installation ab. Das Dump hat mich vorerst mal nicht weitergebracht, da ich so leider nichts zum gezielten Auswerten dieser Datei finden konnte. Eine Idee, auf die ich in dem Zusammenhang gestossen bin: Versuchen ob es funktioniert, wenn man das Pagefile auf dreifache Realspeichergrösse bringt. Und bei Hansa's Posting fällt mir noch was ein: Als die AMD K6 400 rauskamen, brauchte man eine Patch damit Windows 95 (98?) überhaupt noch lief, da hier das Timing einer Verzögerungsschleife, auf dem Verhalten des Loop Befehls von Intel Prozessoren aufbaute. Bei AMD war dieser Befehl aber sauberer, und sehr viel schneller implementiert, so dass Windows bei 400ern von AMD in's trudeln kam. Möglicher Weise besteht hier auch ein Zusammenhang mit einem Teil Deines D1 Problemes. |
Ich habe die Symptome (!) des Fehlers vermutlich gelöst. Es hat geholfen, der Chart-Komponente nur die Zahlenwerte, jedoch keine Strings für die Achsenbeschriftungen zu übergeben. Sämtliche Compiler-Schalter zeigten diesbezüglich keine Auswirkungen.
Warum diese Komponente seit 5 Jahren innerhalb dieses Programmes funktioniert und plötzlich nicht mehr, vermag ich nicht zu sagen. (Ich hatte mir schon das Windows 3.11 installiert, um Delphi 1 nicht mit einer 32Bit-Umgebung zu verschrecken. Geholfen hatte es auch nichts.) Nun gut. Der Fehler tritt derzeit nicht mehr auf (war auch höchste Zeit, da die Nerven meines Chefs und die des Kunden nahezu blank lagen :freak: ) und ich werde dieses Programm noch vor Weihnachten neu strukturieren und mit Delphi 6 eine echte 32bit-Anwendung daraus machen. Ich bin mit diesem Ergebnis mehr als unzufrieden aber derzeit stapelt sich die Arbeit hier derart, dass ich auch mit dieser eigentlich schmutzigen Lösung vorlieb nehmen muss. :x |
Hallo Leute,
Muß doch noch einen Kommentar abgeben : Zitat:
Wegen der Fremdkomponente hat mir mein Prinzip, wenn es irgendwie geht niemals hardwarenah, oder direkt Betriebssystemzugriffe zu programmieren, in diesem Fall nicht geholfen. Man kann aber auch nicht alles selber machen. Gruß Hansa |
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:44 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