Direct Draw from JEDI does not work under 64bit lazarus / 67-Windows ---------------------------------------------------------------------- Key-Real · 2021-04-29 16:34 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 · 2021-04-29 17:50 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 · 2021-04-29 18:06 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  [Select][+][-]window.onload = function(){var x1 = document.getElementById("main_content_section"); if (x1) { var x = document.getElementsByClassName("geshi");for (var i = 0; i {$MINENUMSIZE 4}{$ALIGN ON}in your DDraw unit. Replacing it with: Code: Pascal  [Select][+][-]window.onload = function(){var x1 = document.getElementById("main_content_section"); if (x1) { var x = document.getElementsByClassName("geshi");for (var i = 0; i {$PACKRECORDS c}  AND removing "packed" from two records: Code: Pascal  [Select][+][-]window.onload = function(){var x1 = document.getElementById("main_content_section"); if (x1) { var x = document.getElementsByClassName("geshi");for (var i = 0; i ...{$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 · 2021-04-29 18:27 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 · 2021-04-29 18:43 I don't have Delphi, so I can only suggest to use the usual $ifdef way. ---------------------------------------------------------------------- Key-Real · 2021-04-29 19:14 Perhaps you can Check the second Test, IT works for Delphi 32&64 but only for fpc33 ---------------------------------------------------------------------- Key-Real · 2021-04-29 20:48 Perhaps ist easyer to go from the Delphi Implementation to fpc. Check the second Test. Thx, engkin ---------------------------------------------------------------------- engkin · 2021-04-29 21:35 I think this should work. Give it a try. It is based on the Delphi project you shared above. I noticed the project itself has issues, but not related to this. ---------------------------------------------------------------------- Key-Real · 2021-04-30 15:39 engkin, thx it works now under fpc and dephi 32&64bit. what issues you found in the tests? ---------------------------------------------------------------------- engkin · 2021-04-30 19:06 Compared to the previous test, it did not close as the relevant message was commented out, and the caption of the form was random characters.