GrahameKing Apr 26, 2006
calldll #...._ .... ..... ret as boolean if ret = 0 then notice "Error...."+ErrorMessageFromAPI$()[[code]]
function ErrorMessageFromAPI$() calldll #kernel32, "GetLastError", _ ErrorCode as ulong dwFlags = _FORMAT_MESSAGE_FROM_SYSTEM nSize = 1024 lpBuffer$ = space$(nSize); chr$(0) dwMessageID = ErrorCode calldll #kernel32, "FormatMessageA", _ dwFlags as ulong, _ lpSource as ulong, _ dwMessageID as ulong, _ dwLanguageID as ulong, _ lpBuffer$ as ptr, _ nSize as ulong, _ Arguments as ulong, _ result as ulong ErrorMessageFromAPI$ = "Error ";ErrorCode;": "; left$(lpBuffer$, result) end function
example usage:
.............
function ErrorMessageFromAPI$() calldll #kernel32, "GetLastError", _ ErrorCode as ulong dwFlags = _FORMAT_MESSAGE_FROM_SYSTEM nSize = 1024 lpBuffer$ = space$(nSize); chr$(0) dwMessageID = ErrorCode calldll #kernel32, "FormatMessageA", _ dwFlags as ulong, _ lpSource as ulong, _ dwMessageID as ulong, _ dwLanguageID as ulong, _ lpBuffer$ as ptr, _ nSize as ulong, _ Arguments as ulong, _ result as ulong ErrorMessageFromAPI$ = "Error ";ErrorCode;": "; left$(lpBuffer$, result) end function