Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Delphi1-Programm unter Windows 2000 (https://www.delphipraxis.net/915-delphi1-programm-unter-windows-2000-a.html)

Daniel 25. Sep 2002 10:13


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.....

Hansa 25. Sep 2002 10:25

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

Christian Seehase 25. Sep 2002 10:41

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?

Daniel 25. Sep 2002 10:52

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...

Hansa 25. Sep 2002 16:11

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

Christian Seehase 25. Sep 2002 16:21

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.

Daniel 25. Sep 2002 16:32

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

Hansa 25. Sep 2002 19:07

Hallo Leute,

Muß doch noch einen Kommentar abgeben :

Zitat:

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.
Das trifft fast den Nagel auf den Kopf. So ungefähr wars wirklich, nur noch schlimmer. Im ME war dieser Fehler vermutlich bereits beseitigt, aber in der von mir verwendeten Komponente, daher fragte ich nach Fremdkomponenten, wurde dieser anscheinend notwendige Patch intern gemacht. Dadurch war er bei 98 nicht zu bemerken, selbst mit einem schnelleren Prozessor. Dann kam ME. Jeder schimpfte darüber (siehe oben). Wie es aussieht, hat sich der interne Patch für Win 98 als Bumerang für ME dargestellt. :mrgreen:

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