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; |
---|