dcsimg
Login | Register   
RSS Feed
Download our iPhone app
TODAY'S HEADLINES  |   ARTICLE ARCHIVE  |   FORUMS  |   TIP BANK
Browse DevX
Sign up for e-mail newsletters from DevX

By submitting your information, you agree that devx.com may send you DevX offers via email, phone and text message, as well as email offers about other products and services that DevX believes may be of interest to you. DevX will process your information in accordance with the Quinstreet Privacy Policy.


Tip of the Day
Language: PowerBuilder
Expertise: Beginner
Feb 18, 1999

WEBINAR:

On-Demand

Application Security Testing: An Integral Part of DevOps


GetWindowsDirectory API 16 bit to 32 bit

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 string
dirtext, 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 string
dirtext, ulong textlen) library "KERNEL32.DLL"

DevX Pro
 
Comment and Contribute

 

 

 

 

 


(Maximum characters: 1200). You have 1200 characters left.

 

 

Sitemap
×
We have made updates to our Privacy Policy to reflect the implementation of the General Data Protection Regulation.
Thanks for your registration, follow us on our social networks to keep up-to-date