Hallo,
wenn ich mein Macro laufen lasse (über Button mit Befehl: MacroFkt ) und diesen dann wieder beende, ist der Prozess nicht ganz weg. Ich sehe diesen noch unter "Werkzeuge->Status Display" und muss diesen manuall killen.
Das Problem hierbei ist, dass mein PCAN Explorer bzw weitere Skript-Starts nicht funktionieren weil schon zu viele Makros laufen.
Kann ich die Makros beim Stopen auch gleich killen? Durch einen Button oder ein Kommando im Skript evtl?
MfG
Andi
Macro Prozess muss manuell gekillt werden
- PEAK-Support
- Sales & Support
- Posts: 1646
- Joined: Fri 10. Sep 2010, 19:34
Re: Macro Prozess muss manuell gekillt werden
Normalerweise wird das Macro durch den STOP Button sauber beendet. Senden Sie uns doch bitte die Seriennummer Ihrer PCAN-Explorer Version sowie, wenn möglich, das Macro. support@peak-system.com - wir schauen dann drüber und melden uns umgehend bei Ihnen.
--------------------------------
PEAK-System Technik
Technical Support Team
support[at]peak-system.com
-------------------------------
PEAK-System Technik
Technical Support Team
support[at]peak-system.com
-------------------------------
Re: Macro Prozess muss manuell gekillt werden
Hallo,
Problem gelöst.
MyClient muss lokal angelegt werden. Wenn Global wird dieser nicht sauber getrennt und das Makrofile ist noch aktiv.
Muss dann auch mit "Sub SetCellMsg(MyClient) " an andere Funktionen übergeben werden.
Vielen Dank Hr. Wilhelm
Mfg
Problem gelöst.
MyClient muss lokal angelegt werden. Wenn Global wird dieser nicht sauber getrennt und das Makrofile ist noch aktiv.
Muss dann auch mit "Sub SetCellMsg(MyClient) " an andere Funktionen übergeben werden.
Vielen Dank Hr. Wilhelm
Mfg
- PEAK-Support
- Sales & Support
- Posts: 1646
- Joined: Fri 10. Sep 2010, 19:34
Re: Macro Prozess muss manuell gekillt werden
Genau so ist es. Wenn Objekte nicht innerhalb von Subs erzeugt werden, dann werden diese nicht wieder freigegeben. Also bitte das Erzeugen von Objekten wie z.B.: bitte immer innerhalb einer Sub machen. Wenn man dann in anderen Funktionen das Client Objekt benötigt, kann man es ja als Parameter übergeben:
Damit ist sichergestellt, dass nach dem Beenden des Macros das Object von der internen VBS Engine freigegeben wird. Wenn man hingegen im globalen Teil das setzt, so wird das Objekt NICHT wieder freigegeben...und nach dem X-ten Aufruf geht nichts mehr (Ressourcenmangel - in diesem Fall können nur max. 32 Clients an einen Treiber angemeldet werden)
Code: Select all
Dim MyClient
Set MyClient = CreateObject("PCAN3.PCANClient")
Code: Select all
Call MyOwnFunction(MyClient)
Code: Select all
Dim MyClient
--------------------------------
PEAK-System Technik
Technical Support Team
support[at]peak-system.com
-------------------------------
PEAK-System Technik
Technical Support Team
support[at]peak-system.com
-------------------------------