As mentioned here a while back, the number of changes needed to make EZDSL compile with Delphi 2009 are minimal. The main reason, I suppose, is because EZDSL doesn't use strings all that often and when it does, it uses the string
type without doing any clever stuff with any instances.
So, there are all the changes:
EZDSLHsh.PAS: there was a packed
record in there, an early beta of D2009 complained about the packed
keyword, so I removed it. Shouldn't make any difference to any other Delphi (not that I have them installed to check anymore).
EZDSLOpt.INC: had to add another compiler options block for Delphi 2009. It's the same as most of the other Win32 compiler blocks.
DTSTGEN.PAS: this is a set of helper routines for the test apps. It had a bunch of shortstrings in there, which caused some issues with the Unicode nature of Delphi 2009. So I changed all the shortstrings to ordinary strings. The only issue this change would cause is for Delphi 1, because the compiler will reserve the full 256 bytes for a const string. Oh well.
Er, and that's it.
I've created a special "add-on pack" for Delphi 2009. It contains the new versions of the files mentioned above, a set of files to create an EZDSL package (does anyone even use these any more?), and a little readme. You can download it here. You can download EZDSL here.
Now playing:
Dreadzone - Moving On
(from Biological Radio)
3 Responses
#1 Sharken said...
10-Sep-09 4:03 AMI am running EZDSL on Delphi 2009, and was getting access violations in the GetNode() code. After a long time i have discovered that the problem is related to unicode.
The fix is to replace all occurrences of string with ansistring, and replace PChar with PAnsiChar.
For me that was enough to make EZDSL work with Delphi 2009.
#2 Mike said...
02-Jul-11 8:34 AM"The fix is to replace all occurrences of string with ansistring, and replace PChar with PAnsiChar".
Should the replacement be done in the EZDSL code?
I have a problem with access violation. Trying to port my old code which uses EZDSL from D6 to XE.
#3 julian m bucknall said...
02-Jul-11 9:10 AMMike: Yes, I would assume that Sharken meant make those replacements in the EZDSL code.
I really must recompile and test EZDSL with Delphi XE. Let's see what I can do over this long weekend.
Cheers, Julian
Leave a response
Note: some MarkDown is allowed, but HTML is not. Expand to show what's available.
_emphasis_
**strong**
[text](url)
`IEnumerable`
* an item
1. an item
> Now is the time...
Preview of response