Hallo, bei jedem Projekt Zugriffsverletzung bei Programmende, oder doch vielleicht Zufall.
Ich finde jetzt nicht heraus, weshalb diese Zugriffsverletzungen passieren, ich bekomme immer
das CPU Fenster beim schließen meines Programms, bzw. meiner Programme.
Ich war an einem Projekt dran und plötzlich passiert es, obwohl das vorher wunderbar funktioniert hat.
Habe dann die letzten Änderungen rausgenommen und trotzdem bleibt der Fehler,
dann habe ich es erstmal nicht weiterentwickelt und ein neues angefangen, da passiert das gleiche beim
Programmende.
Das interessante ist, dass alle Programme in meinem System danach betroffen sind und nicht ordnungsgemäß
arbeiten und wenn ich neustarte hängen die Programme. Bei einem Programm sehe ich chinesiche Schriftzeichen.
Ich weiß, ich habe nicht ganz so sauberen Programmierstil, aber nur deswegen weil ich bis
jetzt nicht eingehend einige Fragen geklärt habe.
Folgendes Szenario:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25:
| Unit1.pas
interface uses... type ... const.. var.. implementation
uses Unit2
Unit2.pas
interface uses... type ... const.. var.. implementation
uses Unit1 |
Oder
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23:
| Unit1.pas
interface uses... type ... const.. var.. implementation
uses Unit2, Unit3
Unit2 interface uses... type ... const.. var.. implementation
uses Unit3 |
Ich hatte von jemandem erzählt bekommen, dass es gefährlich ist Quer-Einbindung
stimmt es ? Wie wird's in der Regel gemacht?
Vielleicht sollte ich in Unit2 und Unit3 Ereignisse definieren und alles in Unit1 auffangen / verarbeiten,
sodass ich alle Units in Unit1 einbinde und die Unit2 und Unit3 wissen nichts von Unit1?
----------------------
Wenn ein Objekt beim Programmende von der Anwendung freigegeben wird, dann ist ja die variable nicht nil?
Wie kann ich es in Delphi abfangen?
myForm is TForm ???
----------------------
Wie verhält es sich wenn ich die libmysql50.dll verwende. Muß ich zum Schluss etwas freigeben?
Ich verwende die Zeos Componenten