BlueM.DLLAdapter: Difference between revisions
m (→Basismethoden) |
mNo edit summary |
||
Line 1: | Line 1: | ||
'''BlueM.DLLAdapter''' ist ein .NET Wrapper zum Ansprechen des [[BlueM]] Rechenkerns in DLL-Form. | '''BlueM.DLLAdapter''' ist ein .NET Wrapper zum Ansprechen des [[BlueM.Sim]] Rechenkerns in DLL-Form. | ||
==Schnittstellendefinitionen== | ==Schnittstellendefinitionen== | ||
[[Bild:BlueM DLL Wrapper.png|thumb|Klassendiagramm]] | [[Bild:BlueM DLL Wrapper.png|thumb|Klassendiagramm]] | ||
Nachfolgend werden die Schnittstellen-Methoden zur Kommunikation mit der BlueM DLL mit den zugehörigen Übergabe- bzw. Rückgabeparametern aufgelistet. | Nachfolgend werden die Schnittstellen-Methoden zur Kommunikation mit der BlueM.Sim DLL mit den zugehörigen Übergabe- bzw. Rückgabeparametern aufgelistet. | ||
Falls ein Fehler auftritt wird die Methode <code>CreateAndThrowException</code> aufgerufen (schmeisst einen Fehler). | Falls ein Fehler auftritt wird die Methode <code>CreateAndThrowException</code> aufgerufen (schmeisst einen Fehler). | ||
Line 76: | Line 76: | ||
</vbnet> | </vbnet> | ||
[[Kategorie:BlueM | [[Kategorie:BlueM.Sim Development]] |
Revision as of 05:05, 24 March 2009
BlueM.DLLAdapter ist ein .NET Wrapper zum Ansprechen des BlueM.Sim Rechenkerns in DLL-Form.
Schnittstellendefinitionen
Nachfolgend werden die Schnittstellen-Methoden zur Kommunikation mit der BlueM.Sim DLL mit den zugehörigen Übergabe- bzw. Rückgabeparametern aufgelistet.
Falls ein Fehler auftritt wird die Methode CreateAndThrowException
aufgerufen (schmeisst einen Fehler).
Basismethoden
Initialize <csharp>public void Initialize(string filePath)</csharp>
filePath
ist der Absolute Pfad mit dem Projektnamen ohne die Dateiendung.ALL
(Bsp.:"D:\Simulation\TSIM"
).- Das System wird initialisiert und alle zugehörigen Daten aus den Simulationsdateien geladen.
PerformTimeStep <csharp>public void PerformTimeStep()</csharp>
- Berechnet den nächsten Zeitschritt.
Finish / Dispose <csharp>
public void Finish() public void Dispose()
</csharp>
- Schliessen aller Dateien und Freigabe des Speichers
Datumsangaben <csharp>
public DateTime GetCurrentTime() public DateTime GetSimulationStartDate() public DateTime GetSimulationEndDate()
</csharp>
- Was sind die Simulationszeiten (Anfang und Ende). Wo befinden wir uns gerade (GetCurrentTime) - wird nach jedem PerformTimeStep wietergeschoben.
Anwendungsbeispiel
Beispiel zur Nutzung des Bluem.DLLAdapters zur Simulation mittels BlueM.dll in VB.NET (Anwendung nur mit einer Simulation - SingleDLL): <vbnet> 'Einmal zu Beginn instanzieren bluem_dll = New BlueM_EngineDotNetAccess("Pfad-zu-BlueM.dll")
...
Try
Call bluem_dll.Initialize("Pfad-zu-Datensatz")
Dim SimEnde As DateTime = BlueM_EngineDotNetAccess.DateTime(bluem_dll.GetSimulationEndDate())
'Schleife über Simulationszeitraum Do While (BlueM_EngineDotNetAccess.DateTime(bluem_dll.GetCurrentTime) <= SimEnde) Call bluem_dll.PerformTimeStep() Loop
'Simulation abschliessen Call bluem_dll.Finish()
'Simulation abgeschlossen MsgBox("Simulation erfolgreich!", MsgBoxStyle.Information, "BlueM")
simOK = True
Catch ex As Exception
'Simulationsfehler aufgetreten MsgBox(ex.Message, MsgBoxStyle.Exclamation, "BlueM")
'Simulation abschliessen Call bluem_dll.Finish()
simOK = False
Finally
'Ressourcen deallokieren Call bluem_dll.Dispose()
End Try </vbnet>