[Blitzmax NG] can't compile using brl.freeaudioaudio

Started by fielder, March 14, 2018, 11:05:58

Previous topic - Next topic

fielder

i tried to compile (Win 64bit build) just this:

Strict
Framework  brl.freeaudioaudio

and i receive this:

---------------------------
MaxIDE 1.44 beta [ng]
---------------------------
Compile Error

Overriding method does not match any overridden method. (Detail: Return type is "Void", expected "Int".)
---------------------------
OK   
---------------------------


the freeaudioaudio.bmx method is:
Method Stop()
fa_StopChannel fa_channel
fa_channel=0
End Method


i downloaded Bmax modules from Github (latest versions)

i tried to do some math .. an read/write files form my BlitzmaxNg.. using a notify  .. and compilation goes right.. no issues with simple tests.


Holzchopf

What's the overwritten methods return type (the Stop method in the Extends type)? Is the base type in the same file? If not, is strict on in both? I'm surprised it says return type is "Void", I thought in non-strict mode "no return type specification" equals "Int" and in strict "no return type specification" equals "Compiler telling you it won't compile your untidy code". From the Compile Error I'd guess, your problem should be solved when you replace the Stop method by Method Stop:Int()
fa_StopChannel fa_channel
fa_channel=0
Return 0
End Method


Not 100% sure tho.

markcwm

If the error is about overriding types it should be ignored by enabling the overload warning option -w in bmk command line.

Brucey

Method Stop() is correct.

The brl.audio module is now superstrict and is also without a a return type for Stop().

If you have an error with this, you don't have the latest modules.

The latest release ( https://github.com/bmx-ng/bmx-ng/releases - released yesterday) was clean-building - I really need some kind of CI going on, as it takes ages to get everything together and tested for a release... ho hum.


Derron

git hooks.

You could add hooks returning back to some kind of home-server-ip. So if you commit something to bmx-ng/brl.mod or pub.mod ... then it triggers "bruceyHomeIP.to.us/service.php" which rebuilds the whole thing and then renews a somehwere located "bmx-ng.dev.win32.7z".
As cross-compilation is a bit tricky I assume your building slave needs to be your old mac mini you put into your cellar cave :p

And once you put that building slave up, you add a "derron.php" too, so it fetches my stuff and does the same for my stuff.


bye
Ron

fielder

Quote from: Brucey on March 14, 2018, 19:19:56
Method Stop() is correct.

The brl.audio module is now superstrict and is also without a a return type for Stop().

If you have an error with this, you don't have the latest modules.

The latest release ( https://github.com/bmx-ng/bmx-ng/releases - released yesterday) was clean-building - I really need some kind of CI going on, as it takes ages to get everything together and tested for a release... ho hum.
oh!! very tahnk you brucey!!! probably i was using some (old) fork on GITHUB....

well... now i 've found another issue.. but probably can't be resolved because this is a Win32 feature.

compiling "commdlg.bmx" on PUB.MOD - Win32.mod

i receive this:
---------------------------
MaxIDE 1.44 beta [ng]
---------------------------
Compile Error

Unable to convert from Byte Array to Int.
---------------------------


the method is:

Method Driver$()
Local strptr:Byte Ptr = Varptr( buf ) + PeekShort( bank, 1 )
'Print Int(buf)
'Print Varptr buf
'Print Int(strptr)
Return String.FromCString( strptr )
End Method




Brucey

I don't appear to have that "Driver()" method in my NG commdlg.bmx.

I'm not sure what bits of things you are trying to build, but it seems that your files are not all up-to-date, or you are mixing stuff from different versions, or ... ?

fielder

very strange.. i've just downloaded sources from https://github.com/bmx-ng/bmx-ng/releases

[EDIT]ops.. sorry.. just found that the error was from its.printing module!!!!
https://sourceforge.net/projects/itsprinting/
[/EDIT]