[fpc-pascal]Win32 API Call
James_Wilson at i2.com
James_Wilson at i2.com
Fri Dec 7 17:53:30 CET 2001
Sorry for what's most likely a neophytes question...
I'm trying to call the Win32 API function GetDiskFreeSpaceEx, but when I
do the compiler complains and I get the following error: Incompatible type for arg no. 4: Got "pLongint", expected "PLARGEINTEGER"
The 4th argument is the same type as the 2nd and 3rd arguments, which
according to the API Reference they're supposed to be.
Here's the code:
Program SI;
uses
WINDOWS;
const
BUF_SIZE = 255;
type
pLongint = ^longint;
Buffer = array [1..BUF_SIZE] of char;
var
BytesAvail : pLongint;
BytesTotal : pLongint;
BytesFree : pLongint;
CharBuffer : ^Buffer;
BEGIN
new (BytesAvail); new (BytesTotal);
new (BytesFree); new (CharBuffer);
GetDiskFreeSpaceEx (CharBuffer,BytesAvail,BytesTotal,BytesFree);
END.
This is from the Win32 Reference:
BOOL GetDiskFreeSpaceEx
(
LPCTSTR lpDirectoryName, // pointer to
directory name on disk of interest
PULARGE_INTEGER lpFreeBytesAvailableToCaller, // pointer to
variable to receive free bytes on disk available to the caller
PULARGE_INTEGER lpTotalNumberOfBytes, // pointer to
variable to receive number of bytes on disk
PULARGE_INTEGER lpTotalNumberOfFreeBytes // pointer to variable to
receive free bytes on disk
);
Now, I'll be the first to admit that I'm no Win32 expert, but to me I did
everything correct (but obviously FPC is smarter then I am :-)
Can anybody point me in the right direction? TIA...
Jim
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freepascal.org/pipermail/fpc-pascal/attachments/20011207/61ce3980/attachment.html>
More information about the fpc-pascal
mailing list