Seite 1 von 1

Invalid Memoryaccess bei Procedureaufruf

Verfasst: 04.05.2006 22:25
von Franky
Hi Leute, schriftliches Abi um, jetzt hab ich ma kurz 2 Tage zeit für PGS und auch gleich ein Problem

Code: Alles auswählen

Procedure FillMemoryL(wert.l,*address.LONG,copylength.l)
!CLD 
!MOV edi,[Esp+4] 
!MOV Eax,[Esp] 
!MOV Ecx,[Esp+8] 
!SHR Ecx,2 
!REP STOSD 
EndProcedure
Global Dim Picture.l(maxwerthoch,maxwertlang)
k.l=255
*wert2.LONG=picture(0,0)
wert3.l=(maxwerthoch+1)*(maxwertlang+1)*4                              
FillMemoryL(255,picture(0,0),(maxwerthoch+1)*(maxwertlang+1)*4)
Der Invalid Memoryaccess (IMA) wird mir in der Letzten Zeile angezeigt.
Wie kann es denn bitte zu einem IMA kommen, wenn ich ne procedure aufrufe. Das kann doch eigentlich nur an PB liegen oder überseh ich mal wieder was?
Das das Problem nicht bei den Parametern auftritt, prüf ich ja vorher.

Edit: Der Auszug, wie er oben zu sehen ist scheint ja mal wieder zu klappen. Also is es MAL WIEDER ein Problem, das durch die Programmgröße sich irgendwo versteckt. PB is für Großprogramme scheinbar nich wirklich geschaffen. Mist /:->

Verfasst: 04.05.2006 22:54
von MVXA
versuch mal statt esp+... p.v_wert p.p_addresse...