Please Help With Testing

Blitz3D Forums/Blitz3D Beginners Area/Please Help With Testing

_PJ_(Posted 2010) [#1]
.

Thanks to all who helped. Seems there was no need to run the app after all (oops!)
Gabriel solved it pretty darned quickly! :)


puki(Posted 2010) [#2]
What is this 'app' and what does it install?


BoneStan(Posted 2010) [#3]
Hi,

The "Import Image" functionality seems to work fine on Win98se. There was no problem with different sizes (width,height). :)


_PJ_(Posted 2010) [#4]
Thanks Bonestan :)


@puki (and anyone who may have concerns regarding unknown download executables):

The setup executable that is downloaded installs the application I need testing.
This application, "LabelStar" is a simple utility designed to help design inlay covers for slimline DVD cases. This purpose isnt really relevant as it's only the importing of image files (to act as as cover art) where the MAV apparently occurs.

It's not a ruse or a virus or anything, I've been on these forums a while now so that should be long enough at least to vouch that I am sincere about my blitz programming.

What is installed:
Heres a complete file breakdown of everything packaged in the installer:

1) Optional Start Menu Folders/Icons and Quicklaunch shortcuts.
2) Software Registry keys containing version information and installer details (Added by installer)
3) Required Libraries (Blitzsys.DLL Printer.DLL)
4) Runtime executable (LabelStar.exe) and icon (LabelStar.ico)
5) Required Media files (UI.png and Carat.bmp)
6) Text files (License information and "Read Me" notes)

During Runtime, (when printing) temporary files are generated within the root install directory of the application itself but these files are erased as soon as they have been finished with (i.e. once printed)

There are no further effects of installation. Also, the program collects or stores no data and utilises no internet capabilities.


_PJ_(Posted 2010) [#5]
Alternatively.. there MAY be an issue with this function....

The only thing I can think that may be a problem is the locked buffers, but as to what the problem is, I really don;t know.

Function RotateImageCorrectly()
	;Subsititute for RotateImage or TFormImage where those functions fail due to floating point issues.
	
	Local X=ImageHeight(PictureHandle)
	Local Y=ImageWidth(PictureHandle)
	
	Local TempImage=CopyImage(PictureHandle)
	ResizeImage PictureHandle,X,Y
	
	Local SourceBuffer=ImageBuffer(TempImage)
	Local DestinationBuffer=ImageBuffer(PictureHandle)
	
	SetBuffer DestinationBuffer
	LockBuffer DestinationBuffer
	LockBuffer SourceBuffer
	
	Local XX,YY
	For XX=0 To X-1
		For YY = 0 To Y-1
			WritePixelFast XX,Y-YY,ReadPixelFast(YY,XX,SourceBuffer),DestinationBuffer
			Next 
	Next 
	
	UnlockBuffer DestinationBuffer
	UnlockBuffer SourceBuffer
	SetBuffer BackBuffer()
	
	FreeImage TempImage
	TempImage=False
	
End Function


During runtime, there is only EVER one PictureHandle image at a time, so it's Global and if it exists, it is Free'd before creation/loading a new one.


Gabriel(Posted 2010) [#6]
Local Y=ImageWidth(PictureHandle)
For YY = 0 To Y-1
   WritePixelFast XX,Y-YY,ReadPixelFast(YY,XX,SourceBuffer),DestinationBuffer
Next 

Isn't this going to write one pixel outside of the image dimensions when YY is 0? Typically, the readable/writeable area of an image is 0 to height-1, but you're inverting it here to work up the screen instead of down. So the loop should be

For YY = 1 to Y


Shouldn't it?


_PJ_(Posted 2010) [#7]
Wow!

How could I miss that?!

Thanks a million, Gabriel ;) That was it after all!

Even in Debug Mode, WritePixelFast wont give a verbose error message, just the MAV.

This has been causing me grief for the last couple of days, I really can;t thank you enough!