Dear sirs,
when I run the command:
call cc74 'FindFirstFileA'
using by reference findFileName *> lpFileName
by reference WIN32-FIND-DATA *> lpFindFileData
returning fileSearchHandle
I'm getting an error 173 Called program file not found in directory/drive
FindFirstFileA
How do I solve this
Att
Rogerio Barbosa
Dear sirs,
when I run the command:
call cc74 'FindFirstFileA'
using by reference findFileName *> lpFileName
by reference WIN32-FIND-DATA *> lpFindFileData
returning fileSearchHandle
I'm getting an error 173 Called program file not found in directory/drive
FindFirstFileA
How do I solve this
Att
Rogerio Barbosa
move ' ' to findfilename
string link-csb-pfad delimited by ' '* '\\' delimited by size
'yourfilename.dat' x'00' delimited by size
into findfilename
end-string
move 0 to i1
move spaces to cFileName
call winapi 'FindFirstFileA' using by reference findFileName *> lpFileName
by reference WIN32-FIND-DATA *> lpFindFileData
returning fileSearchHandle
if fileSearchStatus <> -1 *> INVALID_HANDLE_VALUE
perform convertFileTimeToLocalTime
perform determineFileAttributes
perform with test after until findNextStatus = 0
move spaces to cFileName
call winapi 'FindNextFileA' using by value fileSearchHandle *> hFindFile
by reference WIN32-FIND-DATA *> lpFindFileData
returning findNextStatus
if findNextStatus <> 0
perform convertFileTimeToLocalTime
perform determineFileAttributes
end-if
end-perform
call winapi 'FindClose' using by value fileSearchHandle *> hFindFile
returning FindCloseStatus
do you have add a x'00' for your filename?
Dear sirs,
when I run the command:
call cc74 'FindFirstFileA'
using by reference findFileName *> lpFileName
by reference WIN32-FIND-DATA *> lpFindFileData
returning fileSearchHandle
I'm getting an error 173 Called program file not found in directory/drive
FindFirstFileA
How do I solve this
Att
Rogerio Barbosa
Hi Rogerio.
FindFirstFileA is a Windows API function which resides in the Windows Kernel32.dll which is found in either the Windows\\System32 folder for 64-bit or the Windows\\SysWOW64 folder if it is 32-bit. This should be found automatically.
If you are creating an exe you should be linking to the kernel32.lib library which is part of the Windows SDK but is included with Net Express in the Lib folder.
If you are running as .int or gnt then you should have the following call before your call to FindFirstFile
call "cob32api"
How are you building your executable and under what OS are you running?
Dear sirs,
when I run the command:
call cc74 'FindFirstFileA'
using by reference findFileName *> lpFileName
by reference WIN32-FIND-DATA *> lpFindFileData
returning fileSearchHandle
I'm getting an error 173 Called program file not found in directory/drive
FindFirstFileA
How do I solve this
Att
Rogerio Barbosa
RTS 173 means it can't find the called module or entry point you are trying to call. How is you target built and linked in NX 3.1?
Most likely you probably need to load the kernell32.dll first to make the functions in it available. FindFirstFileA is a function/entry point in kernel32.dll
try:
In working storage:
01 my-library procedure-pointer.
and then:
In procedure division:
set my-library to entry "kernel32" *> This will load the kernel32.dll which should be on the path"
Hi Rogerio.
FindFirstFileA is a Windows API function which resides in the Windows Kernel32.dll which is found in either the Windows\\System32 folder for 64-bit or the Windows\\SysWOW64 folder if it is 32-bit. This should be found automatically.
If you are creating an exe you should be linking to the kernel32.lib library which is part of the Windows SDK but is included with Net Express in the Lib folder.
If you are running as .int or gnt then you should have the following call before your call to FindFirstFile
call "cob32api"
How are you building your executable and under what OS are you running?
Onde consigo a documentação da biblioteca cobapi32
Atenciosamente
Rogerio Barbosa
RTS 173 means it can't find the called module or entry point you are trying to call. How is you target built and linked in NX 3.1?
Most likely you probably need to load the kernell32.dll first to make the functions in it available. FindFirstFileA is a function/entry point in kernel32.dll
try:
In working storage:
01 my-library procedure-pointer.
and then:
In procedure division:
set my-library to entry "kernel32" *> This will load the kernel32.dll which should be on the path"
Or, alternatively, just
call "cob32api"
Onde consigo a documentação da biblioteca cobapi32
Atenciosamente
Rogerio Barbosa
cob32api isn't documented very well. It shows up in a sample program and in the docs under Examples for calling a Windows API:
Example of Calling a Win32 API Routine
The following program makes use of an API routine to retrieve the current date and time.
special-names.
call-convention 74 is winapi.
working-storage section.
01 system-time.
03 system-year pic 9(4) comp-5.
03 system-month pic 9(4) comp-5.
03 system-day-of-week pic 9(4) comp-5.
03 system-day pic 9(4) comp-5.
03 system-hour pic 9(4) comp-5.
03 system-minute pic 9(4) comp-5.
03 system-second pic 9(4) comp-5.
03 system-millisecond pic 9(4) comp-5.
procedure division.
call "cob32api"
call winapi "GetSystemTime" using
by reference system-time
display "Day of week is: " system-day-of-week
display "Day of month is: " system-day
stop run.
Sign up
Already have an account? Login
Welcome to the Rocket Forum!
Please log in or register:
Employee Login | Registration Member Login | RegistrationEnter your E-mail address. We'll send you an e-mail with instructions to reset your password.