Question:
I have migrated an application from 5.0.03 to 6.5 and continue to get this error when pressing the Run button:
Error - 14 - Error opening DLL library kernel.exe for external function Window/Menu u_external_function_api Object u_external_function_api Event uf_getwindowsdirectory line 1
This application is 16-bit and I am using the external functions for the 16-bit applciation. I have the correct reference for the getwindowsdirectory and it is as follows:
Function uint GetWindowsDirectory (ref stringdirtext, uint textlen) library "kernel.exe"
The one thing I notice is that the kernal.exe is not present on my PC. However, I do not have this problem with my PB 5.0.03 16-bit version on the same PC.
Answer:
This problem is caused by PB5 being a 16-bit application and PB6 being a 32-bit application. You will need to upgrade all of your 16-bit API calls to 32-bit. The Get Windows Directory API call needs to be replaced with the following API call:
Function ulong GetWindowsDirectoryA (ref stringdirtext, ulong textlen) library "KERNEL32.DLL"