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 

Buffer reservieren + Pointer auslesen



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!

05.09.2008, 15:35
Beitrag #8

Peter Knauer
Unregistered


 







Buffer reservieren + Pointer auslesen
' schrieb:Du übergibst in deiner Schleife bei der zweiten Iteration genau den gleichen Speicher wie beim ersten mal.
Ja, genau das habe ich ja geahnt, deswegen wollte ich gern mal gucken, was für eine Adresse da übergeben wird.
Wenn das stimmt, dann aber warum? Ich initialisiere doch in jedem Durchlauf ein neues Array!?

' schrieb:Um das zu vermeiden ruft das IDS in dem Beispiel mit dem Ringpuffer vermutlich das VI zum Speicherallokieren auch drei mal separat auf, anstatt es in einer Schleife zu machen. Setze doch mal zwischen "Array initialisieren" und "is_SetAllocatedImageMem()" die Funktion "Immer kopieren" (in der Palette Applikationssteuerung, Speicherverwendung).
Werde ich am Montag einmal probieren.
' schrieb:Wenn das nicht funktioniert (was ich mir gut vorstellen kann), dann setze "Array initialisieren" außerhalb der Schleife und mache ein zweidimensionales Array daraus.
Das hatte ich auch schon probiert. Du meinst, dann das Array mittels "Index-Eingang" (habe jetzt nicht mehr im Kopf, wie das bei LabVIEW genau heißt) übergeben?

' schrieb:Das nächste Problem wird sein, dass die DLL auch nach dem Ende von "is_SetImageMem()" noch auf die Speicherbereiche zugreift. Für LabVIEW wird ein Speicherbereich nicht mehr benötigt, wenn die Leitung endet.
Wäre mir auch klar. Allerdings funktioniert dieses Vorgehen prinzipiell und wurde von IDS in allen möglichen Beispielen und auch von mir schon erfolgreich so umgesetzt.


Heute gab es einen kleinen Durchbruch: Es ist mir gelungen, die dll-interne Speicherallokation erfolgreich durchzuführen. Und erwartungsgemäß funktioniert DIE auch innerhalb einer Schleife. Ich konnte heute erstmal Speicher für 90 Frames allokieren und erfolgreich der DLL in den Ringpuffer hängen. Auch die Videoaufzeichnung in diesen Ringpuffer scheint zu funktionieren. Das war aber auch vorher schon der Fall (wenn es mir denn gelang, ihn "von Hand" zu allokieren.)

Am Montag wird probiert, ob ich die Frames auch auslesen kann.
Dann wäre es möglich, erstmal unsere Kameramessung in den Hauptspeicher zu jubeln (Der müsste dafür reichen, ohne daß etwas in die Auslagerungsdatei geschrieben wird), und nach der Aufnahme in Ruhe ein A VI draus zu machen (was bisher auch immer ein Geschwindigkeitsnadelöhr war).

Sollte meine Lödung sich als wirklich funktionierend herausstellen, werde ich sie natürlich posten.

Viele Grüße!
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Nachrichten in diesem Thema
Buffer reservieren + Pointer auslesen - Peter Knauer - 04.09.2008, 16:19
Buffer reservieren + Pointer auslesen - Peter Knauer - 05.09.2008, 00:05
Buffer reservieren + Pointer auslesen - Peter Knauer - 05.09.2008 15:35
Buffer reservieren + Pointer auslesen - Peter Knauer - 05.09.2008, 23:31
Buffer reservieren + Pointer auslesen - Peter Knauer - 09.09.2008, 10:50

Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Datenübergabe an DLL Pointer to Pointer Reiling 2 9.566 02.02.2018 10:59
Letzter Beitrag: Reiling
  Absturz durch unzulässige Pointer VS_03 3 10.274 28.10.2016 18:32
Letzter Beitrag: VS_03
  dll mit Pointer auf komplexe Struktur einbinden Wedgewood 11 16.988 27.04.2014 23:44
Letzter Beitrag: Wedgewood
  Pointer auf Array mit Labview übertragen und darstellen lupus022 35 32.400 19.07.2013 10:53
Letzter Beitrag: lupus022
  Pointer und MoveBlock OXO 4 8.191 03.06.2013 16:31
Letzter Beitrag: OXO
  Pointer auf Subarray übergeben Event Horizon 5 7.382 15.07.2012 10:21
Letzter Beitrag: rolfk

Gehe zu: