none
Zugriff auf Bilddatei RRS feed

  • Frage

  • Rufe in meinem Programm JPG-Dateien auf, um diese in einer separaten Form anzuzeigen. Funktioniert problemlos in der Entwicklungsumgebung. Ist die Software allerdings auf einem anderen Rechner installiert. wird die programmgesteuerte Fehlermeldung ausgegeben, obwohl Pfad und Datei stimmen. Nachstehend der Code

        str_ViewPath = ""
        str_ViewPath = str_KB01 + "\KB_Scans\"
        str_ViewPath = str_ViewPath + str_Signatur + "_" + str_Seite + ".jpg"
    
        REM *------------------------------------------------------------*
        REM * Falls Datei nicht vorhanden, Info anzeigen        *
        REM *------------------------------------------------------------*
        If File.Exists(str_ViewPath) Then
          FormKB2.tx_form2_Info.Text = str_Signatur + "  Lfdnr:  " + str_Lfdnr
          FormKB2.tx_form2_Info.ForeColor = Color.DarkGreen
          FormKB2.tx_form2_Info.Enabled = False
          FormKB2.AutoSize = True
          FormKB2.pic_Seite.Image = Image.FromFile(str_ViewPath)
          FormKB2.Show()
        Else
          MessageBox.Show("Kein Bild vorhanden" + str_ViewPath, "NM_View", MessageBoxButtons.OK)
        End If
    
    Vielen Dank für Eure Hinweise.
    Norbert Mende
    Mittwoch, 17. November 2010 11:35

Antworten

  • Hallo zusammen,

    Eure Vermutung mit der dem INI-Eintrag war richtig. Bei meiner händischen INI war alles korrekt, bei der INI, die per Setup eingerichtet wurde und den Verweis auf das Arbeitsverzeichnis sicherstellen sollte, war zusätzlich ein "=" eingefügt, sodaß es bei der Soruce-Angabe zu einem Fehler kam.

    Herzlichen Dank für Eure Bemühungen

    Gruß Norbert

    • Als Antwort markiert Norbert Mende Freitag, 19. November 2010 06:24
    Freitag, 19. November 2010 06:23

