Hi,
I've spent the entire afternoon tracking down a problem whereby some of my DLL code worked fine in Debug mode, but not in Release mode. 2 minutes ago, after deciding to call it a day, I noticed that some of the DLL function pointers had "win32" after them, and some didn't. For example,
Global DrawThemeText( hTheme%, hDC%, iPartID%, iStateID%, pszText$w, iCharCount%, dwTextFlags%, dwTextFlags2%, pRect:Int Ptr ) "win32" = GetProcAddress(libUXTheme, "DrawThemeText")
Global GetThemeBackgroundContentRect( hTheme%, hdc%, iPartId%, iStateId%, pBoundingRect:Int Ptr, pContentRect:Int Ptr ) "win32" = GetProcAddress(libUXTheme, "GetThemeBackgroundContentRect")
Global IsThemeBackgroundPartiallyTransparent( hTheme%, iPartId%, iStateId% ) = GetProcAddress(libUXTheme, "IsThemeBackgroundPartiallyTransparent") As I'm interfacing with the Windows API, I added "win32" to the remaining function pointers, hit compile, and everything worked brilliantly.
What the hell does "win32" actually do? I can't see it documented anywhere, but it's just wasted several hours of my life!!!! (Calm down Seb, take deep breaths)
Anyone any ideas?
Edit: They also seem to have a use after Methods, and Extern blocks.
|