CopyMemory kopiert nicht!

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
Velindos
Beiträge: 598
Registriert: 15.11.2010 10:56

CopyMemory kopiert nicht!

Beitrag von Velindos »

Hallo Leute,
gebe ein Bild in die Memory und wollte die anschliessend kopieren, geht aber nicht!

Code: Alles auswählen

; -----------------------------------------
; CopyMemory kopiert nicht!
; -----------------------------------------
Enumeration
  #InformentForYou
EndEnumeration
Global *ImageMemory
Global *RtgImageMemory
; --------------------- 
CatchImage(#InformentForYou, ?InformentForYou)
; --------------------- 
DataSection
  InformentForYou:
  IncludeBinary "D:\[Pure@API]\[STORE]\BMP\Arduino ButtonBild.bmp"
EndDataSection
; -----------------------------------------
*ImageMemory = EncodeImage(#InformentForYou,#PB_ImagePlugin_BMP)
ImageMemSize = MemorySize(*ImageMemory)
; -----------------------------------------
; *RtgImageMemory = EncodeImage(#InformentForYou,#PB_ImagePlugin_PNG , #PB_Image_FloydSteinberg,24)
; ImageMemSize = MemorySize(*RtgImageMemory)
; -----------------------------------------
; CopyMemory(*ImageMemory,*RtgImageMemory,MemorySize(*ImageMemory))
CopyMemory(*ImageMemory,*RtgImageMemory,@ImageMemSize)
; -----------------------------------------
Debug PeekB(*RtgImageMemory)
; -----------------------------------------
Jemand einen Tip?

Gruss ... Velindos!
Windows 7/8/8.1/10 (32/64-Bit) |Ubuntu 10.4 (64-Bit) |Purebasic 5.71 LTS (32/64-Bit)
Benutzeravatar
Bisonte
Beiträge: 2430
Registriert: 01.04.2007 20:18

Re: CopyMemory kopiert nicht!

Beitrag von Bisonte »

Wenn du die Fehlermeldung gelesen hättest, hättest du vermutlich bemerkt, dass kein Speicher für das Zielbild reserviert wurde.

Vor dem Copymemory() ein :

Code: Alles auswählen

*RtgImageMemory = AllocateMemory(ImageMemSize)
ist in dem Falle angesagt ...
PureBasic 6.10 LTS (Windows x86/x64) | Windows10 Pro x64 | Asus TUF X570 Gaming Plus | R9 5900X | 64GB RAM | GeForce RTX 3080 TI iChill X4 | HAF XF Evo | build by vannicom​​
Benutzeravatar
Velindos
Beiträge: 598
Registriert: 15.11.2010 10:56

Re: CopyMemory kopiert nicht!

Beitrag von Velindos »

Hallo,
Danke für den Tip, sof funzt!

Code: Alles auswählen

; -----------------------------------------
; CopyMemory kopiert nicht!
; -----------------------------------------
Enumeration
  #InformentForYou
EndEnumeration
Global *ImageMemory
Global *RtgImageMemory
; --------------------- 
CatchImage(#InformentForYou, ?InformentForYou)
; --------------------- 
DataSection
  InformentForYou:
  IncludeBinary "D:\[Pure@API]\[STORE]\BMP\Arduino ButtonBild.bmp"
EndDataSection
; -----------------------------------------
*ImageMemory = EncodeImage(#InformentForYou,#PB_ImagePlugin_BMP)
; -----------------------------------------
; *RtgImageMemory = EncodeImage(#InformentForYou,#PB_ImagePlugin_PNG , #PB_Image_FloydSteinberg,24)
; ImageMemSize = MemorySize(*RtgImageMemory)
; -----------------------------------------
; CopyMemory(*ImageMemory,*RtgImageMemory,MemorySize(*ImageMemory))
; ImageMemSize = MemorySize(*ImageMemory)
; -----------------------------------------
*RtgImageMemory = AllocateMemory(MemorySize(*ImageMemory))
CopyMemory(*ImageMemory,*RtgImageMemory,MemorySize(*ImageMemory))
; -----------------------------------------
Debug PeekB(*RtgImageMemory)
; -----------------------------------------
Gruss ... Velindos!
Windows 7/8/8.1/10 (32/64-Bit) |Ubuntu 10.4 (64-Bit) |Purebasic 5.71 LTS (32/64-Bit)
Antworten