Question:
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?
Answer:
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.