BlueM.DLLAdapter: Difference between revisions

From BlueM
Jump to navigation Jump to search
(Anwendungsbeispiel)
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]] Rechenkerns in DLL-Form.


==Schnittstellendefinitionen==
==Schnittstellendefinitionen==

Revision as of 05:27, 5 October 2007

BlueM.DLLAdapter ist ein .NET Wrapper zum Ansprechen des BlueM Rechenkerns in DLL-Form.

Schnittstellendefinitionen

Klassendiagramm

Nachfolgend werden die Schnittstellen-Methoden zur Kommunikation mit der BlueM 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()</csharp>
<csharp> public void Dispose()</csharp>
Schliessen alle Dateien und freigabe des Speichers

Anwendungsbeispiel

Beispiel zur Nutzung des Bluem.DLLAdapters zur Simulation mittels BlueM.dll in VB.NET: <vbnet> 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 erfolgreich
   simOK = True

Catch ex As Exception

   'Simulationsfehler aufgetreten
   MsgBox(ex.Message, MsgBoxStyle.Exclamation, "BlueM")
   simOK = False

Finally

   Call bluem_dll.Finish()
   Call bluem_dll.Dispose()

End Try </vbnet>