Hi Peter,
I don't have your window.h but I checked the functions and they were basically okay with the Oxygen I am working on. I am posting the latest DLL, in case it does not work with your version.
' include "window.h"
'def lila 0xFFC8C8
'def green 0x00FF00
'SetWindow "Overload Function",640,480,ws_overlapped
'SetFont 12,24,0,0
Declare Function Output(sys x, y) as long
Declare Function Output(single d) as single
Declare Function Output(string c) as string
'While WinExit=0
sys a, string s, single f
'cls
a= Output(2, 4) ' is Okay here
print typeof a
print a
'SetText a,32,32,Lila
f= Output(45.0) ' here flops OxygenBasic
print typeof f
print f
'SetText f,32,64,Lila
s= Output("HELLO") ' here fails OxygenBasic
print typeof s
print s
'SetText s,32,96,Green
'DoEvents
'Wend
'WinEnd
Function Output(sys x, y) as long
Return y*x
End Function
Function Output(single d) as single
Return d*pi()/180 '<----removed outer brackets
End Function
Function Output(string c) as string
Return c + " Okay"
End Function
Here is a compact demo of overloaded functions
'overloaded functions in Oxygen
function f(double d) {print "Double " d}
function f(long d) {print "Long " d}
function f(string d) {print "String " d}
f 42.5
f 4
f "Hello"
Charles