На хабе всплыла тема. Наверно, это велосипед. Может, кто скажет, как лучше в таких ситуациях делать. Соответствующей функции win api в стандартной либе клариона вроде как нет, а попытка создать libmaker из kernel32.dll вываливает большое количество прототипов, которые частично уже есть в стандартной либе. В общем, на коленке набросал вариант с динамической загрузкой. Может, кому пригодиться. Пример вызова:
Код: Выделить всё
rout_r routine
data
fsWinApiExtL fsWinApiExt
code
fsWinApiExtL.init
stop(fsWinApiExtL.GetDiskFreeSpace('E:\'))
stop(fsWinApiExtL.GetDiskFreeSpace('C:\'))
stop(fsWinApiExtL.GetDiskFreeSpace('D:\'))
fsWinApiExtL.kill
C6/C11, ШВС, tps/btrieve.