Zoeken

Visual project genereren

TLCGen kan Microsoft Visual Studio project files genereren, waarin relevante instellingen voor het compileren van CCOL regeling reeds correct zijn ingesteld.

Om een Visual project te genereren:

  • Kies in de dropdown list het gewenste type project
  • Klik vervolgens op de knop rechts van de dropdown list: het .vcxproj bestand (evenals het .vcxproj.filters bestand) wordt aangemaakt.
  • Let op: een evt. bestaand bestand wordt overschreven

In de projectfile wordt gebruik gemaakt van de ingestelde waarden voor bv. de locatie van CCOL. Deze instellingen zijn te vinden via het menu Plugins > CCOL code generator > CCOL code generator instellingen. Per CCOL versie is hier een tabblad met instellingen beschikbaar. Het volgende moet worden ingesteld:

  • CCOL include paden: de plek waar de CCOL includes staan. Meerdere mappen worden met een komma gescheiden. bv: C:\Personal Applications\CCOL80\WIN32\INCLUDE;C:\Personal Applications\CCOL80\INCLUDE;
  • CCOL libraries: dit zijn de libraries die terecht moeten komen bij ‘Additional dependencies’ voor de linker in Visual. Wanneer libraries direct in het project worden toegevoegd kan dit veld leeg worden gelaten.
  • CCOL library pad: de plek waar de CCOL libraries staan.  Wanneer libraries direct in het project worden toegevoegd kan dit veld leeg worden gelaten.
  • CCOL resources pad: de plek waar de CCOL resources staan (ccolmenu.res file).
  • Preprocessor definities: aanvullend op te nemen preprocessor definities, zoals bv CCOL_IS_SPECIAL
  • Merk op: voor CCOL 9.5 is een extra veld beschikbaar: CCOL library pad NO_TIGMAX. Hier kan het pad naar de libraries zonder intergroen worden opgegeven.

Templates maken of bewerken

TLCGen wordt geleverd met een aantal voorgemaakte templates. Het is mogelijk zelf templates te maken, of bestaande templates aan te passen. Een template bestaat uit 2 bestanden:

  • Een XML bestand met daarin de data om het .vcxproj bestand aan te maken
  • Een XML bestand met daarin de data om het .vcxproj.filters bestand aan te maken

Hierover een aantal opmerkingen:

  • Deze twee XML bestanden zijn in feite reeds project files, echter met een aantal place holders die tijdens het genereren worden vervangen, en met de mogelijkheid om regels tekst alleen onder voorwaarden op te nemen in het gegenereerde resultaat
  • Dus: om een nieuw template te maken, kan een bestaande project file waarin alles naar wens is ingesteld worden genomen, waarna de relevante velden worden gewijzigd zodat het genereerbaar wordt.
  • De naam van het template bestand wordt genomen als naam van het template in de GUI. Hierbij worden underscore door spaties vervangen. Bv. “Visual_2010_vissim.xml” wordt “Visual 2010 vissim”.
  • Daarnaast geldt: er wordt een bestand “NaamTemplate_filters.xml” gezocht bij template “NaamTemplate.xml”, om het filters bestand mee aan te maken. De naamgeving moet daar dus precies overeen komen: het filters template bestand moet precies heten zoals het template bestand zelf, met _filters erachter.

De volgende placeholders worden tijdens het genereren vervangen:

  • __CONTROLLERNAME__ – wordt vervangen door de naam van de regelaar
  • __GUID__ – wordt vervangen door een nieuwe GUID. Let op: voor de juiste werking van projectfiles in Visual is een unieke GUID per project belangrijk. Vervang bij het maken van een template dus altijd de waarde van <ProjectGuid>…</ProjectGuid> door __GUID__. Dus: <ProjectGuid>{__GUID__}</ProjectGuid>.
  • __CCOLLIBSDIR__ – wordt vervangen door de door de gebruiker opgegeven waarde
  • __CCOLLIBS__ – wordt vervangen door de door de gebruiker opgegeven waarde
  • __CCOLLLIBSNOTIG__ – wordt vervangen door de door de gebruiker opgegeven waarde
  • __CCOLLRESDIR__ – wordt vervangen door de door de gebruiker opgegeven waarde
  • __ADDITIONALINCLUDEDIRS__ – wordt vervangen door de door de gebruiker opgegeven waarde
  • __PREPROCESSORDEFS__ – wordt vervangen door de door de gebruiker opgegeven waarde

Er kan tevens met voorwaarden worden gewerkt:

  • De voorwaarde moet altijd aan het begin van een regel staan.
  • Opties zijn: __IF;$$__, __ELIF;$$__ en __ELSE__. Daarin moet bij $$ een of meer voorwaarden worden opgegeven. ELIF en ELSE kunnen uitsluitend volgen na een IF.
  • Meerdere voorwaarden moeten met ; worden gescheiden. Om de betreffende regel op te nemen in het resultaat, moeten álle voorwaarden waar zijn
  • Middels ! kan een voorwaarde worden omgedraaid.
  • Mogelijke voorwaarden zijn:
    • IGT – CCOL versie is hoger of gelijk aan 9.5, en intergroen is aan
    • CCOL9ORHIGHER – CCOl versie hoger of gelijk aan 9.0
    • CCOL95ORHIGHER – CCOl versie hoger of gelijk aan 9.5
    • OV – regeling heeft OV of HD ingrepen
    • MV – regeling heeft KWC
    • MVVIALIS – regeling heeft KWC Vialis
    • MVOVERIG – regeling heeft KWC anders dan Vialis
    • PTP – regeling heeft PTP
    • KS – regeling heeft PTP
    • MS – regeling is multi-regeling middels CCOLMAINMS.LIB
    • SYNC – regeling heeft voor- en/of gelijkstarten
    • HS – regeling is halfstar
  • Een voorbeeld:
  • __IF;!HS;!MS;CCOL9ORHIGHER__ …etc…
    • Uitleg: Indien niet halfstar, niet multi-regeling, en wel CCOL9 of hoger, neem deze regel op
Inhoudsopgave