BlueM.DLLAdapter: Difference between revisions

From BlueM
Jump to navigation Jump to search
mNo edit summary
(→‎Anwendungsbeispiel: Finish() sowohl in Try als auch in Catch)
Line 39: Line 39:
     Loop
     Loop


     'Simulation erfolgreich
     'Simulationszeitraum abgearbeitet
     simOK = True
     simOK = True
    'Simulation abschliessen
    Call bluem_dll.Finish()
    'Simulation abgeschlossen
    MsgBox("Simulation erfolgreich!", MsgBoxStyle.Information, "BlueM")


Catch ex As Exception
Catch ex As Exception
Line 46: Line 52:
     'Simulationsfehler aufgetreten
     'Simulationsfehler aufgetreten
     MsgBox(ex.Message, MsgBoxStyle.Exclamation, "BlueM")
     MsgBox(ex.Message, MsgBoxStyle.Exclamation, "BlueM")
    'Simulation abschliessen
    Call bluem_dll.Finish()
     simOK = False
     simOK = False


Finally
Finally


     Call bluem_dll.Finish()
     'BlueM.dll deallokieren
     Call bluem_dll.Dispose()
     Call bluem_dll.Dispose()



Revision as of 05:16, 10 July 2008

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()
public void Dispose()

</csharp>

Schliessen aller 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
   'Simulationszeitraum abgearbeitet
   simOK = True
   'Simulation abschliessen
   Call bluem_dll.Finish()
   'Simulation abgeschlossen
   MsgBox("Simulation erfolgreich!", MsgBoxStyle.Information, "BlueM")

Catch ex As Exception

   'Simulationsfehler aufgetreten
   MsgBox(ex.Message, MsgBoxStyle.Exclamation, "BlueM")
   'Simulation abschliessen
   Call bluem_dll.Finish()
   simOK = False

Finally

   'BlueM.dll deallokieren
   Call bluem_dll.Dispose()

End Try </vbnet>