I think you make your wrapper in c++.
At time i have work on a wrapper for irrlicht 1.3.1 but i have a problem
with the KeyEvent.
/* ////////////////////////////////////////////////////////////////////////////
INPUT EVENT OPERATIONS
*/
/* ----------------------------------------------------------------------------
determine if a key event is available return true if one is
*/
bool DLL_EXPORT IrrKeyEventAvailable( void )
{
return ( uiReadKeyEvent != uiWriteKeyEvent );
}
/* ----------------------------------------------------------------------------
read the oldest key event in the buffer
*/
ARCHIVED_KEY_EVENT *DLL_EXPORT IrrReadKeyEvent( void )
{
ARCHIVED_KEY_EVENT *report;
// if there are any events evailable
if ( uiReadKeyEvent != uiWriteKeyEvent )
{
// return the oldest event
report = &archivekey[uiReadKeyEvent];
// consume the event and if we exceed the buffer
if ( ++uiReadKeyEvent >= MAX_ARCHIVED_EVENTS )
// roll back to the start
uiReadKeyEvent = 0;
}
else
// there are no events available return a blank object
report = &keyblank;
return report;
}
I have a problem to wrap this 2 functions to delphi.
....
KEY_EVENT = record
key :integer;
direction :integer;
flags :integer;
END;
IRR_KEY_EVENT =^KEY_EVENT;
.....
function IrrKeyEventAvailable():integer; cdecl ;external IRR_DLL;
(This do not work. IrrKeyEventAvailable() always is 0)
function IrrReadKeyEvent():Irr_KEY_EVENT; cdecl ;external IRR_DLL;
Can you help me ?
Ps: I'am not a c++ programer and my english is
ops:
Bookmarks