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