Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Die Delphi-IDE (https://www.delphipraxis.net/62-die-delphi-ide/)
-   -   Externe Exception C0000003 (https://www.delphipraxis.net/197559-externe-exception-c0000003.html)

OlafSt 16. Aug 2018 15:36

Externe Exception C0000003
 
Hallo Freunde,

Diesmal ist mein Delphi 2006 umgezogen auf Windows 10, Build 1803.

Die erste externe Exception habe ich vom Tisch (die .NET-Files rüberkopiert), aber diese hier bekomme ich nicht weg.

Jemand eine heiße Idee ?

tshubaka 17. Aug 2018 13:27

AW: Externe Exception C0000003
 
Hallo Olaf,
diese 3 zeilen in die dpr.

{$SetPEFlags IMAGE_FILE_EXECUTABLE_IMAGE}
{$SetPEFlags IMAGE_FILE_NET_RUN_FROM_SWAP}
{$SetPEFlags IMAGE_FILE_REMOVABLE_RUN_FROM_SWAP}

hat bei mir Abhilfe gebracht.

Grüsse

Bernhard Geyer 17. Aug 2018 13:44

AW: Externe Exception C0000003
 
Hast du nur Kopiert und nicht installiert?
Und wieso noch so eine Uralte IDE. Diese dürfte hier und da Probleme mit aktuellen Windows-Versionen haben.

hoika 17. Aug 2018 14:26

AW: Externe Exception C0000003
 
Hallo,
kommt die Exception von der IDE oder einem Delphi-Programm?
Hast Du irgendwelche Zusatz-Sachen bei der IDE installiert?
IDE-FixPack ist drauf?

Bernhard Geyer 17. Aug 2018 16:50

AW: Externe Exception C0000003
 
Zitat:

Zitat von hoika (Beitrag 1410984)
Hallo,
kommt die Exception von der IDE oder einem Delphi-Programm?
Hast Du irgendwelche Zusatz-Sachen bei der IDE installiert?
IDE-FixPack ist drauf?

Wird wohl die IDE sein

Zitat:

"... die .NET-Files rüberkopiert ..."

OlafSt 20. Aug 2018 07:52

AW: Externe Exception C0000003
 
Wer glaubt, das das ne alte IDE ist... Ich habe es hier noch mit Delphi 5 zu tun, das nur äußerst zickig unter Windows 10 läuft... Aber es hilft nichts, den ganzen gut 25 Jahre alten Programmcode, der von >15 Entwicklern vermurkst wurde, umzustellen auf was neueres ist Wahnsinn. Allein der Gedanke an Unicode läßt meine Haare schlagartig schlohweiß werden :-D

Darum auch der Versuch, das Delphi 2006 beizubehalten. Auch dort haben wir riesige Mengen Quellcode (und ich rede nicht von handlichen 3000-Zeilen-Units) und vor allem einen unendlichen und undurchschaubaren Wust an Dritt-Komponenten, stellenweise noch aus den 90ern und natürlich ohne Source. Sowas stellt man dann nicht "mal eben so" auf Unicode und FireDAC um...

Ursprünglich lief das D2006 auf einer Windows 7-Ultimate, aber der Rechner ist inzwischen derart veraltet, das es echt nervtötend ist, damit zu arbeiten (deutlich über 10 Jahre alt). Also haben wir einen neuen Rechner angeschafft, die alte HDD auf eine neue gespiegelt und diese neue HDD dann in den neuen Rechner gebaut. Fand Windows 7 nicht so gut, startet aber klaglos von der neuen HDD im alten Rechner, das Image ist also okay.

Also neue HDD in alten Rechner und dort ein Update auf Win10 gemacht. Neue HDD dann in neuen Rechner, wie erwartet Exception C0000003. die .NET-Files kopiert und immer noch C0000003. IDE-Fixpack bin ich unsicher, aber ein DelphiSpeedUp ist drin.

Ich probiere mal die drei Zeilen von @tshubaka, mal sehen ob das hilft.

Danke für die bisherigen Tips und Anregungen !

Sherlock 20. Aug 2018 08:08

AW: Externe Exception C0000003
 
Installier Dir eine VM mit Win7 und gut ist.

Sherlock

KodeZwerg 20. Aug 2018 08:16

AW: Externe Exception C0000003
 
Wenn ich das Richtig entziffer liegt der Fehler an einem STATUS_INVALID_INFO_CLASS, dies könnte an einem NtQueryObject liegen wenn es in einem kompilierten Programm passiert, da hilft oft ein {$ENUMSIZE 4}. Aber wenn das bereits die IDE beim starten wirft.... da bin ich überfragt.

hoika 20. Aug 2018 08:56

AW: Externe Exception C0000003
 
Hallo,
Zitat:

IDE-Fixpack bin ich unsicher
Warum unsicher, wenn es damit auch nicht klappt, kannst Du es ja wieder deinstallieren.

Ist das Delphi im Programme-Verzeichnis installiert?

jbg 20. Aug 2018 11:25

AW: Externe Exception C0000003
 
Zitat:

Zitat von hoika (Beitrag 1411123)
Zitat:

IDE-Fixpack bin ich unsicher
Warum unsicher, wenn es damit auch nicht klappt, kannst Du es ja wieder deinstallieren.

Für Delphi 2006 gibt es kein IDE Fix Pack. Das gibt es erst ab 2007.


Schon versucht DelphiSpeedUp zu deinstallieren? Das kam vor Windows 10 raus und könnte somit ein Kompatibilitätsproblem haben. Denn ein $C0000003 ist ein Breakpoint im Code ("asm int 3 end" bzw. "DebugBreak();") und wenn ich mich recht entsinne, könnte da einer in einem "Kann Funktion nicht patchen" If-Block enthalten sein. Ich kann heute Abend ja mal (wenn ich Zeit habe) in den DelphiSpeedUp Code reinschauen.

OlafSt 25. Aug 2018 11:58

AW: Externe Exception C0000003
 
Ich habe DelphiSpeedUp mal deinstalliert. DAs hat nicht das Problem gelöst - aber was verändert.

Jetzt zeigt D2007 beim Starten an:

Der Typinitialisierer für "Borland.Studio.Host.GlobalResources" hat eine Ausnahme verursacht.

Irgendwie beschleicht mich das Gefühl, das das .NET im Laufe der Jahrzehnte irgendwo beschädigt wurde und sich das erst jetzt zeigt. Einrichten von Vollzugriffsrechten auf "Programme (x86)" hat es auch nicht gebracht, um ein Access Denied-Problem auszuschließen.

dummzeuch 25. Aug 2018 14:11

AW: Externe Exception C0000003
 
Ich kann Dir leider zwar nicht konkret helfen, aber ich habe alle Delphi Versionen von 6 bis 10.2 auf dem aktuellen Windows Server (also dem Äquivalent zu Windows 10) installiert und sie funktionieren.

Ich erinnere mich, dass ich für einige Delphi-Versionen noch ein altes dotNET nachinstallieren (lassen) musste.

Dass man altes Delphi auf neuem Windows nicht nach c:\programme installieren sollte, ist ja hoffentlich bereits bekannt, oder?

OlafSt 27. Aug 2018 08:06

AW: Externe Exception C0000003
 
Das weiß ich schon. Aber die Entwickler, die das 2007 installierten, nicht. Und damals gab es diese Einschränkung auch noch nicht und eine Neuinstallation von D2007 kommt mangels noch existierender Install-Medien und - der eigentliche Killer - mangels Wissen über die geschätzt 400 verschiedenen externen Komponenten einfach nicht in Frage.

However, auch Kompatibilitätsmodus für Win7 und Vollzugriff von bds.exe auf "C:\Programme(x86)" hat es nicht gebracht.

milo 30. Aug 2018 09:17

AW: Externe Exception C0000003
 
die üblichen Prozeduren bezüglich des "Startens im Kompatibilitätmodus" (rechte Maustaste) hast Du sicher versucht, oder? Das Windows 10 ist vermutlich eine 64Bit Variante? :?:

OlafSt 30. Aug 2018 09:51

AW: Externe Exception C0000003
 
Habe ich alles probiert. Administrator-Rechte, Vollzugriff auf "c:\Programme (x86)", alle möglichen Kompatibilitätsmodi und und und... Nur das Neuinstallieren von .NET 2.0 habe ich noch nicht probiert.

Oh, und ja: Es ist ein Win10 64, das Windows 7 Ultimate zuvor war auch eine 64-Bit-Variante.

OlafSt 31. Aug 2018 10:11

AW: Externe Exception C0000003
 
Ganz andere Frage: Vor längerer Zeit hatte ich getestet, ob das System überhaupt einen Wechsel auf Windows 10 überlebt... Dazu habe ich den Rechner virtualisiert, damals mit VMWare.

Ich habe diese VM mal reaktiviert und darauf erfolgreich ein komplettes Update auf Win10 1803 durchgeführt. Meine Frage: Bekommt man den "Rechner" irgendwie wieder aus der VM heraus ? Sicherlich wäre es besser, das ganze in der VM zu lassen, aber der Kunde ist nun mal König...

Uwe Raabe 31. Aug 2018 10:15

AW: Externe Exception C0000003
 
Zitat:

Zitat von OlafSt (Beitrag 1412093)
Bekommt man den "Rechner" irgendwie wieder aus der VM heraus ?

Ist zwar schon etwas älter, aber könnte ja zumindest in die Richtung weisen: https://www.vmware.com/support/v2p/doc/V2P_TechNote.pdf

himitsu 31. Aug 2018 10:20

AW: Externe Exception C0000003
 
Zitat:

Zitat von dummzeuch (Beitrag 1411629)
Dass man altes Delphi auf neuem Windows nicht nach c:\programme installieren sollte, ist ja hoffentlich bereits bekannt, oder?

Nee.

Man muß nur nach der Installation einmal als Admin starten und die Grundeinstellungen vornehmen, wie z.B. auch die Ausgabeverzeichnisse zu verschieben.
Oder man ändert nur für gewisse Unterverzeichnisse die Zugriffsrechte, damit Delphi nur dort immer Schreibzugriff bekommt.


Komplett alles freizugeben, egal ob durch verschieben oder das Ändern der Rechte für das gesamte Installationsverzeichnis ist keine Lösung.
Ich erinnere gern an den "Delphi"-Vurus, welcher die System.pas/dcu ändert und sich selber so in jedes neu kompilierte Programm einbaut ... was nur geht, wenn jeder sinnlos Schreibzugriff bekommt, z.B. auch weil früher jeder dauerhaft mit Adminrechten gearbeitet hat. (das war auch der Grund, warum Delphi und nahezu alle Programme nach XP probleme bekamen, weil sie sich vorher fahrlässig über bekannte Sicherheitsrichtlinien hinwegsetzen und es knallte, als die User nicht mehr als Admin arbeiteten)

OlafSt 10. Sep 2019 08:03

AW: Externe Exception C0000003
 
Hallo Freunde,

ich habe tatsächlich die Ursache dafür gefunden. Es ist DelphiSpeedUp gewesen - als ich das damals installierte, gab es Windows 10 noch nicht.

Nun wurde das System in einem neuen Anlauf umgezogen:
  • Auf dem alten Rechner ein Image mit Macrium Reflect erstellt
  • Das Image auf eine SSD (Samsung Evo irgendwas) aufgespielt
  • SSD in den alten Rechner eingebaut, die Partitionen per Chkdsk überprüfen lassen
  • Update auf Windows 10 Pro
  • Mittendrin abgerauchte Radeon X800-Grafikkarte ersetzt (NVidia G210)
  • .NET-Personalities wiederhergestelt und Delphi 2007 gestartet

Wieder gibt es beim Start von Delphi 2007 eine Externe Exception (Diesmal 80000003). Man sieht den Splash, es taucht noch GExperts in der Liste der Komponenten auf. Wer ein sehr schnelles Auge hat, sieht noch "alle .NET" ganz unten im Splash - dann erscheint die Exception.

Abhilfe:
  • Das alte DelphiSpeedUp deinstallieren.
  • Mit dem beim Entwickeln üblicherweise benutzten Account anmelden und den Besitz an "C:\Programme (x86)" mitsamt Unterordnern übernehmen. Musste ich so machen, da sämtliche Drittkomponenten eben dort installiert wurden :(
  • Kompatibilitätseinstellungen für D2007 auf "Windows 7" und "Administratorrechte" einstellen (letzteres ebenfalls wegen der Drittkomponenten)
  • Für Windows 10 gibt es ein spezielles DelphiSpeedUp für D2007 - dieses installieren

Jetzt läuft das ganze System wieder. Eine total versaute Installation :pale:, über viele Jahre gewachsen, und doch läuft das Zeug immer noch :thumb:


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:20 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