ich habe ein Programm geschrieben, welches die FEM-Software FEMM mittels der Bibliothek "pyfemm" ansteuert.
Nun war die Idee, dies nicht nur auf meinem PC zu nutzen, sondern auf einer Webseite für meine Kollegen nutzbar zu machen.
Dazu habe ich in einem anderen Forum den Tipp zu Django und Flask erhalten. Ich habe mich zunächst für Flask entschieden und ein paar Tutorials angeschaut.
Ich wollte jetzt einfach mal probieren, mittels Button auf einer Webseite eine FEMM-Datei zu erstellen. Leider bekomme ich da immer folgenden Fehler:
pywintypes.com_error: (-2147221008, 'CoInitialize wurde nicht aufgerufen.', None, None)
Kann mir da jemand weiter helfen? Vielleicht mache ich ja auch grundlegend etwas falsch oder es ist absolut nicht möglich.
Hier mein Code:
Code: Alles auswählen
import femm
from flask import Flask, render_template, request
app = Flask(__name__)
@app.route("/", methods=['GET','POST'])
def open_femm():
if request.method == "POST":
print('Taste gedrueckt!')
femm_machine = FEMM_Machine()
return render_template('index.html')
class FEMM_Machine():
def __init__(self):
print('Instanz erstellt')
femm.openfemm()
femm.mi_saveas('test.fem')
femm.closefemm()
if __name__ == "__main__":
app.run(debug=True)
Code: Alles auswählen
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport"
content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-T3c6CoIi6uLrA9TneNEoa7RxnatzjcDSCmG1MXxSR1GAsXEV/Dwwykc2MPK8M2HN" crossorigin="anonymous">
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/js/bootstrap.bundle.min.js" integrity="sha384-C6RzsynM9kWDrMNeT87bh95OGNyZPhcTNXj1NW7RuBCsyN/o0jlpcV8Qyq46cDfL" crossorigin="anonymous"></script>
<style>
.my-form{
position: fixed;
bottom: 24px;
right: 80px;
left: 80px;
width: calc(100% - 160px);
}
</style>
</head>
<body>
<nav class="navbar bg-body-tertiary">
<div class="container-fluid">
<a class="navbar-brand" href="#">Button Test</a>
</div>
</nav>
<form class="input-group mb-3 my-form" action="" method="post">
<input type="text" name="content" class="form-control" placeholder="Nachricht">
<button class="btn btn-outline-secondary" type="submit" id="button-addon2">Senden</button>
</form>
</body>
</html>