Autor |
Beitrag |
Ace
      
Beiträge: 37
WinXP
Delphi 7 Pers. / Turbo Delphi.NET
|
Verfasst: Di 06.04.04 09:20
Ich habe immer wieder komische Effekte bei meinen Programmen wenn sie auf einem anderen Rechner als dem Entwicklungsrechner laufen. Es kommt öfters zu Zugriffsverletzungen ohne Grund. Selbst beim einfachsten Programm ohne zur Laufzeit erstellte Objekte oder Ähnlichem. Was aufgefallen ist das meist beim Beenden des Programms eine Zugriffsverletzung kommt. Ich kann die Fehler bei mir nicht nachbilden. Kann es mit irgendwelchen Compiler Einstellungen die mit der Speicherverwaltung zu tun haben zusammenhängen? Habe schon mehrere Einstellungen probiert, aber es hat alles nichts geholfen. Im Moment umgehe ich das Problem indem ich eine TApplicationEvent Komponente habe die die Exceptions abfängt. Ist natürlich nicht so elegant und ich würde gerne wissen was ich gegen diese Fehler unternehmen kann.
Hat jemand ähnliche Probleme, oder weiß jemand Rat?
|
|
tmc2004
      
Beiträge: 140
zuviele
D7,D8
|
Verfasst: Di 06.04.04 09:46
So ohne Code ist sowas immer etwas ins blaue Raten. Verwendest du Pointer?
Gruß
tmc
_________________ it's not a bug it's a feature
|
|
Motzi
      
Beiträge: 2931
XP Prof, Vista Business
D6, D2k5-D2k7 je Prof
|
Verfasst: Di 06.04.04 11:59
Also Speicherschutzverletzungen die erst am Ende des Programms auftreten haben meist Ursachen wie zB einen zerschossenen Stack, über die Grenzen eines dyn. reservierten Speichers hinausgeschrieben o.ä.
Aber ohne etwas mehr Details und ein bisschen Code kann man wohl kaum mehr sagen..! 
_________________ gringo pussy cats - eef i see you i will pull your tail out by eets roots!
|
|
Ace 
      
Beiträge: 37
WinXP
Delphi 7 Pers. / Turbo Delphi.NET
|
Verfasst: Di 06.04.04 12:27
Nein ich verwende keine Pointer. Und wie ich schon sagte kann das ein totales Pille-Palle Programm sein, immer tauchen diese Fehler auf.
Ich werde heute Abend mal den Quellcode posten. Eventuell auch meine compilierte Exe damit ihr es testen könnt. Ich befürchte nämlich das wenn man es auf dem anderen Rechner selber compiliert es dann auch ohne Probleme funktioniert.
|
|
tmc2004
      
Beiträge: 140
zuviele
D7,D8
|
Verfasst: Di 06.04.04 13:27
Mit was für einen von deinen Angegebenen Versionen hast du es denn Kompiliert? Weil unter D6 Personal darf man ja gar keine exen weiter geben da das nur für den eigengebrauch ist. Bin mir zwar nicht sicher aber daran könnte es auch liegen. Lade dir einfach mal die Enterprise Trial runter und Kompiliere es damit und schau ob es dann geht. Denn wie du sagst tritt es auch bei pille palle Programmen auf.
Gruß
tmc
_________________ it's not a bug it's a feature
|
|
Motzi
      
Beiträge: 2931
XP Prof, Vista Business
D6, D2k5-D2k7 je Prof
|
Verfasst: Di 06.04.04 13:33
Die Personal-Version ist keineswegs nur für den Eigengebrauch..! Die Einschränkung betrifft kommerzielle Anwendungen..! Sprich du darfst deine mit der Personal-Version erstellten Programme nicht verkaufen oder anderweitig kommerziell vermarkten..!
_________________ gringo pussy cats - eef i see you i will pull your tail out by eets roots!
|
|
tmc2004
      
Beiträge: 140
zuviele
D7,D8
|
Verfasst: Di 06.04.04 13:43
Naja habe mir gedacht das evtl. Borland aus Sicherheitsgründen das eingeschränkt hat. Na egal war ja nur eine Idee, aber er kann trotzdem mal Versuchen mit einem anderen Delphi Compiler sein Programm zu Kompilieren kann ja auch nicht schaden. Immerhin tritt es auch bei pille palle Programmen auf.
Gruß
tmc
_________________ it's not a bug it's a feature
|
|
Sven
      
Beiträge: 314
D6 Ent, K3 Pro (patched)
|
Verfasst: Di 06.04.04 13:54
Ace hat folgendes geschrieben: | ...
Was aufgefallen ist das meist beim Beenden des Programms eine Zugriffsverletzung kommt. Ich kann die Fehler bei mir nicht nachbilden.
... |
Kommt das jetzt meistens oder immer?
Von interesse wäre auch welche Windows-Version du auf deinem Entwicklungsrechner hast, und welches die "Testrechner" hatten.
*winkewinke*
_________________ MDK 9.1, Kernel 2.4.21, KDE 3.1 Kylix 3 Pro (patched), nutze aber auch Windows
|
|
Ace 
      
Beiträge: 37
WinXP
Delphi 7 Pers. / Turbo Delphi.NET
|
Verfasst: Di 06.04.04 15:36
tmc2004 hat folgendes geschrieben: | Naja habe mir gedacht das evtl. Borland aus Sicherheitsgründen das eingeschränkt hat. |
Ich glaube kaum das Borland absichtlich eine Exception auslöst.
Sven hat folgendes geschrieben: | Kommt das jetzt meistens oder immer? |
Bei drei verschiedenen Programmen kam es auf anderen Systemen zu einer Zugriffsverletzung beim Beenden des Programms.
Entwicklungs- und Zielrechner arbeiten beide mit WindowsXP + SP1.
Ich werde auf jeden Fall heute Abend euch mal Exe und Source zum Downloaden geben. Würd mich echt mal interessieren bei wie vielen von euch auch eine Zugriffsverletzung kommt.
|
|
Ace 
      
Beiträge: 37
WinXP
Delphi 7 Pers. / Turbo Delphi.NET
|
Verfasst: Di 06.04.04 19:34
Ich habe mal die Exe und den Source upgeloadet.
Exe: www.silent-hill.de/downloads/msc/ssx.zip
Die Exe mit dem Icon ist mein Programm. Klickt man z.B. auf Browse, schließt das Fenster wieder und beendet dann das Programm kommt es auf anderen Rechnern zur Zugriffsverletzung.
Source: www.silent-hill.de/d...oads/msc/ssx-src.zip
Enthält auch noch zwei kleine Komponenten die installiert werden müssen. Ist aber nichts kompliziertes. Nur eine WinXP Kompo um die visuellen Komponenten unter XP auch im passenden Stil anzuzeigen, und eine um Anwendungen zu starten und deren Ausgabe auf den StdOut abzufangen.
Wäre echt nett wenn sich das mal jemand ansehen könnte. Ich bin gespannt ob meine Exe den Fehler bringt und eine selber übersetzte Version nicht.
|
|
thebe
      
Beiträge: 128
WinXP Home
D6 Enterprise
|
Verfasst: Di 06.04.04 19:51
Bei mir gibts keine Zugriffsverletzung, benutze aber auch WinXP + SP1
|
|