RhyminGarFunkle
Member
I have an extension on the Marketplace, GMSSimpleMIDI, which allows Gamemaker games to receive MIDI data from keyboards and other controllers, and send MIDI to synthesizers and other devices/programs. For most users (including me) it works great, but a small portion of users can't get Gamemaker to load the DLL, with this error in the compiler window:
Error code 126 is a generic Windows error for when DLLs fail to open. It appears that the DLL can't be opened at all on their system - besides the error, there are some messages the DLL should be printing to the console just from running the initial function that doesn't get printed. Does anyone know what might be causing this?
The DLL is complied for x86 to match the YYG runner. Recompiling for x64 and using it with the config box "use x64 Windows runtime" gives me the same error, and the people who've reported this say they're not using the x64 runtime. I've also read that one of the libraries I use in the DLL (RTMidi) can have issues with certain programs requiring CoInitializeEx() and CoUninitialize() to be called before accessing the thread, but that doesn't appear to fix the issue either.
Code:
[Run] Run game
Options: Z:/GMSSimpleM_518912EC_93BCA0BF\MainOptions.json
X://windows/Runner.exe -game "Y:/GMSSimpleMIDI_6E4E60C4_VM\GMSSimpleMIDI.win"
Setting scheduler resolution to 1
Attempting to set gamepadcount to 12
DirectX11: Using hardware device
Collision Event time(microsecs)=11
LoadLibraryW Y:\GMSSimpleMIDI_6E4E60C4_VM\midistuff.dll failed with error code 126
LoadLibraryW Y:\GMSSimpleMIDI_6E4E60C4_VM\midistuff.dll failed with error code 126
LoadLibraryW Y:\GMSSimpleMIDI_6E4E60C4_VM\midistuff.dll failed with error code 126
LoadLibraryW Y:\GMSSimpleMIDI_6E4E60C4_VM\midistuff.dll failed with error code 126
LoadLibraryW Y:\GMSSimpleMIDI_6E4E60C4_VM\midistuff.dll failed with error code 126
LoadLibraryW Y:\GMSSimpleMIDI_6E4E60C4_VM\midistuff.dll failed with error code 126
LoadLibraryW Y:\GMSSimpleMIDI_6E4E60C4_VM\midistuff.dll failed with error code 126
LoadLibraryW Y:\GMSSimpleMIDI_6E4E60C4_VM\midistuff.dll failed with error code 126
LoadLibraryW Y:\GMSSimpleMIDI_6E4E60C4_VM\midistuff.dll failed with error code 126
LoadLibraryW Y:\GMSSimpleMIDI_6E4E60C4_VM\midistuff.dll failed with error code 126
LoadLibraryW Y:\GMSSimpleMIDI_6E4E60C4_VM\midistuff.dll failed with error code 126
LoadLibraryW Y:\GMSSimpleMIDI_6E4E60C4_VM\midistuff.dll failed with error code 126
LoadLibraryW Y:\GMSSimpleMIDI_6E4E60C4_VM\midistuff.dll failed with error code 126
LoadLibraryW Y:\GMSSimpleMIDI_6E4E60C4_VM\midistuff.dll failed with error code 126
Total memory used = 7630675(0x00746f53) bytes
**********************************.
Entering main loop.
**********************************.
Pause event has been registered for this frame
Error code 126 is a generic Windows error for when DLLs fail to open. It appears that the DLL can't be opened at all on their system - besides the error, there are some messages the DLL should be printing to the console just from running the initial function that doesn't get printed. Does anyone know what might be causing this?
The DLL is complied for x86 to match the YYG runner. Recompiling for x64 and using it with the config box "use x64 Windows runtime" gives me the same error, and the people who've reported this say they're not using the x64 runtime. I've also read that one of the libraries I use in the DLL (RTMidi) can have issues with certain programs requiring CoInitializeEx() and CoUninitialize() to be called before accessing the thread, but that doesn't appear to fix the issue either.