Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   XE2 / Error after compile : 0xc000007B (https://www.delphipraxis.net/164055-xe2-error-after-compile-0xc000007b.html)

bernhard_LA 27. Okt 2011 09:22

XE2 / Error after compile : 0xc000007B
 
Liste der Anhänge anzeigen (Anzahl: 1)
Dt: unsere Anwendung rennt seit der version von D7, unter D XE2 im X32 Bit ist auch alles OK,
leider kommt bei X64 jetzt folgende Fehler-Meldung : 0xc000007B
Kann jemand helfen ???

Eng: Our application has been fine with D7, later D2010 and now Delphi XE2 x32 mode.
If I compile now using x64 bit mode , I can' t start the application and get and 0xc000007B error.
http://www.articlesbase.com/software...s-4380824.html does not help :(



OS: WIN 7 PROF. 64 BIT

RWarnecke 27. Okt 2011 09:42

AW: XE2 / Error after compile : 0xc000007B
 
Mmmh, das ist schwierig, hast Du schon mal versucht den Teil zu debuggen, wo diese Fehlermeldung auftritt ? Als weitere alternative kan ich die Eurekalog empfehlen. Das sagt Dir genau in welcher Zeile der Fehler auftritt.

bernhard_LA 27. Okt 2011 10:13

AW: XE2 / Error after compile : 0xc000007B
 
ich denke der Crash passiert noch vor dem Ausführen der ersten Zeile Code :-(

Uwe Raabe 27. Okt 2011 10:18

AW: XE2 / Error after compile : 0xc000007B
 
Verwendet das Programm externe DLLs? Liegen diese auch in der richtigen (sprich 64-Bit) Version vor? Auch im entsprechenden Zugriffspfad?

bernhard_LA 27. Okt 2011 12:55

AW: XE2 / Error after compile : 0xc000007B
 
Die DLL Thematik hatte ich auch im Verdacht, auskommentieren der DLL Funktionen hat leider keinen Erfolg gebracht

CCRDude 27. Okt 2011 13:00

AW: XE2 / Error after compile : 0xc000007B
 
Zitat:

Zitat von bernhard_LA (Beitrag 1132820)
ich denke der Crash passiert noch vor dem Ausführen der ersten Zeile Code :-(

Weil ein Breakpoint auf der ersten Zeile des Hauptprogrammes nicht vor dem Crash erreicht wird, oder bist Du Dir da sicher?

Je nach eingebundenen Units haben die ja initialization-Parts, die theoretisch auch schon vor dem Laden von SysUtils und damit dem Initialisieren des exception handlings ausgeführt werden und Fehler werfen können.

Du hast bei der OS-Angabe die Sprache vergessen. Wäre es ein englisches Delphi auf deutschem OS oder genau umgekehrt, wäre die Herkunft der Meldung zumindest klar.

Ansonsten... bei Startproblemen würd ich zuerst einen elevated Start probieren, und danach das Manifest peinlich genau überprüfen, ggfls. auswechseln.

Externe DLLs verwendet zudem jedes Programm (zumindest Delphi-Programm, denn ohne Delphi-RTL geht's nicht)! Auch statisch gelinkte DLLs können Streß machen. Unter anderem aufgrund des Suchpfades, wenn DLLs unterschiedlicher Version im Programm- sowie im Systemverzeichnis liegen.

Uwe Raabe 27. Okt 2011 13:10

AW: XE2 / Error after compile : 0xc000007B
 
Zitat:

Zitat von CCRDude (Beitrag 1132874)
Externe DLLs verwendet zudem jedes Programm (zumindest Delphi-Programm, denn ohne Delphi-RTL geht's nicht)!

Die Delphi-RTL liegt allerdings gerade nicht als DLL vor! Insofern sind die externen DLLs, die ein Programm benutzt vorwiegend die des Betriebssystems. Solange sich also nicht irgendwelche (und sei es Kopien) davon im Suchpfad oder gar im Exe-Pfad befinden, kann man erstmal davon ausgehen, daß das OS weiß, wo es die findet.

CCRDude 27. Okt 2011 17:04

AW: XE2 / Error after compile : 0xc000007B
 
Zitat:

Zitat von Uwe Raabe (Beitrag 1132876)
Die Delphi-RTL liegt allerdings gerade nicht als DLL vor!

Wo habe ich das denn behauptet? Ich habe nur geschrieben, daß Teile der RTL immer verwendet werden. Und in diesen Teilen sind statische Imports auf System-DLLs.

himitsu 27. Okt 2011 18:11

AW: XE2 / Error after compile : 0xc000007B
 
Delphi-Quellcode:
Weil ein Breakpoint auf der ersten Zeile des Hauptprogrammes nicht vor dem Crash erreicht wird, oder bist Du Dir da sicher?
Mit F7 starten bringt auch nicht?
Eventuell auch mal die Debug-DCUs aktivieren, in den Projektoptionen.

Welches Ausgabeformat ist denn eingestellt? (Win32, Win64, OSX ...)

Harry Stahl 29. Nov 2015 15:49

AW: XE2 / Error after compile : 0xc000007B
 
Genau das gleiche Problem habe ich jetzt auch bei XE7, wenn ich die 32-Bit-Version als 64-Bit laufen lassen möchte. Kompilieren geht, aber Programm stürzt sofort ab.

Gibt es hierfür inzwischen nähere Erkenntnisse?

Perlsau 29. Nov 2015 16:32

AW: XE2 / Error after compile : 0xc000007B
 
Zitat:

Zitat von Harry Stahl (Beitrag 1322858)
Genau das gleiche Problem habe ich jetzt auch bei XE7, wenn ich die 32-Bit-Version als 64-Bit laufen lassen möchte. Kompilieren geht, aber Programm stürzt sofort ab. Gibt es hierfür inzwischen nähere Erkenntnisse?

Wie kann man "die 32-Bit-Version als 64-Bit laufen lassen"? Meintest du nich vielmehr 64-Bit-Kompilat? Also du entwickelst und testest deine Anwendung mit 32 Bit und am Ende erstellst du aus demselben Code eine 64-Bit-Anwendung, die dann abstürzt?

Also ich hab's weder mit XE2 noch mit XE7 je erlebt, muß allerdings dazusagen, daß ich mit beiden immer nur sporadisch arbeite. Manche Dinge scheinen mit 64-Bit ein wenig anders zu laufen. So hatte ich seinerseits von Hathor und dem schönen Günter den Tip bekommen, in OnCreate des Hauptformulars folgede IfDefs einzutragen (gemeint ist nicht das mit der Caption):
Delphi-Quellcode:
  Saved8087CW := Default8087CW;
  {$IFDEF WIN64}
  Self.Caption := GLD.Programmtitel + '64-Bit-Version';
  System.Set8087CW($133f);
  {$ELSE}
  Self.Caption := GLD.Programmtitel + '32-Bit-Version';
  System.Set8087CW(Saved8087CW);
  {$ENDIF}
Danach ist mein 64-Bit-Kompilat nicht mehr abgestürzt. Mir ist natürlich klar, daß es sich bei dir um eine andere Fehlermeldung handelt, aber ich wollte nur darauf hinweisen, daß man für 64 Bit nicht immer denselben Code verwenden kann wie für 32 Bit.

Harry Stahl 29. Nov 2015 17:13

AW: XE2 / Error after compile : 0xc000007B
 
Liste der Anhänge anzeigen (Anzahl: 1)
Ja klar, ich meinte die kompilierte 64-Bit-Version. Dass einige Sachen anders in der 64-Bit-Version sein müssen, habe ich natürlich berücksichtigt.

Aber zum Oncreate-Ereignis des Hauptformulars kommt das Programm gar nicht, sondern stürzt direkt ab. Es werden also auch nicht die Initialisierungsabschnitte der einzelnen Units durchlaufen.

Wenn ich mit F7 das Programm bzw. den Debugging-Prozess starte, lande ich direkt im CPU-Fenster, siehe anliegenden screenshot. Einmal weiter auf F7 gedrückt und schon stürzt das Programm ab.

Die Theorien, dass es an irgendwelchen geladenen 32-bit-Dlls liegen könnte trifft nicht zu, da ich keine DLL's direkt zum Programmstart lade sondern nur dynamisch bei Bedarf (zur Sicherheit habe ich auch auch mal alle DLL's aus dem Programmverzeichnis entfernt).

Perlsau 29. Nov 2015 17:23

AW: XE2 / Error after compile : 0xc000007B
 
Mach doch mal ein Testprogramm, das bei dir ebenfalls abstürzt, und hänge das Projekt dann hier als Zip an (nur dpr, dproj, pas, dfm und res, mehr brauchts eigentlich nicht) und achte darauf, keine Zusatzkomponenten zu verwenden, die womöglich nicht jeder hat.

Harry Stahl 29. Nov 2015 17:43

AW: XE2 / Error after compile : 0xc000007B
 
Einfache 64-Bit Testprogramme funktionieren ja leider. Auch habe ich mit XE7 schon andere 64-Bit-Programme ohne Probleme erstellt.

Außer Indy-Komponenten habe ich in diesem Programm keine Drittkomponenten drin. Es hat aber über 65.000 Zeilen Source-Code und über 70 Formulare, kann ich hier also nicht posten.

Blöd ist ja, dass man das Programm überhaupt nicht debuggen kann.

Perlsau 29. Nov 2015 17:53

AW: XE2 / Error after compile : 0xc000007B
 
Hast du mal einen Breakpoint in der DPR gesetzt bzw. mit F8 zu starten versucht?

Harry Stahl 29. Nov 2015 17:57

AW: XE2 / Error after compile : 0xc000007B
 
Ja, habe ich (direkt den ersten Eintrag "Application Initialize"), sowohl F7 (was ja ein noch kleinerer Debug-Teilschritt als F8 ist) oder auch F8 führen direkt zum CPU-Fenster.

Perlsau 29. Nov 2015 17:59

AW: XE2 / Error after compile : 0xc000007B
 
Dann fällt mir jetzt auch nix mehr ein.

Eppos 22. Apr 2016 14:25

AW: XE2 / Error after compile : 0xc000007B
 
Hat hier jemand bereits eine Lösung?

Rollo62 22. Apr 2016 20:15

AW: XE2 / Error after compile : 0xc000007B
 
Du könntest noch versuchen die MainForm von einer einfachen Dummy MainForm aufzurufen und
nicht "autocreaten" zu lassen, sondern step by step von Hand zu Createn.

Falls dein Absturz nicht auch schon davor kommt.

Rollo


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