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. Jede Änderung nach dem speichern in die Info-tabelle schreiben

    in Microsoft Excel Hilfe
    Jede Änderung nach dem speichern in die Info-tabelle schreiben: Guten Tag, ich suche eine Möglichkeit eine Änderung / Neuaufnahme eines Datensatzes nachdem ich die Übergabe / Beendigung der Speicherung abgeschlossen habe, erst dann in die Tabelle "Info" zu...
  3. Arbeitsmappe automatisch speichern und schließen nach Zeit x

    in Microsoft Excel Hilfe
    Arbeitsmappe automatisch speichern und schließen nach Zeit x: Guten Tag, Ich habe folgendes Problem: Ich führe eine Excel Liste, auf die verschiedene Büros Zugriff haben und diese bearbeiten. Nun brauche ein ein Makro, bei dem die Liste nach einer Zeit x...
  4. Office 2019 - Menüband speichern wie?

    in Microsoft Outlook Hilfe
    Office 2019 - Menüband speichern wie?: hallo ich weiß nicth ob dass der richtige Pfad ist ich möchte ja mein Menüband speichern wenn ich dann office 365 von amazon kaufe um 50 € weil ich so eine blöde falsche Lizenz habe die nicht geht...
  5. Dateifehler beim Speichern

    in Microsoft Word Hilfe
    Dateifehler beim Speichern: Hallo zusammen, aktuell habe ich eine Datei, die ich zwar bearbeiten, aber nicht mehr speichern kann. Jedes Mal, wenn ich sie speichern möchte, erhalte ich diese Fehlermeldung [ATTACH] Das...
  6. VBA Editor - Hilfe benötigt - Speichern, nur wenn Felder gefüllt

    in Microsoft Excel Hilfe
    VBA Editor - Hilfe benötigt - Speichern, nur wenn Felder gefüllt: Hallo liebes Forum, habe schon etwas rumprobiert - komme aber leider nicht mehr weiter mit VBA (Anfänger): Ich habe folgende Aufgabenstellung: Spalte A (Artikel) bekommt Werte eingepflegt Spalte...
  7. aktuelles Tabellenblatt als pdf speichern

    in Microsoft Excel Hilfe
    aktuelles Tabellenblatt als pdf speichern: Hallo zusammen Ich möchte gerne mit Hilfe eines Buttons das jeweils aktuelle Tabellenblatt, auf dem der Button angebracht ist, als pdf speichern. Dabei soll der Speicherort immer neu gewählt...
  8. Benutzerdefinierte Farben in Excel speichern

    in Microsoft Excel Hilfe
    Benutzerdefinierte Farben in Excel speichern: Hallo, ich arbeite gerade an einem größeren Projekt in Excel und habe jetzt auch ein paar Diagramme erstellt. Die Diagrammfarben sollen möglichst in allen Diagrammen gleich sein, allerdings...
  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