Announcement

Collapse
No announcement yet.

Schutzverletzung beim laden eines Bildes

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

  • Schutzverletzung beim laden eines Bildes

    Hallo,

    ich habe ei jpg-bild, wenn ich das in ein timage laden möchte kommt ne schutzverletzung! nun wollte ich das ganze abfangen mit folgendem code:

    <pre>
    type
    EBildError = class(Exception);
    ....

    procedure TForm1.Button1Click(Sender: TObject);
    begin
    OpenDialog1.InitialDir := ExtractFilePath(Application.ExeName);
    if OpenDialog1.Execute then
    begin
    try
    image1.Picture.LoadFromFile(OpenDialog1.FileName);
    except
    raise EBildError.create('Bild kann leider nicht angezeigt werden!');
    end;
    end;
    end;
    </pre>

    aber das ist hilft nix, schutzverletzung kommt trotzdem!!!
    GraphicEx ist in der uses-klausel!

    weiß jemand rat?
    das jpg kann im Microsoft-Photo-Editor dargestellt werden, nur in der timage-kompo nicht!

    Gruß

    Markus
    Herzliche Grüße

    Markus Lemcke
    barrierefreies Webdesign

  • #2
    wenn ich weder jpeg noch GraphixEx in der Uses-Klausel habe,
    dann kommt meine Fehlermeldung! wenn einer der beiden in der Uses-Klausel kommt die Schutzverletzung und nicht meine Fehlermeldung
    Herzliche Grüße

    Markus Lemcke
    barrierefreies Webdesign

    Comment


    • #3
      wenn ich das jpg mit dem microsoft Photo-Editor öffne und dann unverändert speichere, kann das bild geladen werden in die image-komponente
      Herzliche Grüße

      Markus Lemcke
      barrierefreies Webdesign

      Comment


      • #4
        1. Es gibt ein paar Jpeg bilder, die die GraficEx nicht lesen kann, liegt am Format, wie die Bilder gespeichert sind, deshalb funktioniert auch ein neu speichern. In einem Jpeg bild können nämlich verschiedene Algorithmen zum speichern benutzt werden.

        2. Try...except blöcke nutzen zur Debug Zeit bei der GraficEx nichts, diese funktionieren nur wärend der normalen Laufzeit

        Comment


        • #5
          habe es nun so gemacht:
          <pre>
          procedure TMainForm.HandleExceptions(Sender: TObject; E: Exception);
          var
          ErrMsg : string;
          ErrIni : TIniFile;
          begin
          ErrMsg := E.Message;
          if KatFormActive then
          if Pos('Zugriffsverletzung bei Adresse ', E.Message) > 0 then
          begin
          ShowMessage('Bild kann nicht angezeigt werden!');
          Exit;
          end;
          end;

          ...

          {Exception-Handler installieren}
          Application.OnException := HandleExceptions;
          </pre>

          das funzt!

          Gruß

          Marku
          Herzliche Grüße

          Markus Lemcke
          barrierefreies Webdesign

          Comment

          Working...
          X