...why would this problem occur only in the new version?
Because the author of the dll (you're talking about rebar.dll, aren't you?) has coded an internal $version check. If the dll finds that the version is anything other 6.1, 6.11, 6.12, 6.13 or 6.14, it won't work. Apart from this check though, there is no other reason for it not to work with the new version. So, the fix is relatively simple: one can edit the source code included in rebar.dll package, changing "6.11" to "6.15", and recompile. Alternatively, one can hex edit the binary and change 6.11 to 6.15. Here's an alias that does the latter:
[color:green]; Usage: /patchrebar <full path of rebar.dll>, eg /patchrebar C:\mirc\someaddon\rebar.dll
; Creates a modified version of rebar.dll, named rebar615.dll, which works with mirc 6.15.[/color]
patchrebar {
var %f = $iif($nopath($1-) == rebar.dll && $isfile($1-),$shortfn($1-),$findfile($mircdir,rebar.dll,1).shortfn)
if !%f { echo -iec info /patchrebar: invalid filename. Please supply the full path to rebar.dll. | return }
bread %f 0 $file(%f) &a
if $bfind(&a,1,6.11) {
bset -t &a $ifmatch 6.15
bwrite $puttok(%f,rebar615.dll,-1,92) 0 -1 &a
echo -iec info2 /patchrebar: created file 'rebar615.dll' in $+(',$longfn($nofile(%f)),')
}
else echo -iec info /patchrebar: invalid or corrupted file $+(',$longfn(%f),')
}
You can then close down mirc, delete rebar.dll, rename rebar615.dll to rebar.dll and re-open mirc. Everything should work again.