JVCL - EAccessViolation beim schliessen des Programms
-
Ich wollte mal etwas die JVCL testen. (JVCL aktuelle Version / Rad Studio 2010)
Jetzt ist mir aber ein sehr komischer effekt aufgefallen:
- Neues Projekt erstellen
- eine beliebige Jvcl oder Jcl komponente einfügen
- Laufzeit packages deaktivieren
- CompilierenSobald ich das einmal gemacht habe, bekomme ich mit deaktivierten Laufzeit-Packages einen EAccessViolation beim beenden meines Programmes. Egal ob die Jvcl Komponente aus dem Programm gelöscht wurde oder nicht.
Das ganze passiert nach return 0 in der WinMain.
Projekt schliessen und neues erstellen hilft.
Kann man die Jvcl Komponenten nicht ohne Laufzeit-Packages nutzen?Kann mir jemand einen Tipp geben wie ich das beheben kann
:763cb727 KERNELBASE.RaiseException + 0x58
:32ab32b6 CC32100MT.___raiseDebuggerException + 0x1a
:32ab3390 CC32100MT.___raiseDebuggerException + 0xf4
:77df6ac9 ; ntdll.dll
:77df6a9b ; ntdll.dll
:77dc010f ntdll.KiUserExceptionDispatcher + 0xf
:32ad8b5f ; C:\Windows\SysWOW64\CC32100MT.DLL
:32ad8bae ; C:\Windows\SysWOW64\CC32100MT.DLL
:32ad5b18 CC32100MT._exit + 0x10
:32ad8d84 ; C:\Windows\SysWOW64\CC32100MT.DLL
-
Jonny123 schrieb:
Kann man die Jvcl Komponenten nicht ohne Laufzeit-Packages nutzen?
Jedenfalls solltest du gemeinsam mit den Laufzeit-Packages auch die dynamische RTL deaktivieren.
-
audacia schrieb:
Jedenfalls solltest du gemeinsam mit den Laufzeit-Packages auch die dynamische RTL deaktivieren.
mache ich natürlich
-
Dann kann ich mir deinen Stacktrace, der durch cc32*mt.dll geht, nicht erklären.
Ich hab's gerade mal mit XE getestet: neue VCL-Anwendung, ein, zwei JVCL-Komponenten draufgezogen, Laufzeitpackages und dynamische RTL deaktiviert. Keine Probleme. Eine meiner Anwendungen, die einiges aus JCL und JVCL benutzt, habe ich bis vor kurzem noch mit C++Builder 2010 und ohne Laufzeitpackages erstellt, und hatte auch da keine Probleme.
Welche Revision (bekommst du via
svn info
) von JCL und JVCL verwendest du?
-
Hi,
ich greif das alte Thema mal auf weil ich genau das gleiche Problem habe.
Windows XP + C++ Builder 2010 + JVCL 3.40
Erstelle eine neue VCL-Anwendung -> Läuft
Schalte dynamisches RTL und Laufzeitpackages ab -> Läuft
Ziehe eine JVCL-Komponente drauf -> Läuft, aber wirft Exception beim Beenden
Entferne JVCL-Komponente wieder -> Immer noch Exception
Schalte RTL und Laufzeitpackages wieder an -> Läuft, aber halt mit Runtimes was ich nicht willKann das jemand nachstellen ?