Forum > Windows
Direct Draw from JEDI does not work under 64bit
Key-Real:
Hi,
I have DirectDraw Headers from JEDI.
They work with 32bit compilation, but not with 64bit(It compiles but if run: CreateSurface fails).
I have setup a test:
http://www.sistavip.com/pub/ddrawtest.zip
Please Help
Key-Real:
If I use original Delphi Headers it works on Delphi 32&64bit.
But on FPC only 32bit, not 64bit(Same Problem as by JEDI Headers)
my Test:
http://www.sistavip.com/pub/ddraw_delphiOK.zip
engkin:
Quick test shows that your SizeOf( TDDSURFACEDESC ) is wrong. It should be 120 bytes on Win64 that is based on the one in unit p_ddraw (included with FPC).
I noticed your have:
--- Code: Pascal [+][-]window.onload = function(){var x1 = document.getElementById("main_content_section"); if (x1) { var x = document.getElementsByClassName("geshi");for (var i = 0; i < x.length; i++) { x[i].style.maxHeight='none'; x[i].style.height = Math.min(x[i].clientHeight+15,306)+'px'; x[i].style.resize = "vertical";}};} ---{$MINENUMSIZE 4}{$ALIGN ON}in your DDraw unit.
Replacing it with:
--- Code: Pascal [+][-]window.onload = function(){var x1 = document.getElementById("main_content_section"); if (x1) { var x = document.getElementsByClassName("geshi");for (var i = 0; i < x.length; i++) { x[i].style.maxHeight='none'; x[i].style.height = Math.min(x[i].clientHeight+15,306)+'px'; x[i].style.resize = "vertical";}};} ---{$PACKRECORDS c}
AND removing "packed" from two records:
--- Code: Pascal [+][-]window.onload = function(){var x1 = document.getElementById("main_content_section"); if (x1) { var x = document.getElementsByClassName("geshi");for (var i = 0; i < x.length; i++) { x[i].style.maxHeight='none'; x[i].style.height = Math.min(x[i].clientHeight+15,306)+'px'; x[i].style.resize = "vertical";}};} ---...{$PACKRECORDS c}{engkin}{ $MINENUMSIZE 4}{engkin}{ $ALIGN ON} ... _DDCOLORKEY = {engkin}{packed} record... _DDSURFACEDESC = {engkin}{packed} record...
fixes the problem.
Prabably you need to remove it from all the records.
Edit:
Attached DDraw unit.
Key-Real:
Thx to engkin :)
The JEDI ddraw works now for fpc 32 & 64 bit.
But under Delphi only 32bit.
Do I need other changes to make it works for Delphi 64?
engkin:
I don't have Delphi, so I can only suggest to use the usual $ifdef way.
Navigation
[0] Message Index
[#] Next page