Zumindest crasht der nachfolgende Code (compiliert ohne UniCode)
Code: Alles auswählen
Prototype idna_decode(a, b, c, d, e, f)
Prototype idna_encode(a, b, c, d, e, f)
Global idna_decode.idna_decode
Global idna_encode.idna_encode
Procedure.i idna_LoadDLL()
Protected hDLL.i
hDLL = OpenLibrary(#PB_Any, "idna.dll")
If hDLL <> 0
idna_decode = GetFunction(hDLL, "decode")
idna_encode = GetFunction(hDLL, "encode")
ProcedureReturn hDLL
EndIf
ProcedureReturn #False
EndProcedure
Define.s dummy.s = "email@café.org"
Define.i mem
Procedure MakeUnicode(original.s, *converted.String)
*converted\s=Space(2*Len(original.s))
MultiByteToWideChar_(#CP_ACP,0,@original,Len(original),@*converted\s,Len(*converted\s))
ProcedureReturn
EndProcedure
converted.String
MakeUnicode(dummy, @converted)
If idna_LoadDLL()
idna_encode(0, 0, @converted, 0, 0, 0)
MessageRequester( "IDNA Encoded", PeekS(@converted))
Else
MessageRequester( "Error", "idna.dll not found" )
EndIf