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 

Speicher wird erst geleert nach schließen des Programms



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!

08.07.2013, 08:56
Beitrag #11

raverel Offline
LVF-Grünschnabel
*


Beiträge: 29
Registriert seit: Apr 2013

12
2012
EN



RE: Speicher wird erst geleert nach schließen des Programms
So,
ich habe nun mal folgendes gemacht.
http://digital.ni.com/public.nsf/allkb/7...9100758BE5
Nur wenn ich meinem CLF-Node einen leeren Pfad übergebe, stehen immernoch wie gewohnt
die Daten des "nicht" angeschlossenen Slaves in meinem Cluster, obwohl ich doch grundsätzlich die .dll
nicht öffne. Oder versteh ich da irgendwas falsch?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
08.07.2013, 21:59
Beitrag #12

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
RE: Speicher wird erst geleert nach schließen des Programms
Was gibt dir eigentlich der Rückgabewert "CIFX_NO_ERROR" aus, wenn du keinen Teilnehmer im Netzwerk hast? Vielleicht einen Error, der darauf hinweist, dass du GetPacket gar nicht mehr durchführen sollst/darfst?

Gruß, Jens

Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)

!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!

Einführende Links zu LabVIEW, s. GerdWs Signatur.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
09.07.2013, 07:38
Beitrag #13

raverel Offline
LVF-Grünschnabel
*


Beiträge: 29
Registriert seit: Apr 2013

12
2012
EN



RE: Speicher wird erst geleert nach schließen des Programms
Da bekomme ich die Meldung "No Error" zurück. Mir ist noch etwas aufgefallen. Ziehe ich das EtherNet Kabel, warte dann ca. 10 Minuten und führe dann den Suchlauf durch, wird mir die Anzahl der Slaves als null angezeigt.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
09.07.2013, 07:41
Beitrag #14

GerdW Offline
______________
LVF-Team

Beiträge: 17.469
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Speicher wird erst geleert nach schließen des Programms
Hallo raverel,

Zitat:Ziehe ich das EtherNet Kabel, warte dann ca. 10 Minuten und führe dann den Suchlauf durch, wird mir die Anzahl der Slaves als null angezeigt.
Das hört sich nach einem TimeOut-Verhalten an...

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
09.07.2013, 08:06
Beitrag #15

raverel Offline
LVF-Grünschnabel
*


Beiträge: 29
Registriert seit: Apr 2013

12
2012
EN



RE: Speicher wird erst geleert nach schließen des Programms
Hm wohl wahr....aber wenn ich mir das mal überlege, kann es doch an der .dll nicht liegen oder? Weil wie ich schon beschrieben habe, einen leeren Pfad an meine .dll übergebe und dann den Suchlauf starte, sollte mir doch eigenltlich keine Werte mehr ins Cluster geschrieben werden. Das Cluster initialisiere ich anfangs immer auf den default Wert mit nullen.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
09.07.2013, 09:10 (Dieser Beitrag wurde zuletzt bearbeitet: 09.07.2013 09:10 von rolfk.)
Beitrag #16

rolfk Offline
LVF-Guru
*****


Beiträge: 2.305
Registriert seit: Jun 2007

alle seit 6.0
1992
EN

2901GG
Niederlande
RE: Speicher wird erst geleert nach schließen des Programms
(08.07.2013 08:56 )raverel schrieb:  So,
ich habe nun mal folgendes gemacht.
http://digital.ni.com/public.nsf/allkb/7...9100758BE5
Nur wenn ich meinem CLF-Node einen leeren Pfad übergebe, stehen immernoch wie gewohnt
die Daten des "nicht" angeschlossenen Slaves in meinem Cluster, obwohl ich doch grundsätzlich die .dll
nicht öffne. Oder versteh ich da irgendwas falsch?

Solange in Deinem Programm IRGENDEINE CLN ist die Deine DLL noch im Speicher behält, bleibt die ganz einfach im Speicher! Da hilft ein leerer Pfad an einer einzigen CLN gar nichts.

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
Anzeige
09.07.2013, 11:21
Beitrag #17

macmarvin Offline
CLA
***


Beiträge: 445
Registriert seit: Sep 2006

2014
2004
EN

81373
Deutschland
RE: Speicher wird erst geleert nach schließen des Programms
Mit dem Process Explorer kannst du per View->Lower Pane View->DLLs (Ctrl+D) schauen, ob eine DLL geladen ist oder nicht.
D.h. damit kannst du den Geladen/Entladen Zustand mit verfolgen.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
10.07.2013, 16:29 (Dieser Beitrag wurde zuletzt bearbeitet: 10.07.2013 16:35 von raverel.)
Beitrag #18

raverel Offline
LVF-Grünschnabel
*


Beiträge: 29
Registriert seit: Apr 2013

12
2012
EN



RE: Speicher wird erst geleert nach schließen des Programms
Bedeutet das jetzt, dass ich an allen Stellen wo ich die .dll aufrufe einen leeren Pfad anhängen muss?
Ich habe nämlich im Moment keine Ahnung mehr was ich machen soll.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
10.07.2013, 19:33 (Dieser Beitrag wurde zuletzt bearbeitet: 10.07.2013 19:34 von rolfk.)
Beitrag #19

rolfk Offline
LVF-Guru
*****


Beiträge: 2.305
Registriert seit: Jun 2007

alle seit 6.0
1992
EN

2901GG
Niederlande
RE: Speicher wird erst geleert nach schließen des Programms
(10.07.2013 16:29 )raverel schrieb:  Bedeutet das jetzt, dass ich an allen Stellen wo ich die .dll aufrufe einen leeren Pfad anhängen muss?
Ich habe nämlich im Moment keine Ahnung mehr was ich machen soll.

Wenn Du die DLL effektive aus dem Speicher werfen willst, Ja! Solange eine CLN (oder ein Aufruf vom Windows API LoadLibrary()) eine DLL im Speicher hält bleibt die ganz einfach dort. Da kannst Du einer einzelnen CLN 100 mal einen leeren Pfad geben, das ändert nichts. Und nein versuche nicht durch mehrmaligen Aufruf von FreeLibrary() die DLL doch noch aus dem Speicher zu werfen. Die CLN die eine DLL geladen hat geht davon aus dass das so bleibt bis Du einen leeren Pfad an die CLN gibst. Wenn Du die DLL dann hinter dem Rücken der CLN aus dem Specicher wirfst wird es garantiert knallen beim nächsten Aufruf einer solchen CLN da sie einfach davon ausgeht dass die DLL noch genau so im Speicher ist als zuvor, und bei inzwischen ausgeladener DLL ganz einfach ins Leere läuft.

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
30
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Ftd2xx.dll - Treiber wird erst nach Geräteanschluss gefunden 83DM 3 13.657 08.08.2016 10:27
Letzter Beitrag: rolfk
  Fehler beim Schließen des VIs nach Delphi-DLL-Aufruf Bärbel 10 14.292 11.11.2013 11:44
Letzter Beitrag: andreaskoller

Gehe zu: