![]() |
Programm läuft auf XP aber nicht auf Vista
Ich bastel an einem Programm. Auf Win XP läuft es ohne weitere Probleme doch auf Win Vista lässt es sich noch nicht einmal starten. Hat vielleicht jemand von euch nen Tip für mich, wie ich da Programm auch auf Vista zum laufen bekomme?
Ich bekomme folgende Meldung bei Vista: Zitat:
Habe bereits versucht das Programm mit "Administrator Rechten" zu starten und auch den Kombatibilitätsmodus versucht. Alles bisher ohne Erfolg! Das Programm verwendet soweit keine OnCreate / OnActivate / OnShow Proceduren! Was bedeutet "Initialisieren" und was wird dabei gemacht? Welcher Code Abschnitt ist dort zuständig bzw. wo sollte/könnte ich nach dem Fehler suchen? Ich benutze "Delphi 6 Enterprise"! Vielen Dank im Vorraus an alle. |
AW: Programm läuft auf XP aber nicht auf Vista
Hallo
Es gibt paar geniale Tools, welche dir helfen, Fehler aufzuspüren. Z.B: ![]() Zitat:
|
AW: Programm läuft auf XP aber nicht auf Vista
Hallo,
ich steuere mal das ACT von MS dazu. Was macht denn dein Programm beim Start ? Eine Vermutung: Irgendwas aus dem Programme-Verzeichnis laden/schreiben ... Heiko |
AW: Programm läuft auf XP aber nicht auf Vista
Am Anfang tut es rein garnix. Wie gesagt, kein OnCreate, OnShow, OnActivate oder so. Noch nicht einmal ein Timer läuft von Anfang an.
Könnte es vielleicht dadran liegen, dass das Tool eine *.Dll verwendet die aber direkt mit der Anwendung zusammen in einem Ordner liegt? Ich teste mal eben das oben genannte Tool und mache danach noch einmal Meldung. Schade, hatte gehofft, dass ihr solche Probleme kennt und es ne einfache und schnelle Lösung dafür gibt. Naja, wieso sollte ich solch ein Glück haben? *g |
AW: Programm läuft auf XP aber nicht auf Vista
Moin,
also ich würde mal sagen es fehlt eine DLL ;) MfG Fabian |
AW: Programm läuft auf XP aber nicht auf Vista
Wenn eine statisch gelinkte DLL fehlt, dann gibt Windows da eigentlich eine halbwegs aussagekräftige Fehlermeldung aus.
Und bei einer dynamisch gelinkten DLL sollte der Programmierer da was Passendes veranstalten. |
AW: Programm läuft auf XP aber nicht auf Vista
Also dieses "MadExcept" was "Toms" gepostet hatte, schnalle ich nicht ganz. Ist irgendwie kein Programm sondern Sourcen. Soll das so? Aber so viele verschiedene und daher habe ich leider keine Ahnung was wo hin und wieso*g
Ich gucke noch mal wegen der *.dll aber sie ist ganz normal bei liegend. |
AW: Programm läuft auf XP aber nicht auf Vista
MadExcept kannst du in Delphi installieren
und dann bindest du nur noch die Unit madExcept in dein Projekt ein, am Besten gleich als erste Unit in deinem Projekt (DPR). Dadurch werden dann große Teile der Exception-Behandlung durch MadExcept übernommen und bei auftretenden Fehlern dann von diesem behandelt: - ausagekräftigere Fehlermeldungen - ich glaub 'ne Logdatei war auch möglich - man kann sich sogar einen Fehlerreport per Mail zusenden lassen (macht sich gut, wenn das Programm irgendwo im Einsatz ist und man so mehr Fehlerinformationen bekommt, als von einem "nichtsverstehendem" Kunden, welcher aufgetretene Fehler nicht beschreiben kann) |
AW: Programm läuft auf XP aber nicht auf Vista
Habs mal installiert und eingebunden. Mein Programm wurde nach dem Compilieren gleich mal doppelt so groß, was für mich heist, dass es auch wirklich eingebunden ist.
Habe das Programm dann wieder zum Vista Rechner gesendet und nach wie vor die selbe Mitteilung erhalten. Leider aber auch nichts anderes also keine Meldung vom MadExpect oder so. Die Anwendung konnte einfach nicht initialisiert werden. |
AW: Programm läuft auf XP aber nicht auf Vista
das ist doch eine Anwendung von dir. Wenn du ein wenig Zeit hast, kannst du ja mal anfangen, allen Code auszukommentieren und stückchenweise wieder die Kommentare zu löschen, also dem Programm seine Funktionen wieder zu geben. Irgendwann sollte der Zeitpunkt kommen, wann die Fehlermeldung wieder kommt. Da du ja keine anfänglichen Aktionen hast, würde ich mal auf eine nicht willige Komponente schließen.
Bernhard |
AW: Programm läuft auf XP aber nicht auf Vista
Mittlerweile habe ich glaube ich den Fehler gefunden!
Es ist glaube ich ein Befehl der unter vista nicht mehr klappt. Naja und dieser Befehl ist halt in der dll drinne. Habe an anderer Stelle hier im Forum bereits den Befehl genannt und hoffe, es kann mir jemand mit nem anderen Befehl weiter helfen den ich anstelle dessen verwenden kann. Ich suche ihn kurz raus! Edit:
Delphi-Quellcode:
Der Befehl SetWindowsHookEx() geht unter Vista wohl nicht mehr wie ich gelesen habe. Hat da jemand ne Alternative für mich?
...
if hHook=0 then hHook:=SetWindowsHookEx(WH_KEYBOARD,@KeyboardProc,hInstance,0); Result:=hHook<>0; ... |
AW: Programm läuft auf XP aber nicht auf Vista
Zitat:
Was sagt denn der Debugger dazu? Gruß K-H |
AW: Programm läuft auf XP aber nicht auf Vista
Zitat:
|
AW: Programm läuft auf XP aber nicht auf Vista
Einspruch. Laut MSDN wurde
![]() Zitat:
Bernhard |
AW: Programm läuft auf XP aber nicht auf Vista
Also ich nehme alles zurück!
Ich hatte halt etwas gelesen, dass dieser Befehl bei vielen Leuten Probleme machte und es dort oft zu der Aussage kam mit dem Vista. Aber egal erst einmal! Ich habe jetzt auf dem Vista Rechner einfach mal mein Delphi installiert und versucht von dort aus das Programm neu zu compilieren. Erfolglos! Genau der selbe Fehler und Delphi hat mir dabei auch nicht wirklich weiter geholfen außer dass es den Debugger angeworfen hat was mir aber auch nicht viel brachte. Also habe ich angefangen alle Funktionen und Befehle Stück für Stück mit {} raus zu filtern um dann irgendwann mal das compilieren zu schaffen. Fehlanzeige! Nix. Als nächstes habe ich dann das komplette Programm von Anfang an neu geschrieben und immer mal wieder geguckt ob alles klappt. Tja und wieso auch immer, es klappt alles! Ich habe Haar genau alles genauso gemacht wie bei dem ersten Programm. Es ist quasi eine Eins zu Eins Kopie dabei endstanden. Aber ohne einen einzigen Fehler bzw. ohne diesen Initialisierungs Fehler. Kann mir das irgend jemand erklären?:shock: Ich verstehe es nicht. Eigentlich könnte es mir ja jetzt egal sein, da ja jetzt endlich alles wieder funzt aber fürs nächste mal wüsste ich es gerne. Trotzdem Danke an alle! |
AW: Programm läuft auf XP aber nicht auf Vista
Problem dabei ist, dass Delphi wohl mit einer Chance von 1:1.000.000.000 Mist baut. Und du bist halt jetzt mal Opfer dieses Mists geworden. Das Problem ist bekannt, lässt sich bloß nicht reproduzieren. Andere haben solche Probleme gelöst, indem sie a) Delphi neu gestartet haben, b) den Rechner neu gestartet haben, c) eine Nacht geschlafen haben oder d) Den kompletten Programmtext in ein anderes Projekt kopiert haben (ähnlich dem, was du gemacht hast). Eine andere Möglichkeit ist auch mal die DCUs zu löschen, weil Delphi auch hin und wieder mal nicht mit veränderten Units jonglieren kann. Aber dennoch Glückwunsch, du hast es ja geschafft.
Bernhard |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:38 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz