![]() |
Re: Robustes Plugin-System
Zitat:
Allerdings kann ich Dein Problem des schlechten Programmierers (der einen stack-oberflow produziert) nicht lösen mit meinen Komponenten. Und meiner Meinung nach gehst Du das ganze Problem von der falschen Seite an : Du willst Probleme unterdrücken oder besser gesagt verschieben, so dass sie das Programm nicht beeinträchtigen. Ich würde eher in eine gute Fehler-Analyse investieren, da gibt es verschiedene Tools wie SmartInspect von Gurock Software, die Dir helfen können, Dein Programm ablauf zu tracken und Fehler schnell zu erkennen. Auch die MAF Componenten haben einen Tracer, der sprünge in unter-Funktionen und variablen etc. loggen kann, allerdings nur rudimentär eingebaut, da es nicht die Aufgabe der Komponenten ist. |
Re: Robustes Plugin-System
Der Entwickler der den Fehler programmiert hat, ist nicht mehr bei uns angestellt.
Solange ich hier arbeite kann ich schon sicherstellen, dass die Software gewisse Tests besteht. Allerdings kann man nicht immer alle Fälle Testen und vorallem möchte ich sicherstellen, das auch wenn ein Plugin von einem externen Entwickler kommt, dieses nicht das ganze System beeinträchtigen kann. Ausserdem kann man, wenn das Plugin in einem eigenen Prozess abläuft den Prozess abschiessen und neu starten, falls es sich nach einem bestimmten Timeout nicht meldet. Mach das mal mit einem Thread der gerade in einer DLL steckt. (Es sei gesagt: Das ist nicht zu empfehlen) Ich kann die Software immer noch so erweitern, dass es auch Plugin-Dlls gibt, falls ich für gewisse Aufgaben mehr Performance benötige und eine enge Kopplung bevorzuge. Das habe ich auch schon gemacht und ich weiss wie man das realisieren kann. Die Schwierigkeit liegt eben darin, dass ich gewisse Aufgaben in andere Prozesse auslagern möchte ohne das Gesamtsystem zu gefährden (Stichwort lose Kopplung). Ursprünglich wollte ich die ganze Kommunikation mit TCP/IP realisieren, aber dort ist der Aufwand gross, weil man a) alle Funktionsaufrufe serialisieren und deserialisieren muss. b) wehr viele Verbindungen benötigt. Mindistens eine pro Plugin. c) wenn das ganze auch noch Multi-Threaded ist noch mehr Verbindungen benötigt oder eine sehr ausgeklügelte duplexfähige Kommunikation benötigt (mit Empfänger-Thread, Sender-Thread und entsprecheden Queues - und das jeweils pro Verbindungsendpunkt) COM scheint mir im Moment die beste Lösung zu sein. |
Re: Robustes Plugin-System
Zitat:
wo du dich um die grundsätzliche Verbindungsproblematik nicht kümmern mußt. |
Re: Robustes Plugin-System
Zitat:
Man kann auch das Interface komplett selber implementieren, siehe dazu ![]() |
Re: Robustes Plugin-System
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:33 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz