Windows XP /Windows 7



  • Hallo,

    ich habe ein Programm das bestimmte Filter lädt. Seit ich Windows 7 habe funktioniert es nicht mehr.
    Habe das Programm auf einem XP Rechner und einen Win7 Rechner.
    Genau der gleiche code. Win Xp funktioniert alle und bei windows 7 bekomme ich einen UCOM fehler. Keine Ahnung was das heisst.
    Habe aber raußgefunden, dass bei Win 7 der Filer nicht gefunden wird obwohl der pfad richtig ist. Ab Schluss zeigt der Pointer natürlich auf null, da er ihn nicht findet.
    Kann man irgendwie den Fehler herausfinden woran es liegt ?
    Das durch perror oder irgendwie sowas für eine genauere Beschreibung.

    Danke



  • Wie wäre es mit der genauen Fehlermeldung ?



  • Danke erstmal, das sich jemand meldet;)
    Was ich noch herausgefudnen habe, das wenn ich das PRogramm mit VS 2005 erstelle die GUI zumindest geöffnet wird. Erstelle ich es mit VS2008 kommt gleich die Fehlermeldung.
    VS2005 Fehlermeldung:
    Unhandled exception EXCEPTION_ACCESS_VIOLATION at 0x01FBDBD8

    Stacktrace:
    #0 0x01fbdbbd8 in UCOM_LoadPlugin2
    (...\...\Programm.srv)

    VS2008 Fehlermeldung:
    Unhandled exception EXCEPTION_ACCESS_VIOLATION at 0x01FC4DCB

    Stacktrace:
    #0 0x01fc4dcb in UCOM_LoadPlugin2
    (...\...\Programm.srv)
    #1 0x0012cedc in (unknown function) (unknown module)

    Das komilieren funktioniert bei beiden, aber wenn ich die Application starte diese zwei Fehler



  • Zeig uns doch mal den relevanten Code (minimales, kompilierbares Beispiel).
    Irgendwas sagt mir, dass es sich nicht um ein Standard-C++ Problem handelt, sondern dass du da mit irgendwelchen OS-spezifischen Dingen herumspielst (WinAPI?) oder nichtmal reines ISO-C++ benutzt (sondern C++/CLI oder etwas in der Richtung).



  • Hallo,

    danke für die Antwort.
    Ja es ist kein reines C.
    Es ist eher eine Mischung aus Qt/MFC/C/C++/Filterprogrammierung.
    Ich möchte einen Filter laden und bei passiert es das das Programm, seit ich Win7 habe, auf die Adresse 0x0000000000 zeigt.
    Der Filter heißt genauso wie bei Win XP.
    Kann es an dem Namen liegen oder der Ordnerstruktur?
    Filtername:
    Verabreitung_signale oder das im path irgendwelche zeichen sind die Windows7 nicht versteht.
    Weißt da vielleicht jemand was ?
    Ein Minimalbeispiel ist durch die Struktur nicht möglich.
    Dann kann ich nicht ein Stück heruasnehmen, da es viele Abhängigkeiten hat.

    Danke



  • campionissimo schrieb:

    Qt/MFC/C/C++/Filterprogrammierung.

    o.O
    Was hast du denn gefrühstückt?



  • Ohne Code kann dir schlecht geholfen werden. Irgendein API Aufruf scheint wohl fehlzuschlagen und du machst keine Überprüfung der Rückgabewerte.
    Vielleicht kannst du dein Programm mit einem Remote Debugger ferndebuggen oder du baust in bestimmte Programmabschnitte Ausgabemeldungen ein, die dir den Zustand deine Anwendung verraten.



  • ein Programm das bestimmte Filter lädt

    Kaffeefilter, oder was? In welcher Form liegt der Filter vor und was filtert dieser. DirectShow oder wie? Wie waere es mit etwas mehr Kontext?



  • campionissimo schrieb:

    Ja es ist kein reines C.

    Gut, du bist ja auch im C++-Forum.

    Es ist eher eine Mischung aus Qt/MFC/C/C++/Filterprogrammierung.

    Tja, und welcher der Teile bringt den Fehler? Qt? MFC? Das verrätsts du leider nicht.

    Ich möchte einen Filter laden und bei passiert es das das Programm, seit ich Win7 habe, auf die Adresse 0x0000000000 zeigt.
    Der Filter heißt genauso wie bei Win XP.

    Ein Programm zeigt nicht. Ein Zeiger schon eher. Und wenn du den nicht überprüfst, bevor du ihn benutzt, dann kommt es zu undefiniertem Verhalten, also z.B. zu Abstürzen. Die Ursache für den Absturz ist also mangelhafte Überprüfung der Werte, mit denen du hantierst. Die Ursache für den falschen Wert kann man dir ohne Code nicht sagen.

    Ein Minimalbeispiel ist durch die Struktur nicht möglich.
    Dann kann ich nicht ein Stück heruasnehmen, da es viele Abhängigkeiten hat.

    Dann solltest du als allererstes deine Struktur überarbeiten und die Abhängigkeiten aufbrechen.


Anmelden zum Antworten