| 1 |
|
|---|
| 2 |
|
|---|
| 3 | class TestObject
|
|---|
| 4 | extends ExternalObject;
|
|---|
| 5 |
|
|---|
| 6 | function constructor
|
|---|
| 7 | input Real value;
|
|---|
| 8 | output TestObject obj;
|
|---|
| 9 | external "C" obj = initTest(value) annotation(Library="TestObj");
|
|---|
| 10 | end constructor;
|
|---|
| 11 |
|
|---|
| 12 | function destructor
|
|---|
| 13 | input TestObject obj;
|
|---|
| 14 | external "C" clearTest(obj) annotation(Library="TestObj");
|
|---|
| 15 | end destructor;
|
|---|
| 16 | end TestObject;
|
|---|
| 17 |
|
|---|
| 18 | function evaluateTest
|
|---|
| 19 | input TestObject obj;
|
|---|
| 20 | input Real t;
|
|---|
| 21 | output Real value;
|
|---|
| 22 |
|
|---|
| 23 | external "C" evaluateTest(obj, t, value) annotation(Library="TestObj");
|
|---|
| 24 | end evaluateTest;
|
|---|
| 25 |
|
|---|
| 26 | model Model
|
|---|
| 27 | parameter Real value = 10;
|
|---|
| 28 | TestObject obj = TestObject(value = value);
|
|---|
| 29 |
|
|---|
| 30 | Real v;
|
|---|
| 31 |
|
|---|
| 32 | equation
|
|---|
| 33 | v = evaluateTest(obj, time);
|
|---|
| 34 | end Model;
|
|---|
| 35 |
|
|---|
| 36 |
|
|---|
| 37 | model Test
|
|---|
| 38 | parameter Real value = 5;
|
|---|
| 39 | Model m(value = value);
|
|---|
| 40 |
|
|---|
| 41 | Real y;
|
|---|
| 42 | Real x;
|
|---|
| 43 | equation
|
|---|
| 44 | y = m.v;
|
|---|
| 45 | x = m.value;
|
|---|
| 46 |
|
|---|
| 47 | end Test;
|
|---|