in the VB lib, which calls functions in 32bits DLL, there are something I am 
not very sure

1\. many arguments are declared as LONG in the VB files. I found that LONG is 
signed 64-bit integers on 
[https://docs.microsoft.com/en-us/dotnet/visual-basic/language-reference/data-types/long-data-type](https://docs.microsoft.com/en-us/dotnet/visual-basic/language-reference/data-types/long-data-type)
 . But var a:int64 can't be compiled with nim 32bits

So, what can we use in nim to replace the long in VB?

2\. in the VB version, strings are wrapped by a function 
    
    
    Private Function L(data As String) As String
    L = StrConv(data, vbUnicode)
    End Function
    
    hBtn = XBtn_Create(8, 30, 100, 20, L("button"), hWindow)
    
    
    Run

How can we represented this convertor in nim? When I use string directly, the 
displayed characters are not what I expected. I also tried +$(string) in 
winimwinstr.nim, but the displayed character is wrong too.

3\. in the VB version, an argument is the address of function 
    
    
    Public Function OnClick(ByRef bHandle As Long) As Long
        bHandle = True
        OnClick = 0
    End Function
    
    
    XEle_RegEventC hBtn, XE_BNCLICK, AddressOf OnClick
    
    
    Run

how can we do that in nim?

Thanks

Reply via email to