Office: (Office 2016) Bilddaten aus Speicher direkt ins Image control laden

Helfe beim Thema Bilddaten aus Speicher direkt ins Image control laden in Microsoft Access Hilfe um das Problem gemeinsam zu lösen; Hallo daolix, sooo schön kurz :-), doch Access stürzt leider ohne Meldung ab in der vierten CopyMemory-Zeile CopyMemory VarPtr(B(55)),... Dieses Thema im Forum "Microsoft Access Hilfe" wurde erstellt von Frank200, 8. Dezember 2020.

  1. Bilddaten aus Speicher direkt ins Image control laden


    Hallo daolix,

    sooo schön kurz :-), doch Access stürzt leider ohne Meldung ab in der vierten CopyMemory-Zeile
    CopyMemory VarPtr(B(55)), VarPtr(BmpData(0, 0)), InfoHead.biSizeImage

    Ist die Deklaration von B als Variant richtig?

    Code:
     
  2. Ergänzung:
    InfoHead.biSizeImage = 107956
    UBound(BmpData,1) = 547
    UBound(BmpData,2) = 196
     
  3. nö. Weg damit
     
  4. Bilddaten aus Speicher direkt ins Image control laden

    ok, entfernt. Doch es bleibt dabei, daß Access beim letzten CopyMemory abstürzt.
     
  5. Dann weis ich nicht. Kann ich nicht bestätigen. Wenn ich die Zeilen in deine ganz oben genannten Funktion einsetze stürtzt da nix ab.
     
  6. Habe jetzt das probiert und den FileHeader weggelassen:
    Da kommt beim letzten CopyMemory ein "Index außerhalb des gültigen Bereiches"

    Code:
    Ist es richtig, daß Len(FileHead) trotzdem in die Dimensionierung von B() eingerechnet werden muß und InfoHead beginnend ab B(15) eingeschrieben wird?
     


  7. ReDim B(1 To Len(InfoHead) + (InfoHead.biSizeImage)) As Byte
    CopyMemory VarPtr(B(1)), VarPtr(InfoHead), 40
    CopyMemory VarPtr(B(41)), VarPtr(BmpData(0,0)), InfoHead.biSizeImage

    Forms!CO2!Bild2.PictureData = B()
     
  8. Bilddaten aus Speicher direkt ins Image control laden

    weiterhin "Index außerhalb des gültigen Bereiches" bei
    CopyMemory VarPtr(B(41)), VarPtr(BmpData(0, 0)), InfoHead.biSizeImage

    Ich habe das Gefühl, zu kompliziert zu denken und das Einfache zu übersehen ... :-)
    Hatte zwischendurch mit dem 1-dimensionalem Array buff2() probiert, hat aber das gleiche Ergebnis.
     
  9. frag sich nur welches der beiden Arrays (b() oder BmpData()) jetzt ausserhalb des gültigen bereichs angesprochen wird. vor nen Copymem check mal L- & Ubound der arrays.
     
  10. Gute Frage! Es liegt an B()
    Nach der ReDim-Anweisung stimmen LBound(B) und UBound(B).
    Frage ich die jedoch nach dem ersten CopyMemory wieder ab, erhalte ich die Fehlermeldung wegen ungültigem Index
     
  11. lol
    Ich vermute mal die Deklaration für CopyMemory ist bei dir ne andere als bei mir.

    entweder
    CopyMemory Byval VarPtr(B(1)), Byval VarPtr(FileHead.bfType), 2
    CopyMemory Byval VarPtr(B(3)), Byval VarPtr(FileHead.bfSize), 12
    CopyMemory Byval VarPtr(B(15)), Byval VarPtr(InfoHead), 40
    CopyMemory Byval VarPtr(B(55)), Byval VarPtr(BmpData(0, 0)), InfoHead.biSizeImage

    oder nimm alle varptr's samt den umschliessenden Klammern aus den entsprechenden Zeilen.
     
  12. Hallo daolix,

    Das wars! Vielen herzlichen Dank! Das ist wie ein Weihnachtsgeschenk :-)
    Mit den ByVals funktioniert es.

    In der ersten Zeile nimmt er InfoHead ohne alles an (ohne ByVal also ByRel, und ohne Pointerverweise VarPtr().
    In der zweiten Zeile kann BmpData nur mit ByVal und VarPtr() übergeben werden. Alles andere crasht.
    B() erfordert immer ByVal und VarPtr().
    Code:
    Auf was für einem System hast Du getestet? Ich überlege, vorsichthalber für die Weitergabe der accde an die User (von Access 2013 an aufwärts) das ByVal und das VarPtr() bei InfoHead zu belassen. Was denkst Du?

    Und wie Du sicherlich schon bemerkt hast, habe ich tatsächlich schon ohne den FileHeader getestet und es läuft.
    Hier erlaube bitte noch eine Frage für mein Verständnis:
    Ich wundere mich daß es in der Form ohne FileHeader läuft und die InfoHead-Daten beginnend ab B(1) gespeichert werden und nicht wie im anderen Fall beginnend ab B(15). Ist es nicht so, daß in B() nur die Werte gespeichert werden, aber nicht die Namen der Variablen, aus denen sie kommen?
    Woher weiß also der nächste Schritt, wo welche Daten in B() liegen?

    Nochmals vielen vielen Dank!
     
Thema:

Bilddaten aus Speicher direkt ins Image control laden

Die Seite wird geladen...
  1. Bilddaten aus Speicher direkt ins Image control laden - Similar Threads - Bilddaten Speicher Image

  2. Dropdown Auswahl -> anderer Wert Speichern

    in Microsoft Excel Hilfe
    Dropdown Auswahl -> anderer Wert Speichern: Hallo, ich habe folgende Tabelle: siehe Anhang. Ich möchte das mir beim Dropdown der Wert der Tabelle links angezeigt bekommt, aber der Wert Rechts in das Feld gespeichert wird. habe auf meiner...
  3. Werte per VBA automatisch übertragen und fortlaufend speichern

    in Microsoft Excel Hilfe
    Werte per VBA automatisch übertragen und fortlaufend speichern: Moin, ich habe da mal eine bitte: wie kann ich diesen Code dazu bringen von einer bestimmten Datei automatische Werte in eine andere Datei kopiert? Ich kann zwar die Werte in derselben Tabelle...
  4. MS Office 2021

    in Microsoft Outlook Hilfe
    MS Office 2021: Hallo, ich möchte alle .xml Anhänge in einem Ordner automatisch speichern mit einem Skript. Habe aber keine Ahnung wie das geht. Kann mir bitte jamand halfen?
  5. Speichern mit dem Titel der Zelle A2

    in Microsoft Excel Hilfe
    Speichern mit dem Titel der Zelle A2: Moin moin, Ich habe per Makro einen Arbeitsablauf aufgezeichnet der soweit auch funktioniert. Dieser Endet jedoch im "Speichern Unter" Fenster, welches durch das Klicken von "Drucken als PDF"...
  6. Formular nur Daten speichern

    in Microsoft Word Hilfe
    Formular nur Daten speichern: Ich versuche aus einem Formular mit Inhaltssteuerelementen ausschließlich die Daten zu speichern. Die Option in "Erweitert" in "Genauigkeit beim Freigeben" habe ich die Option "Formulardaten als...
  7. Bei speichern von Word als PDF keine Kommentare

    in Microsoft Word Hilfe
    Bei speichern von Word als PDF keine Kommentare: Liebe Kundige, als Lektorin bearbeite ich Buchmanskripte in Word und speichere die Bearbeitung mit sichtbaren Änderungen und Kommentaren als PDF. In letzter Zeit sind dann aber im PDF die...
  8. Excel VBA - Code Hilfe (Spalten, Werte kopieren etc.)

    in Microsoft Excel Hilfe
    Excel VBA - Code Hilfe (Spalten, Werte kopieren etc.): Hallo, ich benötige Hilfe für ein Problem, welches ich leider selbst schwerlich als Anfänger nicht lösen kann: Ich möchte von dem Tabellenblatt "Tabelle1" aus den Zellen B8:B14, K8:K14, B18:B25,...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden