Compatibility Compiler Options for OxygeneCodeProvider

We need to compile the business layer of our code using the OxygeneCodeProvider and we need to specify the following Compatibility Options:

  • Allow globals
  • Allow legacy ‘width’
  • Allow implicit var/out in method calls
  • Allow Delphi compatibility syntax
  • Use Delphi compatible division operators

I specify the following CompilerOptions: “-allowglobals:yes -allowlegacywith:yes -delphicompatibility:yes”

How can I specify the following options?

  • Allow implicit var/out in method calls
  • Use Delphi compatible division operators

~Ff

Sorry, I just found -allowimplicitout, so, only “Use Delphi compatible division operators” remains open.
How can this option be passed to OxygeneCodeProvider?

Curious timing. I’ve actually rewritten this the other day so now it supports all options Elements.exe supports. That’s for fridays beta (or if things don’t go exactly the way I want, the one after that).

so in vnext you can do something like:

--allowlegacywith --allowglobals --delphicompatibility --delphidivide --allowimplicitout

I hope that helps.

Great! Thanx.

Hi Carlo

I installed RemObjects Elements - 8.3.90.1927.exe today, but could not find the --delphidivide switch.

elements.exe shows:

RemObjects Elements (Oxygene, C# and Swift) Compiler for .NET, Cocoa and Java - Version 8.3.90.1927 (BETA)
Copyright 2003-2012 RemObjects Software, LLC. All rights reserved.

Syntax:
Oxygene.exe <project.oxygene>
[-rebuild]
[-out:]
[-config:]
[-platform:]
[-version:]
[-fileversion:]
[-frameworkfolder:]
[-frameworkversion:]
[-define:;[…]]

    Oxygene.exe <source.pas> [<source.pas> [...]]
                      [-rebuild]
                      [-out:<output path>]
                      [-version:<version number>]
                      [-fileversion:<version number>]
                      [-appicon:<icon file name>]
                      [-ref:<assembly file name>]
                      [-res:<resource file name>]
                      [-res:@<resource file name>]
                      [-type:<exe|winexe|library>]
                      [-cputype:<anycpu|x86|x64|ia64>]
                      [-frameworkfolder:<framework folder name>]
                      [-frameworkversion:<framework version>]
                      [-assemblyname:<name>]
                      [-internalname:<name>]
                      [-debug:<yes|no>]
                      [-define:<define>;[...]]
                      [-allowunsafe[:<yes|no>]]
                      [-allowimplicitout[:<yes|no>]]
                      [-allowglobals[:<yes|no>]]
                      [-allowlegacycreate[:<yes|no>]]
                      [-allowlegacywith[:<yes|no>]]
                      [-regasm[:<yes|no>]]
                      [-enableclasscontracts[:<yes|no>]]
                      [-codeflowanalysis[:<yes|no>]]
                      [-warningsaserrors[:<yes|no>]]
                      [-suppresswarnings:<warning codes>]
                      [-delphicompatibility[:<yes|no>]]
                      [-optimize[:<yes|no>]]
                      [-mode:<Echoes|Cooper|Nougat>]

But no -delphidivide switch.
Did I get something wrong?

no you didn’t. That will probably be the next build.