Tutorial - Helmut-Ortmann/EnterpriseArchitect_ScriptDotNet GitHub Wiki
Tutorial
This tutorial shows you:
- How C# Scripts called from EA VB Scripts are working
- How to develop your own C# scripts
- The knowledge to use other languages like Java, VB, F#, C++
This tutorial assumes you are using Visual Studio 2017. You may use other IDEs. For Java see Java.
Installation
See Installation
Quick start
- Unzip EaScripts.zip to your Script folder (eg. c:\<myProductive>\<MyEaScriptFolder>)
- Set User Environment Variable
- EA_SCRIPT_HOME=c:\<myProductive>\<MyEaScriptFolder>\
- Start EA Repository: ScriptDotNet.eap
- Launch Script
EA
The repository we work with:
- ScriptDotNet.eap
DEBUG
You can debug your code with VS / your IDE. You have to:
- Build in DEBUG mode
- Launch a Script, see Launch
- After the Script reaches the Debug Dialog Box
- Attach VS to ScriptDotNet.eap
- Debug
Prerequisites
- Ensure Project Debug Properties:
- Start external program
- C:\Program Files (x86)\Sparx Systems\EA\EA.exe
- Start external program
- Environment Variable 'EA_SCRIPT_HOME' set to the debug\bin folder
- SETX EA_SCRIPT_HOME c:\MyVsSolutionPath\ScriptCSharp\bin\Debug\
- Adapt and run ScriptCSharp\Scripts\SetEnvDebug.bat
- Restart Visual Studio
- EA: Script Windows
- Specialize, Scripting
- EA: Output Windows
- Portals, Windows, System Output or
- Find Command 'Output'
EA Debug settings
EA Script Windows
DEBUG Session
- You: Build solution in DEBUG mode
- You: Restart Visual Studio
- You: Set breakpoints
- You: Run Debug mode
- VS: Opens EA
- You: Open EA Repository 'ScriptDotNet.eap'
- You: EA: Browser, Specialize, Traverse Package
- EA: Follow instruction
- VS Attach to Process 'ScriptCSharp.exe'
Attach VS 2017 to ScriptCSharp.exe
Launch
This description uses the delivered ScriptDotNet.eap Repository.
VB Script
- Include ScriptCSharp
- !INC ScriptDotNet.RunCommandVb ' to include ScriptCSharp
- Call CSharp
- runCommand "%EA_SCRIPT_HOME%ScriptCSharp.exe", "ListDiagramElements", currentDiagram.DiagramGUID ' Call
- runCommand "%EA_SCRIPT_HOME%ScriptCSharp.exe", "TraversePackage", thePackage.PackageGUID ' Call
- runCommand "%EA_SCRIPT_HOME%ScriptCSharp.exe", "ModelSearch" ' Call, everything is done in C#, contect item contains the row in ModelSearch
Launch from Project Browser
Launch from Diagram
Glossary
- VS Visual Studio 2017
References
- EA Script Group Properties
- EA Community, Use C#, VB, F#, Java for your VB Scripting
- Metrics
- SPARX Webinar Hybrid Scripting
- SPARX Tutorial Hybrid Scripting
- Where is the exe?
- Why LINQ beats SQL