BlueM.DLLAdapter: Difference between revisions
Jump to navigation
Jump to search
mNo edit summary |
(→Anwendungsbeispiel: Finish() sowohl in Try als auch in Catch) |
||
Line 39: | Line 39: | ||
Loop | Loop | ||
' | '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 | ||
'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
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>