Disksize/Diskfree problem

Disksize/Diskfree problem

I am writing a small Delphi 2.0 program to list out all the drives on a system, plus total and free disk space. No problem, except that with hard drives larger than about 3.4 GB it does not work; the Delphi routines Disksize and Diskfree return a negative number. I assume that this is because they return a LONGINT, and this is simply not big enough.These are not big drives by today’s standards, but even Delphi 2.0 has this problem.

Any ideas? I have looked at every Internet component I could get my hands on, but they all use the Delphi calls, which do not work. Will I need to use another method, i.e. count the number of clusters?

The problem is not just Delphi 2.0, it’s also Windows 95 (if that’s the OS you’re using). Win95 can’t detect drive sizes larger than 2 GB, soanything larger than that will produce a weird value. This is not the casewith Windows NT, though.


Share the Post: