Code: Select all
Global my_lib.l
my_lib=OpenLibrary(#PB_Any, "version.dll")
Debug Str(my_lib)+" = $"+Hex(my_lib)
If my_lib = 0:End:EndIf
GetFunction(my_lib,"GetFileVersionInfoA")
Works with PB6.00 x64, crashes with PB6.10 x64.
The reason is the OpenLibrary actually returns a 64 bit value (>$FFFFFFFF) now. If you change my_lib.l to my_lib.i it works.
It is maybe better to use .i but many older programs have 32 bit variables when storing numbers returned by using #PB_Any.
Maybe it can be fixed to use 32 bit numbers only, as it was before?
Or is needs to be documented which functions now need a 64 bit storage for their Gadget/Image/Window/Whatever-Number.
Best regards,
Manu