AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Rave Zugriffsverletztung bei übergabe von Bitmap
Thema durchsuchen
Ansicht
Themen-Optionen

Rave Zugriffsverletztung bei übergabe von Bitmap

Ein Thema von TUX_der_Pinguin · begonnen am 12. Apr 2010 · letzter Beitrag vom 13. Apr 2010
Antwort Antwort
TUX_der_Pinguin

Registriert seit: 1. Jun 2005
Ort: Anholt (NRW)
609 Beiträge
 
Delphi 11 Alexandria
 
#1

Re: Rave Zugriffsverletztung bei übergabe von Bitmap

  Alt 13. Apr 2010, 08:10
So ich habe eine Lösung gefunden wie ich das Problem mit Rave 7.6.2 umschiffen kann. Merkwürdigerweise kommt der
Report damit klar wenn die Grafiken eine Auflösung haben von 531 x 189 Pixel was dem Grafik Objekt im Report
entspricht, das Objekt hat dort eine Größe von 45 x 16 mm. Und Grafiken die nicht in diese Auflösung passen
können nicht korrekt an den Report übergeben werden und so erscheint eine Zugriffsverletzung.

In der folgenden Lösung erstelle ich ein leeres Bitmap mit den "richten" Werten und kopiere einfach die Grafik
auf dieses Bitmap und das schicke ich zum Report und dann läuft es.

Delphi-Quellcode:
  //'Unterschrift' Datei...
  if Assigned(imgSignature.Picture.Graphic) then begin

    MemStream := TMemoryStream.Create;
    try
      Bitmap := TBitmap.Create;
      try
        try
          //Bitmap erzeugen mit der entsprechenden Größe (45x16 mm)
          Bitmap.PixelFormat := pf32bit;
          Bitmap.Height := 189;
          Bitmap.Width := 531;

          //Unterschrift Grafik auf Bitmap Zeichnen
          Bitmap.Canvas.StretchDraw(Rect(0,0,Bitmap.Width, Bitmap.Height), imgSignature.Picture.Graphic);

          //Unterschrift in Speicher kopieren
          Bitmap.SaveToStream(MemStream);

          //'Unterschrift' an Report übergeben
          Connection.WriteStrData('', '');
          Connection.WriteBlobData(MemStream.Memory^, MemStream.Size);
        except
          on E: Exception do ShowMessage(E.Message);
        end;
      finally
        Bitmap.Free;
      end;
    finally
      MemStream.Free;
    end;

  end
  else begin
    //'Unterschrift'
    Connection.WriteStrData(cmbSignature.Text, '');
    Connection.WriteBlobData(nil^, 0);
  end;{else}
Ich hoffe das das jetzt alle Bugs waren im Rave Report System.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:07 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz