INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

ActiveX und Speicherüberlauf



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

20.04.2012, 14:58
Beitrag #1

steptronic Offline
LVF-Neueinsteiger


Beiträge: 6
Registriert seit: Mar 2011

2013 / 2012 / 2011 / 2010/
2011
DE

0
Deutschland
ActiveX und Speicherüberlauf
Hallo,

für eine optische Inspektion mit dem Halcon-Systems nutze ich die ActiveX-Schnittstelle.
Das funktioniert auch soweit, jedoch wird mit jeder Ausführung der Arbeitsspeicher immer voller, bis irgendwann der Fehler "Nicht genügend Speicher zum Abschließen der Operation." kommt. Die Anzahl der Handles bleibt aber gleich. In meinem VI werden nur zwei Referenzen geöffnet und auch wieder geschlossen.

Ich hab zuvor noch nie mit ActiveX-Objekten gearbeitet und kenn mich da auch nicht so gut aus.
Das Inspektionsprogramm an sich habe ich in der Halcon-Umgebung getestet und da läuft es einwandfrei.
Ich weiß nicht, woher der Speicherüberlauf kommen soll.
Wäre super wenn mir jemand einen Tipp geben könnte.


10.0 .vi  HALCON_2.vi (Größe: 18,87 KB / Downloads: 266)


LV2010 SP1
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
22.04.2012, 08:50
Beitrag #2

rolfk Offline
LVF-Guru
*****


Beiträge: 2.302
Registriert seit: Jun 2007

alle seit 6.0
1992
EN

2901GG
Niederlande
RE: ActiveX und Speicherüberlauf
(20.04.2012 14:58 )steptronic schrieb:  Hallo,

für eine optische Inspektion mit dem Halcon-Systems nutze ich die ActiveX-Schnittstelle.
Das funktioniert auch soweit, jedoch wird mit jeder Ausführung der Arbeitsspeicher immer voller, bis irgendwann der Fehler "Nicht genügend Speicher zum Abschließen der Operation." kommt. Die Anzahl der Handles bleibt aber gleich. In meinem VI werden nur zwei Referenzen geöffnet und auch wieder geschlossen.

Ich hab zuvor noch nie mit ActiveX-Objekten gearbeitet und kenn mich da auch nicht so gut aus.
Das Inspektionsprogramm an sich habe ich in der Halcon-Umgebung getestet und da läuft es einwandfrei.
Ich weiß nicht, woher der Speicherüberlauf kommen soll.
Wäre super wenn mir jemand einen Tipp geben könnte.



LV2010 SP1

Nun am VI selber kann ich auf die Schnelle keinen Fehler entdecken. Das lässt eigentlich nur zwei Schlussfolgerungen zu. Entweder hat LabVIEW Probleme mit der TypeLibrary dieser Komponente und verheddert sich irgendwo mit Resourcenmanagement dafür, oder und das ist aus meiner Erfahrung viel wahrscheinlicher, die ActiveX Komponente vergisst selber um intern geöffnete Resourcen auch wieder zu schliessen wenn sie selber abgeschlossen wird.

Rolf Kalbermatter
Technische Universität Delft, Dienst Elektronik und Mechanik
https://blog.kalbermatter.nl
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
23.04.2012, 06:27
Beitrag #3

steptronic Offline
LVF-Neueinsteiger


Beiträge: 6
Registriert seit: Mar 2011

2013 / 2012 / 2011 / 2010/
2011
DE

0
Deutschland
RE: ActiveX und Speicherüberlauf
(22.04.2012 08:50 )rolfk schrieb:  Nun am VI selber kann ich auf die Schnelle keinen Fehler entdecken. Das lässt eigentlich nur zwei Schlussfolgerungen zu. Entweder hat LabVIEW Probleme mit der TypeLibrary dieser Komponente und verheddert sich irgendwo mit Resourcenmanagement dafür, oder und das ist aus meiner Erfahrung viel wahrscheinlicher, die ActiveX Komponente vergisst selber um intern geöffnete Resourcen auch wieder zu schliessen wenn sie selber abgeschlossen wird.

Was heißt das dann für mich? Kann ich da irgendwas tun, dass Resourcen wieder geschlossen werden oder bin ich hilflos der ActiveX-Komponente ausgeliefert?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
23.04.2012, 07:44
Beitrag #4

rolfk Offline
LVF-Guru
*****


Beiträge: 2.302
Registriert seit: Jun 2007

alle seit 6.0
1992
EN

2901GG
Niederlande
RE: ActiveX und Speicherüberlauf
(23.04.2012 06:27 )steptronic schrieb:  
(22.04.2012 08:50 )rolfk schrieb:  Nun am VI selber kann ich auf die Schnelle keinen Fehler entdecken. Das lässt eigentlich nur zwei Schlussfolgerungen zu. Entweder hat LabVIEW Probleme mit der TypeLibrary dieser Komponente und verheddert sich irgendwo mit Resourcenmanagement dafür, oder und das ist aus meiner Erfahrung viel wahrscheinlicher, die ActiveX Komponente vergisst selber um intern geöffnete Resourcen auch wieder zu schliessen wenn sie selber abgeschlossen wird.

Was heißt das dann für mich? Kann ich da irgendwas tun, dass Resourcen wieder geschlossen werden oder bin ich hilflos der ActiveX-Komponente ausgeliefert?

Bei solchen Dingen bist Du hilflos dem Entwickler dieser Komponente ausgeliefert. Es könnte sicher hilfreich sein um mit diesem Entwickler Kontakt aufzunehmen. Vielleicht ist das Problem ja bekannt und hat man schon eine neue Version. Möglicherweise wird auch jegliche Verantwortung abgeschoben, mit der Begründung dass die Komponente schon Jahre ohne irgendwelche Reklamationen eingesetzt wird. Meist würde das aber bedeuten, dass sie eben von niemanden zum Laufen gebracht wurde und sich nur niemand davon an den Hersteller gewendet hat.

Eine gute Idee ist es in jedem Fall um um ein Beispiel in einer anderen Sprache zu fragen. Etwa Visual Basic oder C(++). Das sollte dann natürlich schon dasselbe tun was Du in LabVIEW zu tun versuchst und natürlich auch mehr als einmal bevor es beendet wird. Quick Run-once Beispiele sind nicht geeignet um zu beweisen dass eine Komponente keine Memoryleaks hat.

Rolf Kalbermatter
Technische Universität Delft, Dienst Elektronik und Mechanik
https://blog.kalbermatter.nl
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Speicherüberlauf Marquardt 5 5.318 18.08.2010 11:02
Letzter Beitrag: Marquardt
  ActiveX (LabVIEW als ActiveX Server) Neuling 1 9.547 25.01.2006 11:25
Letzter Beitrag: Neuling

Gehe zu: