on 06-22-2017 6:42 PM
I'm trying to dynamically configure the working directory by calling the external kernel32 SetCurrentDirectoryA function, but no matter what I pass in as the path, it always seems to return false. What would make that happen? I'm using PB 12.6 classic on Win 10 desktop.
You have to declare the function such that PowerBuilder is treating the string as ANSI, i.e.,
FUNCTION long GetCurrentDirectory( long length , ref string path) LIBRARY "KERNEL32" ALIAS "GetCurrentDirectoryA;ANSI"
Alteratively, you could simply call GetCurrentDirectoryW as that would bypass the conversion.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Why not just use the PB directory function instead of calling the windows api?
also PB is moving on: https://community.appeon.com/
--------------------------------------
Changes the current directory.
ChangeDirectory ( directoryname )
Argument
Description
directoryname String for the name of the directory you want to set as the current directoryInteger. Returns 1 if the function succeeds and -1 if an error occurs.
This example changes the current directory to the parent directory of the current directory and displays the new current directory in a SingleLineEdit control:
ChangeDirectory( ".." )
sle_1.text= GetCurrentDirectory( )
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
89 | |
10 | |
9 | |
9 | |
9 | |
6 | |
6 | |
5 | |
5 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.