It seams that Delphi instead of EDT_XXXXX enums sends something else to IrrPascal.dll
Something that I don't understand... if I write code like this
Code:
constructor TIrrDevice.Create(driverType: VIDEO_DRIVER_TYPE; Width: Integer;
Height: Integer; bits: Integer; fullscreen: Boolean; stencilbuffer: Boolean;
vsync: Boolean; reciver: IIrrEventReceiver);
begin
inherited Create(device_createDevice(EDT_OPENGL, Width, Height, bits,
fullscreen, stencilbuffer, vsync), False, False);
if GetIrrObject = nil then
raise Exception.Create('Error creating Irrlicht Device');
EventReceiver := reciver;
FResizeAble := False;
FWindowCaption := '';
end;
notice that EDT_OPENGL is set as the first parameter to device_createDevice function, everything is working just right but if I write driverType wrong value is passed to IrrPascal.dll
I really don't know what to do. Does Delphi requires some special way of sending and receiving enums to and from dlls with cdecl calling convention?
Bookmarks