Das mit dem Log-File hab ich garnicht gelesen...
SOLIDWORKS hat auch eine Funktion zum Auslesen der letzten 20 Meldungen.
https://help.solidworks.com/2021/English/api/sldworksapi/SolidWorks.Interop.sldworks~SolidWorks.Interop.sldworks.ISldWorks~GetErrorMessages.html?verRedirect=1
Ich könnte mir vorstellen, wenn man weiß wo die neuste Meldung immer eingeschoben wir, dass man bei jedem Werfen einer Fehlermeldung auf den selben Platz im Array zugreifen kann.
Beispiel_1: Neuste Fehlermeldung wird bei Array(0) geschrieben.
Im beschriebenen Fall verschieben sich bei einer neuen Meldung alle Einträge um ein Feld im Array nach oben
Vorher...
Array(0)=A
Array(1)=B
Array(2)=C
Array(3)=D
Array(4)=E
Array(5)=F
Array(6)=G
....
Nachher...(Meldung Z kommt hinzu)
Array(0)=Z
Array(1)=A
Array(2)=B
Array(3)=C
Array(4)=D
Array(5)=E
Array(6)=F
....
Bei jeder registrierten Meldung Array(0) Abfragen
Ich hab es nicht probiert, daher kann es auch anders herum sein, also
Beispiel_2: Neuste Fehlermeldung wird immer hinten angehangen max. Array(19)
Hat einen kleinen Umweg, weil wir immer vorab die Nummer des letzten beschriebene Feld im Array abfragen müssen.
Denn die Felder sind, bis die ersten 20 Meldungen geschrieben sind, teilweise leer und es könnte anfangs auch so aussehen...
Array(0)=A
Array(1)=B
Array(2)=C
Array(3)=
Array(4)=
...
Array(19)=
Wie das geht ist aber im Beispiel der API gut beschrieben...
https://help.solidworks.com/2021/English/api/sldworksapi/Get_Messages_Example_VB.htm
Wenn irgendwann alle Felder gefüllt sind, wird für "count" auch immer 20 zurückgegeben und man landet mit "count-1" immer auf dem letzten beschriebenen Feld des Arrays.
Die nachfolgende Verschiebung der Werte wäre ab dem Punkt invertiert zum vorherigen Beispiel.
Vorher
...
Array(13)=A
Array(14)=B
Array(15)=C
Array(16)=D
Array(17)=E
Array(18)=F
Array(19)=G
Nachher... (Meldung Z kommt hinzu)
...
Array(13)=B
Array(14)=C
Array(15)=D
Array(16)=E
Array(17)=F
Array(18)=G
Array(19)=Z
Ich hoffe ich konnte einigermaßen gut erklären worauf ich hinaus wollte...
Ansonsten einfach mal testen wie sich die Funktion verhält.
Beste Grüße
Kevin
------------------
HOMEPAGE | SWXTools.de - SWXHelper für SOLIDWORKS
KONTAKT | support@swxtools.de
FACEBOOK | facebook.com/SWXHelper
TWITTER | twitter.com/SWXTools
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP