Fehlermeldung bei Anschließen von E-Reader, bei Öffnen im Digital Edition

onleihe:hilfe
Aktuelle Meldungen finden Sie stets auf der :hilfeseite für die Onleihe.

  • Hallo, habe Digital Editions offen, dann schließe ich den Reader an und ich den E-Reader an und eine Fehlermeldung kommt (Assertion failed und etwas mit C ++). Daraufhin funktioniert gar nichts mehr im Digital Editions.


    Was könnte das sein und wie kann eine Lösung aussehen?


    Liebe Grüße, Junia

  • Die Fehlermeldung lautet: "Microsoft Visual C++ Runtime Library - Assertion failed - Program: ... File: ..\ ..\src\de17_lib_library.cpp Expression:pcr.is Null ( ) For information on how your program can cause an assertion failure, see the visual c++ documentation on asserts. Ich habe es mit ADE 2.0 versucht, es ist eine Neuinstallation. Und zwar kommt diese Fehlermeldung nur, wenn das PocketBook angeschlossen wird. Sonst funktioniert das Runterladen in das Digital Editions.


    Das gleiche Problem habe ich an einem anderen PC. Es funktioniert hier mit einer alten Version von ADE, was vermutlich das Problem ist. Evtl. ist das PocketBook (nicht das allerneuste) zu alt und daher irgendwie nicht kompatibel mit der neuen Version von ADE, da es mit der alten problemlos funktioniert. Darin liegt also vermutlich das Problem.

  • PocketBook ist jetzt kein kleiner Hersteller in Sachen eBook Reader. Ich kann mir nicht vorstellen, dass Adobe den raus schmeißt.
    Bei dieser Fehlermeldung würde ich einen Fehler in einem Update (von Windows) vermuten.


    Wäre es eine Alternative für dich an deinem Rechner die alte ADE Version zu verwenden? ADE 1.7.2
    Oder brauchst du aus irgendwelchen Gründen die neue 2.0 Version?
    http://kb2.adobe.com/de/cps/40…051/attachments/setup.exe

  • Hm. Ein erstes Gefühl wäre, daß der Bug in der Kommunikation zwischen Reader und ADE steckt. ADE erwartet einen Parameter, möglicherweise in einer bestimmten Form, den der Reader nicht oder nicht korrekt liefert.


    Immerhin reicht das, um weitere Schritte zu planen.


    Zunächst solltest Du nachsehen, ob es für den Reader ein Update gibt. Falls ja, könnte das Dein Problem schon lösen.


    Ohne Code-Diving kann man nicht sagen, ob ADE abwärtskompatibel bleiben sollte; es könnte ja sein, daß die fehlende Assertion ein Sicherheitsloch war. Deswegen würde ich mich zuerst an den Hersteller des Readers wenden, wenn es kein Update für das Gerät gibt. Es schadet allerdings sicherlich nicht, Adobe den Fehler zu melden, damit sie Abhilfe in einer zukünftigen Version von ADE schaffen können. Bis zu einem Update des einen oder anderen müßtest Du versuchen, mit einer alten Version von ADE klarzukommen.

  • Bei dieser Fehlermeldung würde ich einen Fehler in einem Update (von Windows) vermuten.


    Nee, ziemlich sicher nicht :)


    Assertions gibt es schon ewig, man stellt damit sicher, daß übergebene Parameter sauber sind, ohne jeden Fehlerfall abfangen zu müssen. Man kann zB bei der Implementation von Standards diese als Assertion festlegen und damit alle nicht Standardkonformen ausschließen. Allerdings hätte ich von Adobe eine bessere Fehlerbehandlung erwartet. Statt kommentarlos abzuschmieren und Windows die Fehlermeldung generieren zu lassen, hätte man eine eigene Meldung generieren und sauber aussteigen können. So muß Windows auch noch hinter einem Programm aufräumen. Peinlich, das.

  • Und was hast Du gedacht, in welcher Sprache ADE geschrieben ist? ASM?


    Natürlich nutzt man wo möglich Systembibliotheken sofern vorhanden. Alles andere wäre Blödsinn. Wer will schon das Rad nicht nur neu erfinden, sondern auch noch jedes Mal neu bauen?


    Daß es bei den Anforderungen nicht steht, liegt daran, daß es eine Systembibliothek ist. Manchmal werden auch Bibliotheken mitgeliefert (heute kaum noch), auch dann stehen sie nicht bei den Anforderungen. Man schreibt da nur rein, was der User unter Umständen selbst installieren muß.

  • Und was hast Du gedacht, in welcher Sprache ADE geschrieben ist? ASM?


    ADE ist in Flash geschrieben bzw. programmiert.


    "Microsoft Visual C++ Runtime Library" würde ich eher unter den optionalen Updates und Programm Bibliotheken einsortieren.
    Zumindest hatte ich mit anderen Programmen schon Probleme gehabt, weil bestimmte Bibliotheken nicht installiert waren.
    Dazu gehörten auch die "Visual Basic", ".Net", aber auch verschiedene "Microsoft Visual ..." Pakete.

  • ADE ist in Flash geschrieben bzw. programmiert.


    *grins* Das wolltest Du mir mal nicht glauben :D


    Aber Flash wird als Anzeigemodul benutzt. Das ist nicht ganz das gleiche, sondern eine weitere eingebundene Bibliothek.


    "Microsoft Visual C++ Runtime Library" würde ich eher unter den optionalen Updates und Programm Bibliotheken einsortieren.
    Zumindest hatte ich mit anderen Programmen schon Probleme gehabt, weil bestimmte Bibliotheken nicht installiert waren.
    Dazu gehörten auch die "Visual Basic", ".Net", aber auch verschiedene "Microsoft Visual ..." Pakete.


    Windows selbst ist weitgehend in C++ geschrieben, vor allem der gesamte Fenstermanager.


    Bitte verwechsle nicht Frameworks mit Bibliotheken und beide nicht mit Systembibliotheken.


    Nehmen wir eine Analogie, das ist amüsanter für die Nicht-Techniker :)


    Stell Dir Windows als Küche vor. Systembibliotheken sind dann Dinger wie der Herd. Ohne eine Form von Herd ist eine Küche keine Küche. Aber es kümmert mich nicht weiter, wie genau nun die Hitze in mein Essen kommt. Das lasse ich den Herd machen. Mir reicht, daß ich das Ergebnis (Wärme im Essen) geliefert bekomme.


    Aufgaben wie assert gehören zum Herd. Vielleicht wie ein Induktionskochfeld. Wenn mein Topf ungeeignet ist, schmeißt der Herd einen Fehler, weil meine Eingabe nicht angemessen ist. Die assertion-failure wird vom Betriebssystem geliefert, aber das heißt nicht, daß der Topf (ADE) mich nicht vorher hätte warnen können (Systemanforderungen) oder das Problem abfangen (Warnmeldung bei oder Fehlerbehandlung nach dem Anschluß des Readers).


    Bibliotheken sind dann eher wie Convenience-Lebensmittel. Vielleicht wie eine Gemüsemischung aus der Tiefkühltruhe. Ich weiß dann nicht, wie man das Gemüse anbaut oder es küchenfertig vorbereitet, das überlasse ich dem Hersteller (Achtung: nicht notwendigerweise der Küchenhersteller). Mich kratzt nur, daß ich die Tüte anfordere und das Ergebnis (Gemüse im Topf) geliefert bekomme.


    Und hier sind wir bei den Bibliotheken, die Du ansprichst. Das sind externe Bibliotheken, die nachinstalliert werden - wie die Gemüsetüte. Diese sind für das OS optional, für das Programm, das Du benutzen willst, aber nicht.


    Frameworks wie .net sind noch einmal eine andere Geschichte und hier versagt leider meine Analogie. Der Einfachheit halber sagen wir mal, das sind auch nur Gemüsetüten, bloß ein bißchen komplexer :)

  • Und hier sind wir bei den Bibliotheken, die Du ansprichst. Das sind externe Bibliotheken, die nachinstalliert werden - wie die Gemüsetüte. Diese sind für das OS optional, für das Programm, das Du benutzen willst, aber nicht.


    Frameworks wie .net sind noch einmal eine andere Geschichte und hier versagt leider meine Analogie. Der Einfachheit halber sagen wir mal, das sind auch nur Gemüsetüten, bloß ein bißchen komplexer


    Das ist ja der Punkt der mich stört.
    Bei mir sind die "Microsoft Visual C++" Einträge bei den optionalen Updates. (Mehrzahl? Ja, bei mir 2005, 2008 und 2010, davon auch noch diverse.)
    Das bedeutet, hätte ich sie nicht installiert wie .Net, JAVA, oder Flash, dann hätte mein Windows diese gar nicht.
    Somit kann es sich nicht um Systembibliotheken handeln.
    Wäre das Programm in der Programmiersprache C++ geschrieben, dann bräuchte es keine externe Bibliotheken (außer es greift aus anderen Gründen auf diese zu)


    In deinem Vergleich müsste es also die Mikrowelle darstellen und nicht den Herd. Nicht alle Küchen haben eine, lässt sich aber dazu holen und hinterher auch wieder raus schmeißen.

  • Oh je. Wie erkläre ich das jetzt bloß ohne eine Vorlesung über Compiler und so zu halten? OK, ich weiß, daß alle Programmierer jetzt Schnappatmung bekommen, aber wir wollen's einfach halten.


    C++ ist eine Sprache. Welches Werkzeug ich zum Schreiben benutze, ist pieps; der normale Windows-Editor würde dicke genügen. Wenn ich damit jetzt ein Programm schreibe, brauche ich zunächst mal gar keine Bibliotheken, ich kann mir sogar (fast alle) Systembibliotheken selbst schreiben. Ich kann auch Systembibliotheken benutzen, ganz nach Laune. Wie gesagt, Windows selbst ist fast komplett in C++ geschrieben.


    Die "C++ Runtime", die Du erwähnst, ist wieder eine andere Bibliothek, die verwendet wird, wenn ich C++ in Visual Studio schreibe. Sie wird dann und nur dann nötig, wenn ich diese Bibliothek benutze, sie wird bei Visual Studio standardmäßig eingebunden. Sie ist keine Systembibliothek.

  • OK.
    Soweit stimme ich mit dir überein und das war mir klar.


    Die Fehlermeldung lautet aber:

    Die Fehlermeldung lautet: "Microsoft Visual C++ Runtime Library - Assertion failed


    Somit entsteht der Fehler nicht in der Verwendung der Programmiersprache C++, sondern in der Verwendung der "Microsoft Visual C++ Runtime Library"


    Wenn diese "Runtime Library" verwendet wird, dann müsste diese auch bei den Anforderungen genannt werden.
    Bei anderen Programmen und Spielen wird es doch auch gemacht. Hier als Beispiel mal aus dem Spiel "BioShock Infinite":

    Zitat

    Software-Installationen benötigt (im Spiel enthalten), darunter Steam-Client, Microsoft DirectX Runtime, Microsoft Visual C++ Redistributable 2008 SP1 sowie Microsoft Visual C++ Redistributable 2010 SP1.


    In dem Fall sind die benötigten Komponenten mit enthalten. In anderen müssen diese bei Bedarf separat installiert werden.

  • Die Bibliothek wird bei allen Windows mit installiert :) Bei sehr alten Server-Windows (2k, zB) mußte sie noch nachinstalliert werden.


    Seit Visual Studio 6 (das ist jetzt ... uh ... 15 Jahre her) werden die Runtimes auch standardmäßig in die Setups gepackt und bei Bedarf installiert. Es besteht also kein Bedarf, sie in die Systemvoraussetzungen zu schreiben.


    Die Fehlermeldung sagt Dir nur, wer als erster von den vielen Beteiligten die Meldung an den Benutzer gibt. Dieselbe Meldung bekommst Du, mit anderem Text, auch von Windows. Da die Runtime installiert ist, kommt die Meldung von dieser.


    Mein Vorwurf an Adobe ist schlicht, daß sie für den Fall der Assertion-Failure nicht vorgesorgt haben. Statt die Meldung von irgendeiner Bibliothek generieren zu lassen, hätten sie das Ganze abfangen müssen. Dann hätte man eine aussagekräftige Meldung an den Nutzer machen können und vor allem das Programm sauber beenden. So steigt ADE unsauber aus und hinterläßt jede Menge Dreck im Speicher - den Windows dann so gut wie möglich aufräumen muß.

  • Die Fehlermeldung lautet: "Microsoft Visual C++ Runtime Library - Assertion failed - Program: ... File: ..\ ..\src\de17_lib_library.cpp Expression:pcr.is Null ( ) For information on how your program can cause an assertion failure, see the visual c++ documentation on asserts. Ich habe es mit ADE 2.0 versucht, es ist eine Neuinstallation. Und zwar kommt diese Fehlermeldung nur, wenn das PocketBook angeschlossen wird. Sonst funktioniert das Runterladen in das Digital Editions.


    Nett. Adobe ist, wie wir wissen, eine winzig kleine Open-Source-Softwareschmiede und ADE ein Produkt, das nur von erfahrenen Programmierern eingesetzt wird. Da braucht's natürlich keinen Luxus à la verständliche Fehlermeldungen.

  • Sagen wir's mal so... Hätte ich den Sourcecode, wüßte ich mit dieser Fehlermeldung genau, wo ich suchen müßte. Und diese Fehlermeldung wäre mir dabei nützlicher als eine a la "Ihr Reader ist nicht kompatibel mit dieser ADE Version". :)


    Aber Du hast Recht. Mit einer solchen Fehlermeldung möchte ich nicht tot über'm Zaun hängen. Damit läßt man sich einfach nicht erwischen.

  • Die Bibliothek wird bei allen Windows mit installiert Bei sehr alten Server-Windows (2k, zB) mußte sie noch nachinstalliert werden.


    Sowohl beim Windows XP als auch bei 7 musste ich die Microsoft Visual C++ Redistributables selbst separat nach installieren weil es für bestimmte Programme oder Spiele benötigt wurde und auch so in den Anforderungen stand.
    Aber wir kommen wieder vom Thema ab.


    @ Junia:
    Hat sich inzwischen eigentlich etwas getan? Hattest du mal bei PocketBook angefragt?
    Möglicherweise hilft es die ""Microsoft Visual C++ Redistributable" neu zu installieren.

  • Ich habe die Version 1.7 von Digital Editions installiert, damit funktioniert alles hervoragend!

  • Evtl. ist das PocketBook (nicht das allerneuste) zu alt


    Hast du schonmal nach einem Updaten gesehen? Da ist Pocketbook ganz gut drin. Vielleicht geht es dann wieder.
    http://www.pocketbook-int.com/de/support


    Edit: Ups, da habe ich glatt den vorletzen EIntrag gelesen und nach oben durchgeschaut und dabei den letzten übersehen. Aber schön, wenn es sich auch so geklärt hat...

    "Die gefährlichste Weltanschauung ist die Weltanschauung derer, die die Welt nie angeschaut haben" - Alexander von Humboldt