Alle Antworten

  • Hallo Norbert,
    Ist die Software allerdings auf einem anderen Rechner installiert. wird die programmgesteuerte Fehlermeldung ausgegeben, obwohl Pfad und Datei stimmen.

    bist Du dir ganz sicher, dass der Pfad stimmt? Ich glaubs nämlich nicht. Lass dir den absoluten Pfad (also bspw. X:\Ordner\Xyz.jpg) mal ausgeben.

    Ansonsten könnte es noch an fehlenden Berechtigungen liegen. In dem Fall gibt File.Exists... u.U. auch False zurück.

     


    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET
    http://www.asp-solutions.de/ - Consulting, Development
    http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community
    Mittwoch, 17. November 2010 12:42
    Moderator
  • Der kpl. Pfad wird in der MessageBox ausgegeben und passt. Der Rechner hat alle Rechte.

    ? Daran kann es m.E. nicht liegen. Muss ich denn explizit noch Rechte mitgeben beim Zugriff?

     

    Gruß Norbert

    Mittwoch, 17. November 2010 12:48
  • Hallo Norbert,

    wenn Du unter dem gleichen User wie Dein Programm läuft aus dem Explorer heraus die Datei öffnen kannst dann liegt es nicht an den Rechten. Ich tippe da wie Stefan darauf, dass der Pfad falsch ist ( eventuell doppelte "\" etc.)

     


    Hannes

    If you have got questions about this, just ask.
    Mark the thread as answered if the answer helps you. This helps others who have the same problem !
    C# to VB.NET: http://www.developerfusion.com/tools/convert/csharp-to-vb/
    Mittwoch, 17. November 2010 13:10
  • Hallo Hannes,

    dann dürfte es in der Entwicklungsumgebung auch nicht funktionieren. Hier sind die Verzeichnis und Strukturen identisch. Aus der INI-Datei wird der Pfad gelesen. Und die Fehleranzeige zeigt genau den Pfad und die Datei an, die ich über den Explorer nutzen kann.

    Gruß Norbert

    Mittwoch, 17. November 2010 13:16
  • Hallo Norbert

    dann dürfte es in der Entwicklungsumgebung auch nicht funktionieren. Hier sind die Verzeichnis und Strukturen identisch. Aus der INI-Datei wird der Pfad gelesen. Und die Fehleranzeige zeigt genau den Pfad und die Datei an, die ich über den Explorer nutzen kann.

    in der Entwicklungsumgebung arbeitest Du aber auch als Admin. Der Benutzer auf dem anderen Rechner wird eher kein Admin sein, oder?

    Poste doch mal bitte den genauen Pfad, wie er auf dem Zielrechner (auf dem es nicht funktioniert) ausgegeben wird.

     


    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET
    http://www.asp-solutions.de/ - Consulting, Development
    http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community
    Mittwoch, 17. November 2010 13:27
    Moderator
  • Hallo Norbert,

    Funktioniert problemlos in der Entwicklungsumgebung. Ist die Software allerdings auf einem anderen Rechner installiert. wird die programmgesteuerte Fehlermeldung ausgegeben, obwohl Pfad und Datei stimmen.

    handelt es sich dabei vielleicht um einen Netzwerkpfad?



    Thorsten Dörfler
    Microsoft MVP Visual Basic
    vb-faq.de
    Mittwoch, 17. November 2010 13:30
    Moderator
  • Hallo zusammen,

    ich habe noch einmal alles geprüft, der Fehler taucht nur auf dem Zielrechner auf (3 verschiedene schon probiert). Es sind alles lokale Rechner und keine Netzwerklaufwerke. In der Fehlermeldung wird der Pfad und die Datei ausgegeben. Hier sind keine doppelten Backslahs oder ähnliches, ist alles OK.

    Lösung ?

    Gruß Norbert

    Donnerstag, 18. November 2010 06:19
  • ich habe noch einmal alles geprüft, der Fehler taucht nur auf dem Zielrechner auf (3 verschiedene schon probiert). Es sind alles lokale Rechner und keine Netzwerklaufwerke. In der Fehlermeldung wird der Pfad und die Datei ausgegeben. Hier sind keine doppelten Backslahs oder ähnliches, ist alles OK.

    Da Du ein mit deinen Access DB Pfaden ja ein ähnliches Problem hast, prüf mal bitte, ob der String nicht evtl. \0, Zeilenumbruch, Tabzeichen, ... enthält. Also etwas, was Du ggfs. zwar nicht bei der Ausgabe siehst aber dennoch vorhanden ist.

    Wenn alles passt, sind es die Berechtigungen.

    Da Du den genauen Pfad, wie er auf dem Client ermittelt wird, ja leider nicht posten willst, kann man ansonsten nicht weiterhelfen.

     


    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET
    http://www.asp-solutions.de/ - Consulting, Development
    http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community
    Donnerstag, 18. November 2010 07:39
    Moderator
  • Hallo zusammen,

    Eure Vermutung mit der dem INI-Eintrag war richtig. Bei meiner händischen INI war alles korrekt, bei der INI, die per Setup eingerichtet wurde und den Verweis auf das Arbeitsverzeichnis sicherstellen sollte, war zusätzlich ein "=" eingefügt, sodaß es bei der Soruce-Angabe zu einem Fehler kam.

    Herzlichen Dank für Eure Bemühungen

    Gruß Norbert

    • Als Antwort markiert Norbert Mende Freitag, 19. November 2010 06:24
    Freitag, 19. November 2010 06:23
  • Hallo Norbert,

    da dein Posting ja nicht die Antwort beinhaltet, sondern nur die Erklärung, wäre es prima, wenn Du das/die Posting(s) als Antwort markieren könntest, die dich zur Lösung gebracht haben.

     


    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET
    http://www.asp-solutions.de/ - Consulting, Development
    http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community
    Freitag, 19. November 2010 07:25
    Moderator