Skip to main content

Delete text file

Author: admon_yd2003@yahoo.com (orna)

Hi

U 7.2.06
I need to delete and copy  text files.
Tried: activate "winapi".DELETEFILE(filename)
and got -59 "Unable to locate 3GL function deletefileA"
In the .INI file under "demandload" there is a reference to the kernel32.dll,
the "winapi" signature is compiled.
Is there something that is missing?
and is there another way to do it (delete file) without using API?

TIA

Delete text file

Author: admon_yd2003@yahoo.com (orna)

Hi

U 7.2.06
I need to delete and copy  text files.
Tried: activate "winapi".DELETEFILE(filename)
and got -59 "Unable to locate 3GL function deletefileA"
In the .INI file under "demandload" there is a reference to the kernel32.dll,
the "winapi" signature is compiled.
Is there something that is missing?
and is there another way to do it (delete file) without using API?

TIA

Hi orna,

in Uniface 8+ there is the command "lfiledelete" etc.

In Version 6, I used a BAT file to rename/copy/delete files (called via a link, so we could hide the window). 

Success, Uli


Author: ulrich-merkel (ulrichmerkel@web.de)

Delete text file

Author: admon_yd2003@yahoo.com (orna)

Hi

U 7.2.06
I need to delete and copy  text files.
Tried: activate "winapi".DELETEFILE(filename)
and got -59 "Unable to locate 3GL function deletefileA"
In the .INI file under "demandload" there is a reference to the kernel32.dll,
the "winapi" signature is compiled.
Is there something that is missing?
and is there another way to do it (delete file) without using API?

TIA

As long as you're on Uniface 7, there is no lfiledelete, that's from version 8 and on, like Uli already mentioned.

Your solution should work; I use it too on my old 7.2.06 environment (migrating to 9 at the moment).

First of all: Please check the paths to the dll in the usys.ini. These will vary per (Windows) platform. My usys.ini looks like this (for W2K PC's):

[userdlls]
demandload=c:\\winnt\\system32\\advapi32.dll,c:\\winnt\\system32\\kernel32.dll,c:\\winnt\\system32\\shell32.dll

The "DeleteFile" or  "DeleteFileA" is a kernel32 function.

My code looks like this:

operation DeleteFile

params
   string    ps_FileName   :IN
endparams

activate "kernel32".DeleteFile(ps_FileName)

return ($status)

end ; DeleteFile

And my signature "kernel32" has the operation "deletefile" with one in-parameter "filename", type string, interface char *, length 256. (Windows 2000 limits paths to 260 characters total length.)

Hope this helps!

Regards, Arjen


Author: Arjen van Vliet (arjen.van.vliet@uniface.com)

Delete text file

Author: admon_yd2003@yahoo.com (orna)

Hi

U 7.2.06
I need to delete and copy  text files.
Tried: activate "winapi".DELETEFILE(filename)
and got -59 "Unable to locate 3GL function deletefileA"
In the .INI file under "demandload" there is a reference to the kernel32.dll,
the "winapi" signature is compiled.
Is there something that is missing?
and is there another way to do it (delete file) without using API?

TIA

Thanks Uli & Arjen

The problem with API is that we have users with Windows 2000 & XP
and the kernel32.dll is not the same, and different .ini file is not an option.
So, with bat file it works just fine.

 


Author: orna (admon_yd2003@yahoo.com)

Delete text file

Author: admon_yd2003@yahoo.com (orna)

Hi

U 7.2.06
I need to delete and copy  text files.
Tried: activate "winapi".DELETEFILE(filename)
and got -59 "Unable to locate 3GL function deletefileA"
In the .INI file under "demandload" there is a reference to the kernel32.dll,
the "winapi" signature is compiled.
Is there something that is missing?
and is there another way to do it (delete file) without using API?

TIA

Hi,

in UF 7  we used for such basic file operations like copy, delete, append, ..  an own dll written in c.
This dll was linked with the 3GL stuff deliverd by uniface (h / lib)  and the name of the dll was placed in the .ini file in section [userdlls].

Advantage:
The functions became a "part" of uniface (activated "silent" by the perform command).

Disadvantage:
You need a C-compiler

But perhaps this could be an alternative solution of calling external bat files for you.

Kind regards,
Bertram

 

 

 

 


Author: BeSieben (bertram.siebenkaes@systec-software.de)