Announcement

Collapse
No announcement yet.

Datei konnte durch Moniker nicht geöffnet werden?

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Datei konnte durch Moniker nicht geöffnet werden?

    Hallo,

    Ich verwende einen OLE-Container um Daten verschiedenen Nutzern zur Verfügung zu stellen. (Die Daten kommen aus einer Datenbank). Das Speichern und Laden funktioniert.
    In einigen Fällen bekomme ich diese Fehlermeldung und zwar genau bei:

    Container.DoVerb(ovShow);

    Hat jemand eine Idee?

    Habe die Sache Eingrenzen können:

    while oc.State=osOpen do Application.ProcessMessages;

    (oc = TOLEContainer)
    Dies funktioniert unter Windows 2000 nicht. D.h. er wartet nicht. Bei XP geht es. Ich arbeite mit Delphi 2005 und XP Unterstützung.

    Anm.: Wenn man osRunning hinzu nimmt, geht es zwar unter Windows 2000, aber das Problem besteht weiterhin. Vermutlich ist einfach Windows 2000 und XP nicht wirklich kompatibel.

  • #2
    > Vermutlich ist einfach Windows 2000 und XP nicht wirklich kompatibel.

    Keine Windows-Version ist zu einer anderen 100%-Kompatible. Das ist wunschdenken.

    Welche Formate willst Du den per OLE-Container anzeigen. Evtl. ist die Anzeige im TWebBrowser die einfacher und Fehlerunanfälligere, da jedes OLE-Objekt im OLE-Container sich anders verhält (eigene leitvolle Erfahrungen)

    Comment


    • #3
      Hallo,
      das Ganze ist ein Datenbanksystem (MySQL), das beliebige OLE-fähige Daten in einer Datenbank speichert. Das Problem ist das bei Dateien die mehrere nutzen schnell mehrere Versionen im Umlauf sind. Deshalb kann man hier die Datei (bsp. Excel) aus der Datenbank öffnen, bearbeiten und beim schließen wird sie in der DB aktualisiert. Ein anderer Nutzer bekommt dann ein "Gesperrt von ...". (Freigabe per Windows geht nicht, da bspw. mehrere Domänen)
      Web-Browser geht also nicht. Zum Glück hatte ich den Fehler noch nicht wieder. Die anderen Dateien funktionieren alle (meist Excel). Es kann auch sein das die Datei von Windows irgendwie zerbastelt wurde.
      Zum Glück kann man solche Fehler getrost auf Windows schieben, und das Dumme ist, man hat zu 95% recht ;-

      Comment


      • #4
        Schreibst du die Daten mit "OLE-Header" oder nur die "reinen" Daten (z.B. "reines" Excel-Dokument).
        Falls mit OLE-Header so kommst du sehr schnell in Teufels/Windows-Versionsproblem-Küche. Solche Problem kenn ich wenn man z.B. Bildschirmkopien als Einfügung in Outlook verschickt. Kann man sehr oft auf einem fast "identischen" Rechner nicht anschauen

        Comment


        • #5
          Hallo,
          ich verwende OleContainer1.InsertObjectDialog bzw. OleContainer1.CreateObjectFromFile. Die Nutzer müssen ja die Möglichkeit haben Dateien einzufügen.
          Die Speicherung geht über Stream: OleContainer1.SaveToStream und BlobField.LoadFromStream und umgekehrt.
          Um einen Header habe ich mich bisher nicht gekümmert.
          Gruß Matthia

          Comment


          • #6
            > Um einen Header habe ich mich bisher nicht gekümmert.

            Dann viel Spaß und Hoffe mal das dadurch nicht zu viele Fehler auftreten

            Comment

            Working...
            X