Hey Doobrey, would you mind releasing some kind of 'skeleton' for a
winamp plugin once you're done?
Would be cool.
Inner:
I had a look at your VB translation, and as I see it, you converted all
Byte types to '.w'. Why that? Should be '.b', shouldn't it?
With '.w', the structure sizes don't match to those in the dll, and you will
only get nonsense back/to the dll, which can lead to crashes.
Also here: (GflLib.pb, line 229)
"Extension.b[16]" is wrong. You need 16 Strings of 8 byte length.
Do "Extension.b[128]". Just make sure, you peek out the right string
when reading it, remember there are 16 of them in there.
Another big mistake is hidden in GflLibExt.pb line 54:
"StretchDIBits" is not a function out of this library, it is out of the windows
GDI library, so it is simply a WinAPI command.
must look like this:
StretchDIBits_(hdc,x,y,dx,dy,SrcX,SrcY,wSrcWidth,wSrcHeight,lpBits,lpBitsInfo,wUsage,dwRop)
Little pointer thing:
in line 170 you call "*DibInfo.BITMAPINFO=extGetDIBFromBitmap(BITMAP)"
'BITMAP' doesn not exist, so I assume, it must be '*bmp' which is the
pointer that was originaly past to this function:
*DibInfo.BITMAPINFO=extGetDIBFromBitmap(*bmp)
Also, in example.pb line 53, you call a function with *GflBitmap as a
parameter, but everywhere else, it is only 'GflBitmap' so remove the *
or you have a NULL pointer there.
Ok, now there are no crashes anymore, when executing, but the window
remains empty here. Dunno why.
Maybe you can go on from this point, I don't like to look through
everything to find out, what each command is supposed to do, in order
to find out what's wrong. Maybe you can do that faster.
Here are the files with the updates i've made:
http://freak.purearea.net/stuff/GFL.zip
Hope it helps...
Timo