EZDSL for Delphi 2009

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.

Album cover for Biological Radio Now playing:
Dreadzone - Moving On
(from Biological Radio)

Loading similar posts...   Loading links to posts on similar topics...

3 Responses

#1 Sharken said...
10-Sep-09 4:03 AM

I 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.

julian m bucknall avatar
#3 julian m bucknall said...
02-Jul-11 9:10 AM

Mike: 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.

  •  Emphasize with italics: surround word with underscores _emphasis_
  •  Emphasize strongly: surround word with double-asterisks **strong**
  •  Link: surround text with square brackets, url with parentheses [text](url)
  •  Inline code: surround text with backticks `IEnumerable`
  •  Unordered list: start each line with an asterisk, space * an item
  •  Ordered list: start each line with a digit, period, space 1. an item
  •  Insert code block: start each line with four spaces
  •  Insert blockquote: start each line with right-angle-bracket, space > Now is the time...
Preview of response